Deluge

From ArchWiki
Revision as of 15:25, 1 January 2013 by Graysky (Talk | contribs)

Jump to: navigation, search

Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary end

Installation

deluge is available from the official repositories.

# pacman -S deluge

The gtk UI requires additional dependencies as does the webui. Inspect the pacman output to determine which are right for the intended application.

python2-notify: libnotify notifications
pygtk: needed for gtk ui
librsvg: needed for gtk ui
python2-mako: needed for web ui

Daemon Setup

Deluge can run as a system daemon which is accessible to any system user or it can run in a non-daemon mode.

Start the deluge backend daemon like any other systemd service:

# systemd start deluged

To allow interaction with the daemon, create a user:password:level in /srv/deluge/.config/deluge/auth. For example:

# echo "delugeuser:p422WoRd:10" >> /srv/deluge/.config/deluge/auth
Note: The user/password created does not have to match any system users... and to maintain good security practices it should NOT!

The number 10 corresponds to a level of 'Admin.' Refer to the following table for additional values:

Level Name Level Value
None 0
Read Only 1
Normal 5
Admin 10
Note: In Deluge 1.35, these values have no effect, but multiuser options are under development.

GTK UI

The GTK UI needs to have pygtk and librsvg 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 /srv/deluge/.config/deluge/core.conf:

"allow_remote": true,

Now add yourself to the authentification file:

# echo "yourusername:yourpassword:10" >> /srv/deluge/.config/deluge/auth

The authentication 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.

Web UI

The web UI daemon runs on the server and the clients only need a web browser. You need to install python2-mako on 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 /srv/deluge/.config/deluge). It should have a line like this towards the bottom:

"default_daemon": "" 

Change it to:

"default_daemon": "127.0.0.1:58846" 

This assumes that your Deluge port is the default 58846.

SSL

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 /srv/deluge/.config/deluge/ssl/:

# 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.

Apache configuration

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, add the following lines to your httpd.conf.

Uncomment the Virtual Hosts line:

Include conf/extra/httpd-vhosts.conf

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>
    ServerAlias subdomain.example.com
    ProxyRequests off
    ProxyPass / http://127.0.0.1:8112/
    ProxyPassReverse / http://127.0.0.1:8112/
</VirtualHost>

Troubleshooting

Magnet Links Are Broken with Chromium

The following command should return "deluge.desktop":

$ xdg-mime query default "x-scheme-handler/magnet"

If it returns a null, run this command:

$ xdg-mime default deluge.desktop application/x-bittorrent x-scheme-handler/magnet

Reference: https://bugs.archlinux.org/task/28011

Downloads don't start

As of libtorrent-rasterbar version 0.16, Deluge will not download torrents that are added by a magnet link.

Downgrading libtorrent-rasterbar to 1:0.16.3-1 should fix it. Use the following PKGBUILD: https://projects.archlinux.org/svntogit/packages.git/tree/trunk?h=packages/libtorrent-rasterbar&id=da6a845f1f66026c2e0df71e8728ab0d8fd660b0

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.

/srv/deluge/.config/deluge/core.conf
...
 "enc_prefer_rc4": true, 
 "listen_ports": [
   49160, 
   49249
 ], 
 "dht": false, 
 ...

Daemon won't start on fresh install

There seems to be an issue creating a folder with the correct permissions when the package installs, try:

# chmod u+x /srv/deluge