Curiosity is bliss    Archive    Feed    About    Search

Julien Couvreur's programming blog and more

Bittorrent downloader with web UI...


... and thoughts about the different UI remoting techniques.

ABC bittorrent client:
I've been using the ABC bittorrent client for a while, but I just got around to installing its web "extension", PHP-4-ABC.

ABC doesn't seem a very original bittorrent client, although it does allow for incremental allocation of files (which is nice). But the exposed web service interface is what really caught my attention.
PHP-4-ABC makes use of this control interface to build a web UI that offers most of the functionality of the desktop application.

The setup was pretty easy (some configuration and a little bit of PHP tweaking), with AppServ (a windows package offering Apache+PHP+MySQL+more, in less than 8MB).

Installing PHP-4-ABC made me think the similarities and differences between the console apps with ssh and GUI apps with web interfaces.
Both are good ways to access remote applications without burning too much bandwidth. RDP, X and VNC are improving, but still have higher bandwidth usages.

Console apps:
One advantage of console apps (on Linux for example) is that they are both local and natively "remotable" (no code change), with little difference except for the added latency.
They also benefit from a uniform security mechanism (local permissions and ssh).

GUI+web interface:
Few GUI applications have integrated or add-on web interfaces like the ABC client or eMule. The ones that do come up with ad hoc security/authentication solutions.

If they can be controlled reasonably well via a web interface, chances are they would also fit in a console-based approach. For example, it's easy to imagine a bittorrent scheduler implementated using ncurses.

On the other hand, having a web interface allows many integration tricks with other web applications. For example, you could have bookmarklets to start bittorrent downloads on your remote machine directly from the bittorrent search page or your RSS aggregator.

Web-only apps:
The web-only approach for desktop applications (like Radio Userland or Amphetadesk) is interesting, but they don't share much infrastructure. They come with their own security model (local access only, web form and cookie, ...).
They also each have their own web server. That's because it's easier to deploy rather than try and configure any web server that the user might already be running. Also, many of these applications need to continue running in the background, which the web server doesn't really offer a solution for.

Maybe in the future we'll see a framework or standard deployment model for such apps, that would allow re-using the web server component, sharing the security model and offer support for background threads.

Another approach would be a GUI framework that would simplify exposing local GUIs as web interfaces.

Also it is possible that with GUI frameworks built with an efficient remote display protocol in mind and faster networks, this problem might just disappear on it's own ;-)

Winamp explores these various models as well, using extensions like Winamp Web Interface or Winamp Terminal Server.
Note that you can also control Winamp from your browser with the nifty FoxyTunes extension (local control only). It sometimes seems as if the browser is taking over the desktop...


what is the best bittorent client to use & where
do i download it from I use abc with
for torrents but I get problems.

Posted by: tony shell (October 15, 2004 07:31 AM) ______________________________________

Hi Tony,

I use ABC, because it can be controlled remotely via a web interface, called PHP-4-ABC.
ABC used to crash quite a bit, but nowadays, it seems quite stable.

Posted by: Julien Couvreur (October 22, 2004 03:28 PM) ______________________________________

I've been looking for a Bittorrent client that I can use remotely on a headless linux server and I hadn't heard of ABC bittorrent client before. The PHP-4-ABC sound like what I have been looking for. Thanks for your Help!

Posted by: Snipes (December 9, 2004 02:57 PM) ______________________________________


Have any of you guys tried out btmanager... I used it a while back and i worked pretty well for me ...
You may want to check it out...


Posted by: Boombastic (July 22, 2005 04:33 AM) ______________________________________

ABC (combined with PHP4ABC) is serving me well.
I'll check out btmanager though. Thx for the tip.

Posted by: Julien Couvreur (July 22, 2005 08:51 AM) ______________________________________

For those who waiting for a ABC web interface.

Nice and small , put that on your web page or your server and that it's no configuration to do.

what you will need is :
start your webinterface in ABC ---- set your port ---- put your password

go on your web page:
type your ip ---- port ----- and passworld

that all

want to try it go there:

( clic on exemple )

Posted by: nec9716 (December 5, 2005 10:15 AM) ______________________________________

I've actually been using TorrentFlux for awhile now. It's really well done and also allows for simple file control so you can manage the downloads.

Posted by: Jason Stapels (January 17, 2006 05:32 PM) ______________________________________

I'm running Mac OS X 10.4.4, and I've tried doing TorrentFlux, but because of some Mac only apache problem, the process keeps getting shut off after a while and I can't finish downloading the file. I've tried using the Azureus web interface, meh, it sucks to setup, and I never got it done. I'll try BTManager, hope it works!

PS> My real weblog address is blog.takshimada[dot]info, it wouldn't let me post that, saying is "questionable content".

Posted by: Ender at Eros (January 31, 2006 09:56 PM) ______________________________________

I erased a comment by mistake while cleaning some spam.
Apologies to Pradox, the reader who left a comment. I think he was pointing a project of his, a web UI for ABC:

Posted by: Julien Couvreur (May 31, 2006 01:33 PM)
comments powered by Disqus