Version 6 (modified by wereHamster, 13 years ago) (diff)


Web Interface

The Web Interface is a web-based frontend to most Transmission clients (eg. the daemon, GTK client and the Mac client, but not the cli).

Once you have set it up, you can open a web browser and direct it to (replace with the IP where Transmission is running, 9091 is the default port).

To Enable

  • Make sure you have the files installed in the correct location
  • To turn on the Web Interface:

Note: the daemon always has the rpc / Web Interface turned on.


Mac OS X Defaults

The Mac GUI packages the Web Interface in it's application bundle. So there is no need to manually install or update the bundle.

If you do want to use a custom Web Interface use the environment variable. eg.:

$ export TRANSMISSION_WEB_HOME=/path/to/web/files
$ open -a Transmission

Linux Defaults

The Linux wil look for the Web Interface files in:

  1. $TRANSMISSION_WEB_HOME, if the environment variable is set
  2. $XDG_DATA_HOME/transmission/web, if XDG environment variables are set by the system
  3. $HOME/.local/share/transmission/web
  4. /usr/local/share/transmission/web
  5. /usr/share/transmission/web

Proxy Configuration

This is mainly useful for servers where you already have a web server running. You can configure the existing web server to act as a proxy for Transmission. This way you can take advantage of all the features that your web server provides (authentication for example).

First configure Transmission to allow web/rpc access from the web server IP. Then set up the web server to act as a proxy for Transmission. Below are example configurations for some of the well known web servers.


Sample configuration for lighttpd:

server.modules += ( "mod_rewrite", "mod_auth", "mod_proxy" )
url.rewrite-once += ( "^/transmission[/]?$" => "/transmission/web" )

$HTTP["url"] =~ "^/transmission/" {
  auth.backend = "plain"
  auth.backend.plain.userfile = "/var/www/transmission/users"
  auth.require = (
    "" => (
      "method"  => "digest",
      "realm"   => "Transmission Web Interface",
      "require" => "valid-user"

  proxy.server = (
    "" => (
        "host" => "",
        "port" => 9091


Don't know how to handle authentication, so for Apache I can only provide the proxy part. For details please consult the apache mod_proxy documentation (apache version: 2.2 2.0 1.3)

# Forward all requests for /transmission to transmission-daemon
ProxyPass /transmission

# Work-around for libT's non-conformance to the HTTP/1.1 standard for Redirect 
# See" 
# and
<Location /transmission>
    <IfModule expires_module>
        ExpiresActive On
        ExpiresByType image/gif A43200
        ExpiresByType image/png A43200
        ExpiresByType application/javascript A43200
        ExpiresByType text/css A43200