Sunday, June 27, 2010

BitTorrent Client: Transmission on DD-WRT

If you've followed the previous guides to set the opkg system, then installing transmission on the USB enabled DD-WRT system is a no-brainer. Only one little thing needs to be taken care of...

  1. Install transmission
    To do so, Use PuTTY to log in and run the command below:
    opkg install transmission-web

    This will install libevent(required library) transmission-daemon(the actual program) and transmission-web(the web interface).

  2. Setup transmission
    Run
    transmission-daemon
    wait for 10 seconds then stop it:
    killall transmission-daemon

    This will create default configuration file for transmission, the file is located at /mnt/root/.config/transmission-daemon/settings.json
    Edit this file with following(delete all previous contents)

    {
    "blocklist-enabled": 1,
    "download-dir": "\/mnt\/share\/torrents",
    "download-limit": 100,
    "download-limit-enabled": 1,
    "encryption": 2,
    "max-peers-global": 35,
    "peer-port": 25000,
    "pex-enabled": 1,
    "port-forwarding-enabled": 1,
    "rpc-authentication-required": 0,
    "rpc-password": "",
    "rpc-port": 9091,
    "rpc-username": "",
    "rpc-whitelist": "192.168.1.*",
    "upload-limit": 200,
    "upload-limit-enabled": 1
    }


    Above is taken from DD-WRT wiki with some modification. Also create the download folder
    mkdir -m 777 /mnt/share/torrents

    So now all configure files for transmission are in /mnt/root/.config(or /tmp/root/.config, its the same). Downloaded files will be in /mnt/share/torrents

  3. Set transmission for web access
    This is usually not a problem, however, in our setup, the web pages is are in non-standard location. So we must let transmission aware of the change.

    To do so, a variable must be set for transmission. Run the command lines below:
    export TRANSMISSION_WEB_HOME='/opt/usr/share/transmission/web/'
    transmission-daemon

    Now access transmission web manage interface at http://ip_of_the_router:9091/
    If everything works out, move to next step.

  4. Run it as service
    To do so, add the following line to /mnt/root/.profile

    export TRANSMISSION_WEB_HOME='/opt/usr/share/transmission/web/'

    Then create the startup script /opt/etc/init.d/transmission(delete all previous contents if its not empty)

    source /mnt/root/.profile
    killall
    transmission-daemon
    sleep 2
    transmission-daemon -g /mnt/root/.config/transmission-daemon/


    Set it to run as service:
    chmod a+x /opt/etc/init.d/transmission
    ln -s /opt/etc/init.d/transmission /opt/etc/init.d/S60transmission

171 comments:

Post a Comment