Difference between revisions of "Transmission"

From SME Server
Jump to navigationJump to search
 
(72 intermediate revisions by 3 users not shown)
Line 6: Line 6:
 
=== Maintainer ===
 
=== Maintainer ===
 
[mailto:stephdl@de-labrusse.fr Stéphane de Labrusse] AKA [[User:Stephdl|Stephdl]]
 
[mailto:stephdl@de-labrusse.fr Stéphane de Labrusse] AKA [[User:Stephdl|Stephdl]]
 +
 +
===Version===
 +
{{#smeversion: smeserver-transmission }}
 +
[[Version::contrib9|stephdl]][[Has SME9::true| ]]
  
 
=== Description ===
 
=== Description ===
This contribution for SME Server adds the ability to seed or to download SME Server CDROM ISO trough the Bit-torrent protocol.
+
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 [http://www.transmissionbt.com/ transmission]
 +
 
 +
=== Install Geekery Repository ===
 +
http://geekery.altervista.org/
 +
http://geekery.altervista.org/dokuwiki/doku.php
  
=== Requirements ===
+
= For SME 8 =
You need to activate two repositories, [[geekery]] which hosts Transmission binaries and [[stephdl]].
+
/sbin/e-smith/db yum_repositories set GeekeryTransmission repository \
 +
Name 'geekery repository' \
 +
MirrorList 'http://geekery.epac.to/geekery/el5-mirrors' \
 +
IncludePkgs transmission*,libevent2 \
 +
EnableGroups no \
 +
GPGCheck yes \
 +
GPGKey http://geekery.altervista.org/download.php?filename=GEEKERY-GPG-KEY \
 +
Visible no \
 +
status disabled
  
=== Installation ===
+
= For SME 9 =  
This contrib is currently held in several repository, so the following commands will install on your smeserver.
+
/sbin/e-smith/db yum_repositories set GeekeryTransmission repository \
 +
Name 'geekery repository' \
 +
MirrorList 'http://geekery.epac.to/geekery/el6-mirrors' \
 +
IncludePkgs transmission*,libevent2 \
 +
EnableGroups no \
 +
GPGCheck yes \
 +
GPGKey http://geekery.altervista.org/download.php?filename=GEEKERY-GPG-KEY \
 +
Visible no \
 +
status disabled
 +
<headertabs/>
 +
  
  yum --enablerepo=geekery,stephdl install smeserver-transmission
+
After adding it to the database updating the configuration file is required:
 +
signal-event yum-modify
 +
 
 +
=== Installation For SME8 and SME9===
 +
This contrib is currently held in several repositories, so the following commands will install it on your smeserver.
 +
 
 +
  yum --enablerepo=stephdl,GeekeryTransmission install smeserver-transmission
  
 
You will then need to activate the database changes etc.
 
You will then need to activate the database changes etc.
 
The 'official' way is to perform
 
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=stephdl smeserver-transmission transmission
 +
and
 
  signal-event post-upgrade;  signal-event reboot
 
  signal-event post-upgrade;  signal-event reboot
 
or if you do NOT want to reboot your server
 
or if you do NOT want to reboot your server
Line 26: Line 74:
  
 
===Login to 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<br />
  
The url to reach the transmission is https://sme-ip-or-host/transmission<br />
+
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'''.
 
 
Just after the installation, only the '''admin''' user is allowed to perform a login with its SME Server credentials.  
 
 
{{Note box|All users or groups need to be real users or groups in the server-manager with a password set}}
 
{{Note box|All users or groups need to be real users or groups in the server-manager with a password set}}
 
====Add users====
 
====Add users====
If you want to allow more users to transmission
+
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"
+
  config setprop transmission Transuser user1,user2
 
  signal-event conf-transmission
 
  signal-event conf-transmission
All users need to be real users in the server-manager with a password set
+
All users need to be real users in the server-manager with a password set.
 +
 
 
====Add groups====
 
====Add groups====
If you want to allow more groups to transmission
+
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"
+
  config setprop transmission Transgroup group1,group2,group3
 
  signal-event conf-transmission
 
  signal-event conf-transmission
All groups need to be real groups in the server-manager with a password set
+
All groups need to be real groups in the server-manager with a password set.
  
 
====change the default url====
 
====change the default url====
 
By default transmission is reachable at https://sme-ip-or-host/transmission but if you want to change this
 
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
 
  config setprop transmission Name XXXXX
 +
expand-template /var/lib/transmission/settings.json
 
  signal-event conf-transmission
 
  signal-event conf-transmission
 +
 
then you need to go to https://sme-ip-or-host/XXXXX
 
then you need to go to https://sme-ip-or-host/XXXXX
  
 
====Disable the access (web/samba) to Transmission====
 
====Disable the access (web/samba) to Transmission====
If you want to close all your users access to the transmission contrib by web or by samba you can perform this. But this do not stop the transmission daemon
+
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
 
  config setprop transmission status enabled
 
  signal-event conf-transmission
 
  signal-event conf-transmission
  
===Browse your download===
+
====Access global-local-none====
You can browse all your downloads either by samba, or by your browser (by default only on your local network)
+
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.
====By samba====
+
 
only the admin is allowed to browse your download with samba, if you want to add more users or groups
+
Only IPs on your local network
  config setprop transmission Smbusers "admin user1 user2 @group1 @group2"
+
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===
 +
{{Tip box|Just after the installation, You can browse all your downloads either by samba, or with your browser. Only the '''admin''' user is allowed to perform a login with its SME Server credentials, and for matters of security, '''only on your local network'''.}}
 +
 
 +
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 user1,user2,@group1,@group2
 
  signal-event conf-transmission
 
  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<br />
 
In the smb.conf a group is called by "@", do not forget to add it if you want to allow group1 : @group1<br />
Line 63: Line 147:
 
Then you can browse all samba shares of your server, find the transmission share and perform a login with your credentials.
 
Then you can browse all samba shares of your server, find the transmission share and perform a login with your credentials.
  
====By your web browser====
+
====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.
 
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.
{{Note box|By default the web access to transmission downloads is only allowed on your local network.}}
+
{{Note box|By default the web access to transmission downloads is only allowed on your local network and only for the admin user.}}
  
 
go to https://sme-ip-host/dl-transmission
 
go to https://sme-ip-host/dl-transmission
Line 83: Line 167:
  
 
=====Add users=====
 
=====Add users=====
If you want to allow more users to the download transmission folder
+
only the admin is allowed to browse your downloads with samba, if you want to add more users or groups
  config setprop transmission Webuser "admin user1 user2"
+
  config setprop transmission Webuser user1,user2
 
  signal-event conf-transmission
 
  signal-event conf-transmission
 
All users need to be real users in the server-manager with a password set
 
All users need to be real users in the server-manager with a password set
  
 
=====Add groups=====
 
=====Add groups=====
If you want to allow more groups to transmission
+
If you want to allow more groups to the download transmission folder
  config setprop transmission Webgroup "group1 group2 group3"
+
  config setprop transmission Webgroup group1,group2,group3
 
  signal-event conf-transmission
 
  signal-event conf-transmission
 
All groups need to be real groups in the server-manager with a password set
 
All groups need to be real groups in the server-manager with a password set
 +
 
=====change the default url=====
 
=====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
 
By default the download transmission folder is reachable at https://sme-ip-or-host/dl-transmission but if you want to change this
Line 99: Line 184:
 
then you need to go to https://sme-ip-or-host/XXXXX
 
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.<br />
 +
 +
====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 <br />
 +
 +
please see [[Transmission#Custom_Templates|this chapter]]
 +
 +
===Custom Templates===
 +
Transmission is a daemon which needs its configuration file named settings.json.<br />
 +
 +
To give easier our life, this configuration file is templated in /etc/e-smith/templates/var/lib/transmission/settings.json.<br />
 +
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.<br />
 +
 +
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/<br />
 +
 +
and you can see this page in your web browser<br />
 +
 +
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 ===
 
=== Uninstall ===
 
  yum remove smeserver-transmission transmission* libevent2
 
  yum remove smeserver-transmission transmission* libevent2
  signal-event post-upgrade;  signal-event reboot
+
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 ===
 
=== Bugs ===
Please raise bugs under the SME-Contribs section in [http://bugs.contribs.org/enter_bug.cgi bugzilla]
+
Please raise bugs under the SME-Contribs section in [http://bugs.contribs.org/enter_bug.cgi bugzilla] and select the smeserver-transmission component or use {{BugzillaFileBug|product=SME%20Contribs|component=smeserver-transmission|title=this link}}.  
and select the smeserver-foo component or use {{BugzillaFileBug|product=SME%20Contribs|component=smeserver-foo|title=this link}}.  
 
  
''' remove the nowiki tags from your page '''
+
[[Category: Contrib]]
<nowiki><noinclude>[[Category: Contrib]]</noinclude></nowiki>
 

Latest revision as of 04:59, 18 April 2021


Transmission for SME Server

PythonIcon.png Skill level: Medium
The instructions on this page require a basic knowledge of linux.


Maintainer

Stéphane de Labrusse AKA Stephdl

Version

smeserver-transmission
The latest version of smeserver-transmission is available in the SME repository, click on the version number(s) for more information.


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

Install Geekery Repository

http://geekery.altervista.org/
http://geekery.altervista.org/dokuwiki/doku.php
[edit]
/sbin/e-smith/db yum_repositories set GeekeryTransmission repository \
Name 'geekery repository' \
MirrorList 'http://geekery.epac.to/geekery/el5-mirrors' \
IncludePkgs transmission*,libevent2 \
EnableGroups no \
GPGCheck yes \
GPGKey http://geekery.altervista.org/download.php?filename=GEEKERY-GPG-KEY \
Visible no \
status disabled
/sbin/e-smith/db yum_repositories set GeekeryTransmission repository \
Name 'geekery repository' \
MirrorList 'http://geekery.epac.to/geekery/el6-mirrors' \
IncludePkgs transmission*,libevent2 \
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 For SME8 and SME9

This contrib is currently held in several repositories, so the following commands will install it on your smeserver.

yum --enablerepo=stephdl,GeekeryTransmission 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=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.

Important.png Note:
All users or groups need to be real users or groups in the server-manager with a password set


Add users

If you want to allow more users to use 'transmission' then execute these commands at the Command Line.

config setprop transmission Transuser 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

Information.png Tip:
Just after the installation, You can browse all your downloads either by samba, or with your browser. Only the admin user is allowed to perform a login with its SME Server credentials, and for matters of security, only on your local network.


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 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.

Important.png Note:
By default the web access to transmission downloads is only allowed on your local network and only for the admin user.


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

only the admin is allowed to browse your downloads with samba, if you want to add more users or groups

config setprop transmission Webuser 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 .