Azureus PHP Control Layer

What is the Azureus PHP Control Layer?

The Azureus PHP control layer is an interface for Azureus written in PHP.
It’s based on the Swing control layer and interfaces using XML over HTTP with Parg’s XML control plugin for Azureus.

There’s basically 2 parts to the code:

  1. A control class for interfacing with the XML over HTTP control plugin in Azureus.
    I have designed the class so that it can be easily seperated from the rest of the code if desired.
  2. A display and action layer which uses the above class to manage the torrents.

Warning: This code does not have any login or security.
It is assumed that it’s either running on a secure network or that access to the pages have been secured using an .htaccess file.


  • PHP5 running as a web service somewhere.
  • Azureus with the XML over HTTP plugin running.

Visit the Azureus PHP SVN repository for the current version.

To check out a version run svn co

I haven’t updated this in 9 months, I’ve had several innovative contributions from various people who’ve contacted me and yet a new version hasn’t been
forthcoming. I don’t want to say “discontinued” but don’t hold your breath for a new version.

Having said that, this is an open source project. Feel free to make your own changes, fork it, re-host the code on your own site or whatever.

2006-05-04 UNSTABLE
This is an unstable release. There are known bugs, especially in Internet Explorer which will be fixed eventually.
If you are using Firefox / Mozilla and you want to see what direction this is going in, you don’t mind the occasional javascript error
and/or you’re one of the people who requested a page refresh function then go ahead and download.

The major added feature here is the Asyncronous page update function. This uses (roll eyes) AJAX to go off and fetch data from your
browser to the Azureus XML over HTTP interface. It goes via a PHP script in order to conform to the javascript sandbox security
considerations and any closed off ports between yourself and Azureus that there might be.

I am kind of busy at the moment with other stuff, so I don’t know when this will be fully bug-free in all DOM-compatible browsers,
but hopefully now people will be more aware of where I’m going with it, and if anyone wants to finish off what I’ve started with
this AJAX stuff then they can go ahead and implement it.

The new version generated a warning which, if you display warnings on your PHP installation, breaks
the interface. I have now fixed this, but I have put it in the package dated yesterday as it was
such a small change.

This release, most notable for the consolodation of all settings into the includes/settings.php
location and experimental addition of the ability to manage multiple servers (thanks to Denis for that idea!).
To do this, simply add them to the existing $aServers array in the same manner as the first.
I don’t know if it works properly because I haven’t been able to test it with multiple servers yet.

I’ve also fixed the issue with clicking the label on downloads that some people were having.
Again, keep coming back to me with feedback or bugs and remember to leave your email address
if you have a question.
I only have a very narrow range of hardware to test this on so I sometimes miss things!

Should have released this version aaages ago. This release includes some nice user interface tweaks such
as a progress bar in the downloads column, and general CSS polishing. This also includes code to allow HTTP authorisation on the actual
XML interface so that you can safely expose the interface to an unsafe network, but continue using this web interface.

Many thanks to everyone who has given me feedback and given assistance in this mini project. I just got
the torrent upload function working today and it’s online now in the current build (20050926). Judging by the emails I’m getting, this
should make a good few people happy, so happy torrenting! 🙂

I’ve actually seen a few referrals to the site coming from URLs that are clearly set up to monitor Azureus,
so it’s clear other people have gotten this working OK. I’m planning on developing this further, so if you have any
feedback, let me know.

2 Responses to “Azureus PHP Control Layer”

  1. Fotis Says:


    Has anyone contacted you about continuing this code?

  2. Strawp Says:

    Hi Fotis,

    No, would you like to? I don’t even use it myself any more – I’m so used to the console interface.

Leave a Reply