NSLU2-Linux
view · edit · print · history

These notes are for the installation and use of the rtorrent client on a standalone NSLU2 Unslung 6-10-beta within a windows network environment accessed via shell. The reasons being that rtorrent is a stable light-weight client that is still maintained regularly, offers good torrent control, suitable automated features and is not banned from (any/some?) private trackers - perfect for a low power device kept running for long periods of time. (also applicable to the 6.8-beta unslung)

N.B. At this stage of development, the following configuration of rtorrent will not function on an unslung NSLU2 exactly as the software was designed to, therefore some allowances need to be taken into consideration. The problems are mainly to do with the torrent file size, transfer size and ratio that all get reported as zero at the command line. The work around for this is to use a python script that parses this information held in a regularly updated torrent session file into a webpage.

Assuming a fresh install on an unslung NSLU2 the following extra optware packages are to be installed -

rtorrent 0.8 , libtorrent 0.12 , screen , python , nano , openssh

The rtorrent/libtorrent versions are (and need to be) the latest ones, at time of writing, available in the optware lists and at the maintainers page. Rtorrent (the client) uses libtorrent (the library), the versions are co-dependant, and for the sake of clarity I will just refer to rtorrent throughout.

Screen is used to be able to start a terminal session, run rtorrent, log out and then log back in at a later time - use google to get a better description of it.

Python is used to enable a statistics script (rtorstat) to run that is used to provide information via a webpage about the state of the client that isn't available at the command line (as mentioned above).

Nano is just a text editor that I like, others will use different/better apps, the main thing is to be sure you have a text editor to change some of the config files.

OpenSSH? is used as for connecting to the NSLU from your main computer, as no one wants to use telnet apparently - search the wiki for this and other queries regarding the packages listed above.

Assuming everything installs correctly you can then move onto the configuration of the rtorrent client, details can be found here - http://libtorrent.rakshasa.no/

The default install of the client places a config file at ~/rtorrent.rc which can be modified to enable certain features that automate the process of using the NSLU, the most important being the use of a watch directory where torrent files placed within are automatically enqueued. This directory should be made visible to the local network. More detailed information can be found here - http://kmandla.wordpress.com/2007/05/02/howto-use-rtorrent-like-a-pro/ Ensure that you have the sessions directory set.

For those like me that sometimes stumble into things Linux, you have to rename the rtorrent.rc file as .rtorrent.rc so that it has that extra full stop at the beginning of the filename. This makes it run. This also makes it invisible. You can still edit it. Google.

This is a good time to test that the config settings made are suitable to your network and access to internet.

If all is well, then we now go to the python script that was mentioned above, rtorstat. This script will help you run rtorrent by providing you with the information lacking from the command line client by displaying it on a webpage. Go here for the instructions - http://www.g-loaded.eu/2007/06/23/rtorstat-a-simple-rtorrent-status-web-page-generator/

  • Note **

The default location for webpages on the NSLU is /home/httpd/html/ It isn't necessary to worry about the bencode.py instructions as the necessary code is now included in the latest version of rtorstat 0.4.1 and the author also makes the recommendation that rtorstat is run as a CGI script which is run only when you load the stats webpage, instead of the constant use of a cronjob that uses system resources unnecessarily. So its a simple matter of changing this line in the rtorstat.cgi file - session_dir = "/path/to/rtorrent/session/dir/" to reflect the appropriate location on your NSLU.

  • end note **

Now with everything running correctly your client can be controlled via a terminal session and observed via a webpage, individual torrents can be prioritised with the + or - keys, global upload and download rates can be controlled via the (shift)a,s,d,z,x,c key combinations - check the manual. For private trackers the client gets reported as libtorrent.


Janilxx note for 0.8.0-1: FYI: opt/etc/init.d/S99rtorrent does not start with just installed Unslung


Setting up on 6-10beta following the instructions above yielded a non-functioning watch directory. I place torrent files there but they don't get automatically loaded. Manual load works fine. The .rtorrent.rc is being read as the correct session directory is filled with relevant data. /kazam


Edit: OK, so difining the watch directory to be in the home directory of the rtorrent executing user fixes the problem even though I had r/w privilieges before. Aggregated ul/dl data still shows all zeros though but I guess that's known bug.


NOTE - if you are using the latest version of rtorrent 0.8.3 with libtorrent 0.12.3 on unslung you might be noticing a Tracker: connection error that basically stalls all torrents from connecting to the tracker properly. This has been noted on the rtorrent website and the suggested fix is to upgrade libcurl to version 7.19.0-2 upwards. Update - this fix does appear to work, though it should be noted that with my connection I never have any more than 6-7 files seeding at once. Kaputnikgo

view · edit · print · history · Last edited by kaputnikgo.
Based on work by kaputnikgo, kazam, Kud, and Janilxx.
Originally by kaputnikgo.
Page last modified on December 04, 2008, at 01:10 AM