Transmission
Transmission for SME Server
Maintainer
Stéphane de Labrusse AKA Stephdl
Description
This contribution for SME Server adds the ability to seed or to download SME Server CDROM ISO through the Bit-torrent protocol. Transmission allows users to download files from the Internet and upload their own files or torrents. By grabbing items and adding them to the interface, users can create queues of files to be downloaded and uploaded. Within the file selection menus, users can customise their downloads down to components of individual files. Transmission also seeds—that is, it can re-upload downloaded content.
see the website of transmission
Requirements
You need to activate two repositories, geekery which hosts Transmission binaries and stephdl.
Installation
This contrib is currently held in several repositories, so the following commands will install it on your smeserver.
yum --enablerepo=geekery,smecontribs install smeserver-transmission
You will then need to activate the database changes etc. The 'official' way is to perform
signal-event post-upgrade; signal-event reboot
or if you do NOT want to reboot your server
signal-event conf-transmission
Manage settings
There are no panels in the server-manager, the contrib can be managed by the Command Line :
config show transmission
and
config show transmission-daemon
Upgrade Transmission
yum update --enablerepo=geekery,stephdl smeserver-transmission transmission
and
signal-event post-upgrade; signal-event reboot
or if you do NOT want to reboot your server
signal-event conf-transmission
Login to transmission
Transmission is a "web contrib", you need a web browser to handle your torrents. The url to reach transmission is https://sme-ip-or-host/transmission
Just after the installation, only the admin user is allowed to perform a login with its SME Server credentials (on web and samba side), and for matters of security, only on your local network.
Add users
If you want to allow more users to use 'transmission' then execute these commands at the Command Line.
config setprop transmission Transuser "admin user1 user2" signal-event conf-transmission
All users need to be real users in the server-manager with a password set.
Add groups
If you want to allow more groups to use 'transmission' then execute these commands at the Command Line.
config setprop transmission Transgroup "group1 group2 group3" signal-event conf-transmission
All groups need to be real groups in the server-manager with a password set.
change the default url
By default transmission is reachable at https://sme-ip-or-host/transmission but if you want to change this
/etc/init.d/transmission-daemon stop config setprop transmission Name XXXXX expand-template /var/lib/transmission/settings.json signal-event conf-transmission
then you need to go to https://sme-ip-or-host/XXXXX
Disable the access (web/samba) to Transmission
If you want to close the access to all your users to the transmission contrib by web or by samba you can perform this. But this do not stop the transmission daemon
config setprop transmission status disabled signal-event conf-transmission
to restore the ability to use transmission
config setprop transmission status enabled signal-event conf-transmission
Access global-local-none
By default only IPs which are on your local network are allowed to reach transmission with a web browser, but this behaviour can be changed.
Only IPs on your local network
config setprop transmission PublicAccess local
or All IPs
config setprop transmission PublicAccess global
or No access
config setprop transmission PublicAccess none
After that
signal-event conf-transmission
Change the download folder
By default the download folder is /var/lib/transmission/Downloads
You can change this by a db command, please do not add a "/" at the end of path
/etc/init.d/transmission-daemon stop config setprop transmission Transdlfolder /opt/toto mkdir -p /opt/toto chown -R transmission:transmission /opt/toto/ signal-event conf-transmission
Browse your downloads
You can change these settings with commands below
Through samba
Add users and groups
only the admin is allowed to browse your downloads with samba, if you want to add more users or groups
config setprop transmission Smbusers "admin user1 user2 @group1 @group2" signal-event conf-transmission
In the smb.conf a group is called by "@", do not forget to add it if you want to allow group1 : @group1
Then you can browse all samba shares of your server, find the transmission share and perform a login with your credentials.
through your web browser
It is a nice feature if you can exchange downloads with your friends outside of your network, of course this could be forbidden in certain countries.
go to https://sme-ip-host/dl-transmission
Access global-local-none
By default only IPs which are on your local network are allowed to reach the transmission download folder with a web browser, but this behaviour can be changed.
Only IPs of your local network
config setprop transmission Webdlaccess local
or All IPs
config setprop transmission Webdlaccess global
or No access
config setprop transmission Webdlaccess none
After that
signal-event conf-transmission
Add users
If you want to allow more users to the download transmission folder
config setprop transmission Webuser "admin user1 user2" signal-event conf-transmission
All users need to be real users in the server-manager with a password set
Add groups
If you want to allow more groups to the download transmission folder
config setprop transmission Webgroup "group1 group2 group3" signal-event conf-transmission
All groups need to be real groups in the server-manager with a password set
change the default url
By default the download transmission folder is reachable at https://sme-ip-or-host/dl-transmission but if you want to change this
config setprop transmission Webdlurl XXXXX signal-event conf-transmission
then you need to go to https://sme-ip-or-host/XXXXX
Listening Port
Transmission is listening in standard on the port 51413 which need to be enabled in the firewall of your network and in your SME Server. Transmission uses the UPNP protocol to allow its port through your network firewall.
Randomize port on launch
In certain case you may want to allow a random port (set between 49152 and 65535). After each Port modifications, you should go to the transmission setting to verify the port is "open"
config setprop transmission-daemon TCPPorts 49152:65535
then in the transmission setting, check the box "randomize port on launch and restart the service
signal-event remoteaccess-update
Set a different port
In certain case you may want to allow a different port (default is 51413). After each Port modifications, you should go to the transmission setting to verify the port is "open"
config setprop transmission-daemon TCPPort 51485
then in the transmission setting, change the port number to be relevant of your db command and restart the service
signal-event remoteaccess-update
If you want that your change comes persistent you have to modify the template /etc/e-smith/templates/var/lib/transmission/settings.json
please see this chapter
Custom Templates
Transmission is a daemon which needs its configuration file named settings.json.
To give easier our life, this configuration file is templated in /etc/e-smith/templates/var/lib/transmission/settings.json.
If you want to make modifications that you cannot change with the web interface of transmission or if you want to give them persistent in case of reconfiguration, you can modify the template.
before you have to stop the transmission-daemon
# /etc/init.d/transmission-daemon stop Arrêt de transmission-daemon : [ OK ]
then
nano /etc/e-smith/templates/var/lib/transmission/settings.json
ctrl+x to save and
signal-event conf-transmission
Known Issues
409: Conflict
If you try to reach transmission with a "/" at the end of your url you may have this error in the web browser
for example try this
https://sme-ip-host/transmission/
and you can see this page in your web browser
409: Conflict Your request had an invalid session-id header. To fix this, follow these steps: When reading a response, get its X-Transmission-Session-Id header and remember it Add the updated header to your outgoing requests When you get this 409 error message, resend your request with the updated header This requirement has been added to help prevent CSRF attacks. X-Transmission-Session-Id: gEtlm4qQBEDbEcmmD93Z44F7pWKbhu5YboQLxsoNfFKv096H
Uninstall
yum remove smeserver-transmission transmission* libevent2 signal-event post-upgrade; signal-event reboot
and this if you want to remove all db configurations
config delete transmission config delete transmission-daemon
Bugs
Please raise bugs under the SME-Contribs section in bugzilla and select the smeserver-transmission component or use this link .