DNS 325 - Funplug 0.5 : Install Transmission p2p client

Contents[Hide]

dropcap-dns325-transmission

This article explains how to install a Transmission peer-2-peer client on a DNS-325.

Transmission client on a DNS-325 is very interesting for different aspects :

  • usually, a NAS is running 7/7 - 24/24
  • Transmission is fully Web controlled
  • It is using very less RAM
  • It is very light on CPU power
  • It is offering lots of parameters (ports limitation, speed throttle, ...)

So, with this setup, you will be able to serve 24h/24 your latest Linux distributions torrents from home without any computer on.

As a pre-requisite, you must have prepared your DNS-325 with fun_plug and adds-on.

This procedure should also be compatible with a DNS-320, which is running the same system with less memory and less processor power.

This guide is based on fun_plug 0.5.
It has not been tested on fun_plug 0.7.

1. Install the packages

First thing to do is to connect to your NAS thru SSH. All following commands are issued from the NAS prompt.

Before installing the Transmission package, you need to install curl, which is a command line tool for transferring data with URL syntax :

# funpkg -i /ffp/pkg/additional/*/curl*.tgz

Once this is done, you can download and install the latest transmission package.

At the time of this article writing, it was version 2.50-1. You can check latest version available at http://kylek.is-a-geek.org:31337/files/ffp/0.5/.

# wget http://kylek.is-a-geek.org:31337/files/ffp/0.5/Transmission-2.50-1.tgz Transmission-2.50-1.tgz
# funpkg -i ./Transmission-2.50-1.tgz
Installing package Transmission-2.50-1 ...

2. Create the Execution Environment

For Transmission running environment, we have to create 2 directories :

  • one for the downloaded files, which will be available thru a samba share
  • one for the transmission database

This is done with the following commands :

# mkdir /mnt/HD/HD_a2/torrent
# chown -R nobody /mnt/HD/HD_a2/torrent
# mkdir /ffp/var/transmission
# mkdir /ffp/var/transmission/incomplete
# chown -R nobody /ffp/var/transmission

These directories have to be declared in the transmission configuration

# nano /ffp/start/transmission.sh

/ffp/start/transmission.sh

...
TRANSMISSION_HOME=/ffp/var/transmission
...

3. First launch

To create the transmission configuration file /ffp/var/transmission/settings.json, you have to manually launch the client a first time with the appropriate environment.

This first launch command will set :

  • the username and password to be used to connect thru the web user interface
  • the directory /mnt/HD/HD_a2/torrent where completed torrents will be stored
  • the network mask allowed to connect thru the web interface (here 127.0.0.1 & 192.168.x.x)

# su nobody -c "transmission-daemon -f -g /ffp/var/transmission -w /mnt/HD/HD_a2/torrent -t -u username -v password -a 127.0.0.1,192.168.*.*"
[19:24:57.782] Transmission 2.50 started (session.c:718)
[19:24:57.782] RPC Server Adding address to whitelist: 127.0.0.1 (rpc-server.c:803)
[19:24:57.782] RPC Server Adding address to whitelist: 192.168.*.* (rpc-server.c:803)
[19:24:57.782] RPC Server Serving RPC and Web requests on port 127.0.0.1:9091/transmission/ (rpc-server.c:997)
[19:24:57.783] RPC Server Whitelist enabled (rpc-server.c:1001)
[19:24:57.783] RPC Server Password required (rpc-server.c:1004)
[19:24:57.783] UDP Failed to set receive buffer: requested 4194304, got 217088 (tr-udp.c:75)
[19:24:57.783] UDP Please add the line "net.core.rmem_max = 4194304" to /etc/sysctl.conf (tr-udp.c:80)
[19:24:57.783] UDP Failed to set send buffer: requested 1048576, got 217088 (tr-udp.c:86)
[19:24:57.783] UDP Please add the line "net.core.wmem_max = 1048576" to /etc/sysctl.conf (tr-udp.c:91)
[19:24:57.783] DHT Generating new id (tr-dht.c:309)
[19:24:57.783] Using settings from "/ffp/var/transmission" (daemon.c:488)
[19:24:57.783] Saved "/ffp/var/transmission/settings.json" (bencode.c:1721)
[19:24:57.783] transmission-daemon requiring authentication (daemon.c:508)
[19:24:57.784] Port Forwarding (NAT-PMP) initnatpmp succeeded (0) (natpmp.c:72)
[19:24:57.784] Port Forwarding (NAT-PMP) sendpublicaddressrequest succeeded (2) (natpmp.c:72)
[19:24:57.784] Port Forwarding (UPnP) Found Internet Gateway Device "http://192.168.1.1:5555/ctl/IPConn" (upnp.c:113)
[19:24:57.784] Port Forwarding (UPnP) Local Address is "192.168.x.x" (upnp.c:115)
[19:24:57.784] Port Forwarding (UPnP) Port forwarding through "http://192.168.x.x:5555/ctl/IPConn", service "urn:schemas-upnp-org:service:WANIPConnection:1". (local address: 192.168.x.x:51413) (upnp.c:221)
[19:24:57.784] Port Forwarding (UPnP) Port forwarding successful! (upnp.c:224)
[19:24:57.784] Port Forwarding Forwarded (port-forwarding.c:93)

You can stop the process by throwing CTRL+C.

4. Configuration of settings.json

The configuration file /ffp/var/transmission/settings.json has been created and can be modified.

# nano /ffp/var/transmission/settings.json

/ffp/var/transmission/settings.json

...
"incomplete-dir": "/ffp/var/transmission/incomplete",
"incomplete-dir-enabled": true,
...
"peer-port": 11000,
"peer-port-random-high": 11999,
"peer-port-random-low": 11001,
...

Once modified, you need to apply back the access right, to enable the transmission start at boot. You can also start the daemon.

# chown -R nobody /ffp/var/transmission
# chmod a+x /ffp/start/transmission.sh
# /ffp/start/transmission.sh start

5. Router Port Forwarding

As Transmission client has been configure to use port 11000 to 11999, you now need to setup your home router port forwarding for this TCP range.

So, on your home router you need to configure port forwarding as follow :

  • protocol : TCP
  • port range : 11000 - 11999
  • Address : your DNS-325 IP address on the LAN

 

Once this is done, you just need to connect at http://YourNasIpAddress:9091/.

Your torrents are waiting for you ... you can now help the Linux community to distribute ISO images !

Hope it helps.

Signature Technoblog

This article is published "as is", without any warranty that it will work for your specific need.
If you think this article needs some complement, or simply if you think it saved you lots of time & trouble,
just let me know at This email address is being protected from spambots. You need JavaScript enabled to view it.. Cheers !

icon linux icon debian icon apache icon mysql icon php icon piwik icon googleplus