Deluge is a full-featured BitTorrent client for Linux, OS X, Unix and Windows. It uses libtorrent in its backend and features multiple user-interfaces including: GTK+, web and console. It has been designed using the client server model with a daemon process that handles all the bittorrent activity. The Deluge daemon is able to run on headless machines with the user-interfaces being able to connect remotely from any platform. Deluge is not designed for any one desktop environment and will work just fine in GNOME, KDE, XFCE and others. Deluge is Free Software and is licensed under the GNU General Public License.
If you want to run Deluge as user just run:
# deluge -u [gtk|web|console]
Please note, deluge works perfectly fine without its daemon running. The default user for the Deluge daemon, is deluge, which is created upon package installation. You can change this in
/etc/conf.d/deluged. Of course, the user needs to exist.
The rest of this guide will assume you use the default deluge user. This is that user's default home directory and therefore its configuration location is in
/srv/deluge. This should be fine under most circumstances. Note that this is NOT the default download location, it only holds its configuration and ssl certificates. You will be able to change all other options later on once you get a client working.
Next, start the daemon to generate its default configuration in its home directory:
The GTK UI needs to haveand installed on the clients. If the deluge daemon is running stop it.
In order to connect remotely via the GTK UI, there should be something like this in
Now add yourself to the authentification file:
# echo "yourusername:yourpassword:10" >> /srv/deluge/.config/deluge/auth
The authentification level is not used at this time. Read more about that.
Start the Deluge daemon again.
Now start the GTK UI. If you prefer, you can edit the preferences in
~/.config/deluge/gtkui.conf, but there's also a nice configuration tool in the UI.
Look for classic mode and disable it. Then go to Edit -> Connection Manager and add your daemon.
The web UI daemon runs on the server and the clients only need a web browser. You need to installon the server.
First, start the web UI daemon, named deluge-web, and login at
http://ip-address:8112. Where ip-address is the name of your Deluge server or its private or public IP address. When asked for a password, enter "deluge" as it is the default password.
The preferences in the web UI should be rather self explanatory and the first obvious thing to do is to change your password.
Automatically Connect To Daemon
If you want to avoid clicking "connect" everytime you start the Deluge web UI, edit the
web.conf file in your configuration directory (usually
It should have a line like this towards the bottom:
Change it to:
This assumes that your Deluge port is the default 58846.
In case you want SSL for the web UI, you need to generate a new cert/key set. To do this, first stop the web UI daemon and then append to
# openssl req -new -x509 -nodes -out deluge.cert.pem -keyout deluge.key.pem
Next you need to edit
/srv/deluge/.config/deluge/web.conf and change the pkey and cert configuration directives to use your new self-signed certificates and also enable SSL:
... "pkey": "ssl/deluge.key.pem", ... "cert": "ssl/deluge.cert.pem", ... "https": true,
Afterwards just start the web UI daemon again.
As of this writing, it is possible to use ProxyPass and ProxyPassReverse with Apache to run your Deluge web UI with a web server. To do so, install AUR. Then add the following lines to your
In the modules section add:
LoadFile /usr/lib/libxml2.so LoadModule proxy_html_module modules/mod_proxy_html.so
At the end of the file, in the Supplemental Configuration section, add the following two lines:
# Custom proxy html configuration Include conf/extra/httpd-proxy-html.conf
Also uncomment the Virtual Hosts line:
That is all the editing that needs to be done for the
httpd.conf. Next, navigate to the
extra/ folder and edit the
httpd-vhosts.conf file. Append to the file, the following:
<VirtualHost *:80> Servername dmz ProxyRequests off ProxyHTMLExtended on ProxyPass /deluge http://127.0.0.1:8112/ ProxyHTMLURLMap http://127.0.0.1:8112 /deluge Header unset Server <location /deluge> ProxyPassReverse / ProxyPassReverseCookiePath / /deluge/ SetOutputFilter INFLATE;proxy-html;DEFLATE ProxyHTMLURLMap / /deluge/ ec
ProxyHTMLURLMap /deluge /deluge ec
ProxyHTMLURLMap ([^*])(\/[^*].*) $1/deluge$2 hRxL #ProxyHTMLLogVerbose On Order allow,deny Allow from all </Location> </VirtualHost>
See http://blog.stoked-security.com/2011/03/deluge-bittorrent-webui-behind-reverse.html for the source and more information.
Web UI doesn't store settings
For some yet unknown reason, the web interface with Deluge 1.3.3 refuses to properly store the incoming (listen) ports configuration. This can manually be edited in core.conf. The Deluge bugtracker mentions this is fixed, it is not in 1.3.3.
... "enc_prefer_rc4": true, "listen_ports": [ 49160, 49249 ], "dht": false, ...