Hacker Newsnew | past | comments | ask | show | jobs | submit | viktorelofsson's commentslogin

Not really true - v0.20 of PicoTorrent [1] was released with BitTorrent v2 support on the same day as libtorrent released support for v2 torrents. I think this predates BiglyBT 2.5 with v2 [2] support with about two weeks.

[1] https://github.com/picotorrent/picotorrent/releases/tag/v0.2...

[2] https://biglybt.tumblr.com/post/629947579144290304/2500-rele...


BitTorrent v2 has been officially supported in PicoTorrent since the same date as the featured blog post from libtorrent :)


I just love PicoTorrent! It's exactly what I want from a Torrent client. Thanks!


Of course I can :) Thanks for pointing it out!


Hello HN!

Today we officially launch our first SaaS - Shellhook, a service to turn any shell command into a HTTP API.

We've been working on it on late nights and weekends for almost a year, with some breaks here and there. It's built on top of .NET for (almost) all hosted services while the CLI is written in Go. The backend services consists of a little bit of Postgres and a little bit of RabbitMQ.

How it works (basic edition): - the CLI connects to a WebSocket with a unique user token and waits. - the incoming API takes the request, matches it to one or more connected CLI clients, and distributes the input to their WebSocket connections. - each CLI client takes the input and executes whatever command the user specified when starting while having the HTTP POST body in the standard input, and then returns the output back on the WebSocket. - the WebSocket service then makes sure the incoming API request gets the CLI output from all clients as a structured JSON response.

It's a little bit more involved due to supporting load balancing etc, but I'm happy to answer any questions either about using Shellhook or how it's built!

Also, even though it's free to try - if you do choose to subscribe, feel free to use coupon code HN50 to get 50% off forever.


If you want to try a client with v2 (and v1+v2 hybrid) support, I've just released PicoTorrent v0.20 [0] based on Rasterbar-libtorrent 2.0 :)

[0] https://github.com/picotorrent/picotorrent/releases/tag/v0.2...


Nice. If anyone is wondering if they should try this, picotorrent is probably the most lightweight GUI torrent client for windows (no linux/mac version).


What are you using for the GUI layer, and what's your stance on accessibility? The fact it's Windows only gives me hope.


I'm using wxWidgets, so it's the Win32 API at the lowest layer. For accessibility I want to make it support the NVDA screen reader which I think would make it support other readers as well :)


wxWidgets is a decent choice. Not all of its controls are accessible though. Most infamously, the wxHTML control (wx's own HTML engine) isn't accessible, but the web view control (using the OS's web browsing engine) is accessible if you futz around at the native layer to force the keyboard focus into the right place. Also, on Windows, the list view control is accessible but the data view control is not. Frustratingly, the opposite is the case on Mac and (I think) GTK.

I suggest you test with Narrator rather than NVDA. Disclosure: I work on the Narrator team at Microsoft. But that's not why I say this. The reason is that NVDA and JAWS have some ugly hacks that they can use to make some GUI implementations (particularly using Win32 with GDI for graphics) accessible even if they're not accessible by design. For details, do some searching on the term "off-screen model". Narrator doesn't have this, so if your product works with Narrator, you know it's really accessible.


That's really valuable, thank you!


Thank You. Will definitely check it out given uTorrent on Windows does't get much update anymore.

I want to ask, were Rasterbar-Libtorrent and Libtorrent always the same thing? I thought they were different implementation? Did they merge or did memory serve me wrong.

I couldn't Google anything useful so I just ask. In the era of streaming It has been far too long since I look at anything BT.


There are two libraries called libtorrent - Rasterbar-libtorrent (the one in this discussion, made by arvidn) and rakshasa-libtorrent (made by rakshasa).


Arh... that is why I keep getting confused with the naming. Thank You.


(Author here) I haven't listed the specific features from Rasterbar-libtorrent but I'll make sure to do that in an upcoming update, to make it clearer. It supports DHT, PeX and LSD as well as various proxies (SOCKS4, SOCKS5, HTTP).

The first few versions actually had the vanilla Rasterbar-libtorrent peer ID and user agent, and in v0.5 users could opt-in to use PicoTorrent peer ID and user agent, and a few versions after that I made that the default.

I've been in contact with as many private trackers I could find and it's an ongoing effort to discuss with them what they require for whitelisting.


Author here - the readme is a bit outdated, sorry about that :) wxWidgets is a hard dependency since a few versions back.


Hi! Author here. The name has been with us since the beginning, and the first few versions were actually quite small. Since then, features and other things have made things grow (mostly in file size). Since I'm a lone developer, the hardships of working with the Win32 API has made me base PicoTorrent on wxWidgets, which is why the file size is what it is.

I still try to keep it slim, fast and clean in overall usage :)


If you can elaborate on the nature of hardships, I can try and help working around them, without resorting to wxWidgets.


Sure! Two examples where the Win32 API and/or my knowledge of it falls short,

  * Layout management. There's no "easy" way of managing dialog layouts (letting controls expand/shrink on resize etc).
  * Custom controls (e.g a tree-list-view) are clunky to write.
I'd much rather write PicoTorrent on top of the pure Win32 APIs, which I did in the beginning. It then evolved and when I valued time against frameworks, frameworks won, and saved me time :)

You can hit me up at the email in my profile if you want to discuss further!


Yeah, that's peanuts to be honest.

We wrote a layout manager and it's under 400 lines with very liberal vertical spacing. There's really not much to it - just hook the container window and reshuffle the contents in response to WM_SIZING, WM_SIZE. Handle WM_GETMINMAXINFO too if needed.

Custom controls aren't that much harder, but they do require some work indeed. TreeView and ListView are _really_ well designed in terms of customization support. The documentation is a bit heavy, granted, but once you get a gist of NMCUSTOMDRAW phases it's all pretty trivial from there.


Thanks for the information! It's given me a positive outlook on a second trial for the Win32 API stuff :)


No worries - would have done the same. Just found the naming a bit ironic :)


Hi HN! I've been working with ElasticSearch the last few days and got tired of elasticdump being slow when dumping data to disk, so I wrote Blaze.

It dumps indexes to disk fast. It dumps them in a format compatible with the ElasticSearch Bulk API so it's easy to put the data back as well.

Please try it out and let me know what you think!


Hi HN! Author here. I've been working on this BitTorrent client for a while now and would like some feedback!

It's a Node.js based BitTorrent client aimed at technical users looking for a powerful server (or seedbox) setup.

It uses native Rasterbar-libtorrent bindings and I'm providing pre-built binaries in the NPM package for linux-x64 and linux-arm (for Raspberry Pi setups). Installing on Windows or OSX is currently unsupported, but is in the works. Sorry for this.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: