Version 12 (modified by Waldorf, 13 years ago) (diff) |
---|
Web Interface
The Web Interface is a web-based frontend to most Transmission clients (eg. the daemon, GTK, and Mac clients, but not the cli).
Once you have set it up, you can open a web browser and direct it to http://127.0.0.1:9091/transmission/web (replace 127.0.0.1 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:
- Enable rpc / Web Interface in the GUI
- Set it in the config file
Note: the daemon always has the rpc / Web Interface turned on.
Locations
Mac OS X Defaults
The Mac GUI packages the Web Interface in its 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 daemon will look for the Web Interface files in:
- $TRANSMISSION_WEB_HOME, if the environment variable is set
- $XDG_DATA_HOME/transmission/web, if XDG environment variables are set by the system
- $HOME/.local/share/transmission/web
- /usr/local/share/transmission/web
- /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.
Lighttpd
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" => "127.0.0.1", "port" => 9091 ) ) ) }
Apache
For details please consult the apache mod_proxy documentation (apache version: 2.2 2.0 1.3)
# Redirect requests to /transmission to /transmission/web RewriteRule /transmission[/]?$ /transmission/web [R=permanent] # Forward all requests for /transmission to transmission-daemon ProxyPass /transmission http://127.0.0.1:9091/transmission ProxyPassReverse /transmission http://127.0.0.1:9091/transmission <Location /transmission> # !!! ONLY NEEDED FOR 1.5x AND EARLIER !!! # Work-around for libT's non-conformance to the HTTP/1.1 standard for Redirect # See http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.30" # and http://trac.transmissionbt.com/ticket/1944 # Work-around no longer needed (see RewriteRule above) # ProxyPassReverse http://127.0.0.1:9091/transmission # Digest Auth enable # See http://httpd.apache.org/docs/2.2/howto/auth.html#gettingitworking Order Allow,Deny Allow from All AuthType Digest AuthName "Transmission Web Interface" AuthDigestProvider file AuthUserFile "/usr/local/etc/apache22/htdigest.user" Require valid-user # Make pictures, scripts and styling client-cacheable <IfModule expires_module> ExpiresActive On ExpiresByType image/gif A43200 ExpiresByType image/png A43200 ExpiresByType application/javascript A43200 ExpiresByType text/css A43200 </IfModule> </Location>