Enhanced CTorrent and CTCS

From NAS-Central Buffalo - The Linkstation Wiki
Revision as of 19:07, 27 January 2007 by (Talk) (Typical Setup)

Jump to: navigation, search

Enhanced CTorrent is a BitTorrent client implemented in C++ to be lightweight and quick and is the continuation of its parent CTorrent.

Enhanced CTorrent has an average CPU load of 4.2% at a download rate of 100KB/s and an upload rate of 100KB/s on an ARM equiped Linkstation Pro.

LSPro (arm9) - OpenLink

Building from scratch

$ gunzip ctorrent-1.3.4-dnh2.2.tar.gz
$ tar xvf ctorrent-1.3.4-dnh2.2.tar.gz
  • If you are compiling in Scratchbox make sure to have libstdc++.so installed in for example /usr/lib. Either copy it from your Linkstation directly to the Scratchbox environment by using scp or install it from anywhere else.
  • Enhanced CTorrent has very little dependencies therefore you should be able to do a simple:
$ ./configure
$ make

Pre-built binary

A pre built ARM binary ctorrent is available from LSPro Temporary Upload Folder

CTorrent Control Server (CTCS)

To control and manage your torrents from an external computer you can make use of the Web interface provided by the CTorrent Control Server (CTCS). This is a Perl script which needs no further configuration.

Typical Setup

  • Make sure the binary ctorrent is available via your PATH environment varaiable.
  • Start the CTorrent Control Server and publish the server at port 2780:
$ ctcs -p 2780 > /dev/null &
  • Start ctorrent as a backgorund process downloading torrent.torrent subscribing at the locally running CTCS server at port 2780 and ignoring any console output since we will be controlling it via a web-interface.
$ ctorrent -S localhost:2780 torrent.torrent > /dev/null &
  • On the remote system open up a webbrowser and surf to:

For further information on how to start, stop and manage ctorrent please read the CTorrent user's guide.

Automatic downloading of torrents

It is very desireable to start a torrent more userfriendly at a remote machine than to manually:

  1. Download the torrent on the remote machine to a Linkstation share.
  2. Do a remote login to the Linkstation.
  3. Start ctorrent with the correct command line parameters.

The idea is to create a daemon or cron'd script running on the Linkstation which checks a certain share directory for any added .torrent files. When it does find a newly added .torrent file it will invoke ctorrent with a predefined set of parameters and start downloading the torrent. This way you can start downloading a torrent simply by copying a .torrent file to a certain directory on your Linkstation.

A Bash script is currently being developed and should be available here within a few days. Bash has been chosen as programming language since it allows for a quick and small solution although Perl could very well fit here to.

  • A simple bash script is preferable when executing binaries like ps, awk or ls. Perl would require back-ticks (`) to execute binaries which the would not be "real" Perl.

Related articles