Difference between revisions of "Transmission"
Unnilennium (talk | contribs) |
|||
(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 | + | 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 | ||
− | == | + | = For SME 8 = |
− | + | /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 | ||
− | == | + | = For SME 9 = |
− | + | /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= | + | 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 /> | ||
− | + | 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 | + | 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 | + | 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 | + | 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 | + | ====Access global-local-none==== |
− | You can browse all your downloads either by samba, or | + | 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 the admin is allowed to browse your | + | Only IPs on your local network |
− | config setprop transmission Smbusers | + | 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. | ||
− | ==== | + | ====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===== | ||
− | + | only the admin is allowed to browse your downloads with samba, if you want to add more users or groups | |
− | config setprop transmission Webuser | + | 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 | + | 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 | |
+ | 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- | ||
− | + | [[Category: Contrib]] | |
− |
Latest revision as of 04:59, 18 April 2021
Transmission for SME Server
Maintainer
Stéphane de Labrusse AKA Stephdl
Version
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
/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.
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
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.
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 .