Picotorrent: a tiny, hackable BitTorrent client
github.com
github.com
uTorrent for Windows: 2.84 MB https://www.utorrent.com/downloads/win
picotorrent.exe: 3.98 MB https://github.com/picotorrent/picotorrent/releases
picotorrent also seems to come with a language pack while you download uTorrent's separately at 1.3 MB. Not that I think it matters.
Also, don't forget to include any ads or malware that might download with your next version of uTorrent: https://en.wikipedia.org/wiki/%CE%9CTorrent#Ads_and_malware
But it must be noted that Transmission doesn't support animated emojis.
I've found it to be best, not tried transmission on Android tho.
I still try to keep it slim, fast and clean in overall usage :)
* 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!
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.
The UI appears to be based on wxWidgets, so that would be another dependency.
However, the JS implementation leaves much to be desired. It's a huge resource hog compared to native libraries like libtorrent and torrents often freeze for no apparent reason on faster connections. Development seems to have also stalled quite a bit in recent times.
At this point I'd be more confident betting on something like IPFS in the long term.
From what I understand it uses torrents to serve videos, where each viewer help seed the content for other viewers. There are limitations but it seems progress is being made.
- nice variety of clients/platforms
- webui isn't completely terrible
- works well in daemon mode
- haven't encountered perf issues seeding 2k+ torrents/~5TB data
- supports modern features (DHT, PEX, magnets)Which libtorrent just had its 1.2 released that has lots of changes.
Is there any client able to perform scripts to interact with the client API and downloaded files?
It's worse than Transmission because it has no mention of any good modern-ish features such as DHT, PEX, LSD(LPD) and it lacks both Linux, OSX and BSD support. Oh and it's banned (not-whitelisted) from all the private trackers.
It’s very simple and that makes it effective enough for me. All I’ve got is some arch iso files. A fedora and a CentOS file. It starts instantly and connects to 800 DHT nodes, as opposed to Qbittorrent 2-3 seconds and 350 nodes.
I don’t know about private trackers. I don’t have anything I want to pirate.
I don’t see cross platform as a plus for mini sized, simple graphical applications. I see it as an advanced curl.
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.
Yes, why not? BT have many legitimate use-case.
Then again, back then pretty much all browsers used to have an RSS reader as well.