Bit torrent web clients

deluge32As detailed in previous posts, I have a server at home which I use to download and seed torrents (and, before you ask, yes most of the torrent are indeed legal!!) The torrent-side of this server needs to be remotely accessible and manageable to me from a number of places, so some sort of web-interface is required.

There are surprisingly few good web-based applications out there to do this. For a long time I’ve been using torrentflux-b4rt to provide a web-interface to BitTornado. It’s a great piece of software, but I’m now stopping using it. It’s always been a bit bloated and heavy, but once set up the way you want it, this has not mattered too much. The main reason I am moving away from it is that there are a few smaller issues which will, alas, never get fixed. From monitoring the project for some time it is clear that there is negligible development work taking place on it. For me the final issues were:

  • one process per torrent – this get incredibly “expensive” in terms of CPU and, particularly, memory when one runs many torrents concurrently.
  • inability to manage bandwidth overall: I can set a per torrent bandwith cap, but not an “all torrent combined cap”. I’ve mitigated the effects of this in the past by using QoS under iptables, but it’s a headache I could do without.
  • minor bugs here and there. Since the development seems permanently stalled, maybe I could fix them myself? To that end I spent some time looking at the code-base. In line with the project’s history and breadth, I find a lump of code that might take weeks of effort to understand enough to fix some minor bugs. I do not have that time.

So what to use?

I spent some hours dabbling with rutorrent, which sits on top of the rtorrent client.It’s a nice GUI, but has a fatal flaw: it sits on top of rtorrent……! Now rtorrent itself seems fine in isolation – a curses-based cli client (so kinda halfway between a pure cli and a GUI) but it just does not seem right. rtorrent cannot natively daemonize itself – it has to be started up under “screens” and then detached and left to run in a headless mode, while rutorrent find it and talk to it. This is really not nice or reliable.

So I’ve ended up, for now, using Deluge. This looks interesting! For a start it’s architected sanely: core daemon, with various GUI/cli options on top, of which the web interface interests me most. The web-server is self-contained (not a choice I prefer, but I understand why they do it) It has the key features such as “overall limits” for all torrents taken together. It’s also very “light”: one daemon process for all torrents. The web interface is far from perfect, but it shows signs of very active development in this direction. The AJAX-ified interface is not quite complete, but is very usable and shows great promise.

I’ve not looked at the code yet, so cannot comment on how accessible it is. However there seems to be a working plugin-API which could allow some interesting dabbling without getting to grips with the entire project’s code.

Early days, but I tentatively recommend Deluge as worth a try.

Comments are closed.