[TORRENTs] Command Line Torrenting: 6 CLI tools compare [OPENSOURCE]

in #utopian-io6 years ago (edited)

Today I'm publishing my analytics on cli (command line interface) torrent clients that are freely available as opensource software.

CLI-Torrents

Why?

  • Command line tools are mostly faster, works better, and they ain't waste your drive space
  • CLI tools don't have any gui packages so they can be used on a real (headless) server
  • Some of us are quite command line addicted
  • CLI tools can be easily used as a part of your project (my main reason)
  • So small, that can even fit raspberry pi zero, orange pi or even smaller hardware
  • Set up your own experience: automated cinema, advertisement kiosk, whatever
  • Fast, easy installation & uninstallation

Disadvantages

  • Harder for noobs and guys who are 146% GUI-addict hence they require usage of CLI
  • No more serious disadvantages!

There are several CLI torrents out there. I found 6 recent and "working out of the box" ones. Here they are:

Compare list

  • rTorrent
  • Aria2
  • Transmission-cli
  • ctorrent
  • T-get (node.js based)
  • webtorrent (node.js based)

Uncompared

  • Deluge - removed because of dependencies, size & daemon needed
  • Peerflix - removed because it’s mostly for media (video torrent streaming)
  • Azureus - requires java and additional packages
  • Bittornado - last updated in 2006

Test load

I've wanted to test these clients up to their maximum, so I choosed popular torrent - ubuntu live server, which is really popular and comfortable size to test downloading again and again. I'm downloading the torrent from local mirror (yandex mirror is large search engine in Russia which also hosts Linux images, has good connection in most cities on near-to-LAN speeds etc.) based on same reasons shown above.

https://mirror.yandex.ru/ubuntu-releases/18.04/ubuntu-18.04-live-server-amd64.iso.torrent
FilenameFilesizeMD5SUM
ubuntu-18.04-live-server-amd64.iso806 (845)e35f45caf1d26ed5b1217d67f6ee86e8

Webtorrent thinks that 1 megabyte contains 1000 bytes, so it counts file size a little bit wrongly as 845 mb. Testing methodology was easy: I runned the torrent with "time" prefix. Time - is small special Linux program, which prints time of process was active after it dies. The only problem with torrents was that most of the programs (all except node.js ones) are not exiting upon finishing download of a torrent. But this problem is easily solved with pressing Ctrl+C (stop procedure) or Ctrl+Q (stop for rTorrent) right after torrent was downloaded. I did NOT counted time taken by torrent software to check the file, but I did checked that MD5SUM is corrent. In all cases, MD5SUM was correct. The automatic check of 806 mb file took just few seconds more, and this time is comparable (about 5 seconds) in all CLI torrent programs tested - I think it's mostly hardware-related (hdd/ssd speed).

Basic info on the software

I'm not going to make a section about each torrent client, because they are quite similar. Their differences are:

  • Support of colors and not-so-important interface differences
  • Option of showing charts
  • Interactive vs. download-only mode (do they continue seeding). By default, all CLI torrents continues to seed for some time, while all node.js based torrent clients exits after finishing automatically. Usually you can change this behavior with a flag.
  • Node.js clients should be considered more like something to include in your (software) project (especially if it's node.js based!), while main CLI torrents are more similar to daily-usage manually-runned ones.

What I am going to compare, is torrent (software) size, download time and speed. These might probably be the most important metrics in case you're developing your project.

I've done three measurings of time-speed, and made an AVERAGE to ensure the differences in speed are time/provoder/system unrelated. The resulting image is presented below. Click on it to open google spreadsheet!

Results



CLI Torrent compare

nSoftwareSpeed
1rTorrent9.57 mb/s
2webtorrent (node.js)9.49 mb/s
3ctorrent8.96 mb/s
4Aria28.48 mb/s
5T-get (node.js)5.15 mb/s
6Transmission-cli5.06 mb/s

Final thoughts

As for places, number 1 and 2 are definetly the speed leaders, while place 3 and 4 are just 5~10% slower. This slowness can vary from place to place so I couldn't say it's good idea not to pick up place #3 or #4 if you like them. While tget and transmission, got their last two places probably because of their wierd way of doing things: transmission tooks some time to start downloading, while tget "finishes downloading of small pieces" after downloading for ABOUT THE SAME TIME OF DOWNLOADING, hence, twicing the time results O_O. So I'd stay stick with any option from 1 to 4.

Great thing about rTorrent is that it's one of the most popular CLI torrents, that's why it's really fresh, fast & well supported. Webtorrent, on the other way, shows really pretty colored interface with charts and all this stuff, but acts little bit slower and has wierd megabytes counter. cTorrent is written in C, which makes the code work as fast as possible, but it seems that the logic of the software is not so great like in webtorrent or rTorrent. Aria2c is great universal download manager, small in side and fast enough, so it might worth trying it as well.

Bonus

  • My favourite torrent search is Tparser
  • My favourite GUI torrent software is qBittorrent
  • There is CLI torrent search program which name is Torrench
  • Fresh linux distros are always available from LinuxTracker

Feedback

If you know other CLI or NJS soft, or any other tool that is good to compare in this article, please write about it in comments. I'll be glad to hear your experience on CLI or even GUI opensource torrenting :)

Yours, truly
@sxiii aka Den Ivanov

Sort:  

Note: 1 mb according to SI actually does contain 1000 kilobytes, and there's actually another measure, called "mebibyte" (info here), but what I am actually telling in my article, is that megabyte is the most widely used and counted as 1024 in most of the time (just look at other clients). So in reality the only "right" program is webtorrent, but this error is something like widely accepted and ignored by every IT company and coder. So in most of the time you'd say it's not an error. Something similar in publically accepted error happened with electricity: "+" and "-" pole, while earlier people thought that electrons travel from "+" to "-", but later on reality did show that they wrongly choosen the naming. It was decided not to change anything just for comfort of the scientists and people. Something similar happened to "megabytes" being in reality 1000, but used as 1024.

Hello @sxiii, you have submitted this post with the tags #utopian-io and #analysis, which made it pop up in the Utopian review feed. I see @crokkon has commented the same thing on your Moving to Norway post.

Right now, we're only considering analysis contributions which are along the line of data analytics.

Furthermore, I also read your comment in the post mentioned above:

Maybe I had to make some open source software that grabs statistics and generates charts etc. In this case it would be useful, interesting and more "utopianish". I'll think about it

Do you develop or contribute to open-source projects? Then I suggest using the #utopian-io and #development tags. More details can be found here.


Need help? Write a ticket on https://support.utopian.io/.
Chat with us on Discord.
[utopian-moderator]

Coin Marketplace

STEEM 0.20
TRX 0.15
JST 0.029
BTC 63396.80
ETH 2615.51
USDT 1.00
SBD 2.86