Transmission-howto

From SME Server
Revision as of 14:23, 28 April 2016 by Stephdl (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Time.png Outdated:
you have now a contrib, go to Transmission


Transmission

Transmission is a cross-platform BitTorrent client. Transmission has the features you want from a BitTorrent client: encryption, a web interface, peer exchange, magnet links, DHT, µTP, UPnP and NAT-PMP port forwarding, webseed support, watch directories, tracker editing, global and per-torrent speed limits, and more.

Transmission is available via the epel and geekery repositories. The latest transmission rpm's are only available via the geekery repository. Please only use one of the below procedures.

Epel Repository

Enable the epel repository

Please see Epel and then do:

yum install transmission --enablerepo=epel


  Note:
it appears that the epel version is very old (transmission-1.34) so the configuration may be different as below, you should install the geekery version of Transmission


Geekery Repository

Geekery Repoviews

   EL5-i386
   EL5-x86_64
   EL6-i686
   EL6-x86_64

Install Geekery Repository

for SME Server 8.0
http://geekery.altervista.org/
/sbin/e-smith/db yum_repositories set geekery repository \
 Name 'geekery repository' \
 BaseURL 'http://geekery.altervista.org/geekery/el5/$basearch' \
 EnableGroups no \
 GPGCheck yes \
 GPGKey http://geekery.altervista.org/download.php?filename=GEEKERY-GPG-KEY \
 Visible no \
 status disabled

After adding it to the database updating the configuration file is required:

signal-event yum-modify
for SME Server 9.0
http://geekery.altervista.org/
/sbin/e-smith/db yum_repositories set geekery repository \
 Name 'geekery repository' \
 BaseURL 'http://geekery.altervista.org/geekery/el6/$basearch' \
 EnableGroups no \
 GPGCheck yes \
 GPGKey http://geekery.altervista.org/download.php?filename=GEEKERY-GPG-KEY \
 Visible no \
 status disabled

After adding it to the database updating the configuration file is required:

signal-event yum-modify

Installation

Manual way

in the directory where you want to work

mkdir transmission
cd transmission

We need to install all the following files, you have to adjust with your cpu architecture. For SME8 you have to use el5 binaries.

wget http://geekery.altervista.org/geekery/el5/i386/libevent2-2.0.10-1geekery.i386.rpm
wget http://geekery.altervista.org/geekery/el5/i386/transmission-2.76-1geekery.i386.rpm
wget http://geekery.altervista.org/geekery/el5/i386/transmission-common-2.76-1geekery.i386.rpm
wget http://geekery.altervista.org/geekery/el5/i386/transmission-daemon-2.76-1geekery.i386.rpm
wget http://geekery.altervista.org/geekery/el5/i386/transmission-cli-2.76-1geekery.i386.rpm

or

wget http://geekery.altervista.org/geekery/el5/x86_64/libevent2-2.0.10-1geekery.x86_64.rpm
wget http://geekery.altervista.org/geekery/el5/x86_64/transmission-2.76-1geekery.x86_64.rpm
wget http://geekery.altervista.org/geekery/el5/x86_64/transmission-common-2.76-1geekery.x86_64.rpm
wget http://geekery.altervista.org/geekery/el5/x86_64/transmission-daemon-2.76-1geekery.x86_64.rpm
wget http://geekery.altervista.org/geekery/el5/x86_64/transmission-cli-2.76-1geekery.x86_64.rpm

the root user can install rpm above

yum localinstall *
yum'ing way

Install the geekery repository and then

yum install --enablerepo=geekery transmission
Upgrade Transmission
yum upgrade --enablerepo=geekery transmission

Configuration

  Note:
we must stop the deamon before every manual modifications of setting.json


/etc/init.d/transmission-daemon stop
nano /var/lib/transmission/settings.json

allow your network

allow your network range to connect to the transmission-deamon "*" can be used as a wild card

"rpc-whitelist": "127.0.0.1,192.168.1.*",
"rpc-whitelist-enabled": true,

you can find a lot of useful option directly in the Transmission wiki but normally some of them are usable in the web utility

set a ibay for downloaded files

  • Create an ibay in server manager, with the following typical settings:
Information bay name - torrent, Description - torrent, Group - Everyone, User access - Write = group, Read = everyone, 
Public access via web - no access, Execution of dynamic content - no

you have to allow transmission to write in the ibay

db accounts setprop torrent Group shared UserAccess wr-group-rd-everyone
signal-event ibay-modify torrent


  Note:
we need to give a second group to the transmission user for allow it to write in the torrent ibay


usermod -a -G shared transmission

and edit the settings.json to give the good path

"download-dir": "/home/e-smith/files/ibays/torrent/files/",
"incomplete-dir": "/home/e-smith/files/ibays/torrent/files/",

we can launch the deamon

/etc/init.d/transmission-daemon start

Allow port in sme firewall

by default the transmission-deamon use the 51413 port for sharing with other computer so we have to authorize it in the sme firewall and after you may need to allow it in the nat configuration of your router if the upnp configuration does'nt work.

db configuration set transmission-daemon service
db configuration setprop transmission-daemon TCPPort 51413
db configuration setprop transmission-daemon status enabled
db configuration setprop transmission-daemon access public
signal-event remoteaccess-update

if you want to allow a range of ports you can take a look to this part of DB documentation and use the TCPPorts command. Effectively Transmission can use a random port at every boot in a range set in setting.json so you have to adjust the sme firewall and the nat configuration of your router.


  Tip:
After that if you go to the menu "Edit Preferences/network you can verify if the port is "open"


Runlevel7

if you restart your computer you can experiment that the service is not started because there is no link to rc.7d, so you have to do this command line to allow transmission deamon operate in runlevel 7.

ln -s /etc/init.d/transmission-daemon /etc/rc.d/rc7.d/S99transmission-daemon

Play with transmission

now you are able to use transmission deamon with this url in the web browser http://your-ip-sme:9091