FIXME - I'm having some issues with configuration, where the regular start routine won't work, probably because I'm using a symbolic link for some configuration. Argh!
BitTorrent with the Raspberry Pi >
I ended up going with transmission-daemon, because I had been using transmission on my desktop.
It's both capable and surprisingly easy to set up.
Tested 2013-11-01 on Raspbian 2013-09-25, updated recently.
Installation ∞
Either SSH or remote desktop into your Raspberry Pi, and do:
\sudo \apt-get install transmission-daemon
Note that installation automatically starts it, which is pretty damned stupid.
start/restart/stop transmission-daemon ∞
Important: Stop transmission-daemon before making any manual changes to the text file, otherwise when next stopping/restarting it, it will overwrite your changes!
One of the following two should work. Substitute "stop" with "restart" or "start".
\sudo \service transmission-daemon stop
\sudo /etc/init.d/transmission-daemon stop
In some cases, you can stop it by kill
ing it. This is usually necessary if you ran it like a regular program instead of using either the service or init command listed above.
\kill -9 $( \pidof transmission-daemon )
running transmission-daemon with custom configuration ∞
If, like me, you've been using transmission-gtk
or transmission-qt
then in order to avoid transmission-daemon's insane default preference location, you have to specifically start it up and point it at your proper preference directory:
transmission-daemon --config-dir /home/user/.config/transmission
Transmission setup on the Raspberry Pi ∞
Configuration ∞
Important: Stop transmission-daemon before making any manual changes to the text file, otherwise when next stopping/restarting it, it will overwrite your changes!
Edit the configuration file and make the changes you think you'll need:
\sudo \nano /var/lib/transmission-daemon/info/settings.json
Alternately, you can edit the configuration file and then have it reload the configuration file:
\invoke-rc.d \transmission-daemon reload
Some settings you probably shouldn't touch:
"rpc-enabled": true, "rpc-url": "/transmission/", "rpc-port": 9091, "rpc-whitelist-enabled": true,
Some you probably should:
"rpc-username": "username", "rpc-password": "password", "download-dir": "/var/lib/transmission-daemon/downloads", "rpc-whitelist": "127.0.0.1, 192.168.0.2",
.. you can just type in the password plainly, deleting anything that's already there. The first time transmission starts up, it will take that plain text and encode it so it can't be useful to anyone who might read settings.json.
Many other settings probably ought to be set. I use a GUI tool to customize things. I'll get into using a GUI soon.
If you also intend to use a GUI either from the Raspberry Pi itself or from your desktop, then check these settings:
"remote-session-enabled": true, "remote-session-host": "localhost", "remote-session-port": 9091, "remote-session-requres-authentication": true
For more on configuration, see transmission wiki: Edit Config Files.
Start ∞
After making your changes, you start transmission-daemon. See the instructions above.
Access transmission using a web browser ∞
- Launch your web browser.
-
Go to the transmission page
- If you're on your desktop, then visit
192.168.0.3:9091
(or whatever IP address you use)
-- See SSH or remote desktop for how you'd get your Raspberry Pi's IP address. - If you're on the Raspberry Pi itself, then either visit
127.0.0.1:9091 or
localhost:9091`
- If you're on your desktop, then visit
-
Enter the username and password you specified when you edited `settings.json earlier.
Access transmission using a GUI ∞
-
Launch your GUI. I use
transmission-qt
- When you first launch the GUI, it will attempt to create/continue a session on its own. This is the wrong session, and it must be changed.
Edit > Change Session
-
(o) Connect to Remote Session
- If you're on your desktop, then
Host: 192.168.0.3
andPort: 9091
- If you're on the Raspberry Pi itself, then
Host:
is either127.0.0.1
orlocalhost
andPort: 9091
- If you're on your desktop, then
-
[x] Authentication required
- Enter the username/password you specified when you first edited settings.json
Troubleshooting ∞
Checking logs ∞
The logging is done to /var/log/daemon.log
If you get a warning trying to start transmission-daemon, nothing will be put in that log. So.. you won't have a clue why it won't start up.
Permissions issues ∞
Permissions issues can be a serious problem, especially if you fiddle with symbolic links, placing the configuration files in different locations, or expect to be able to start transmission-qt
or another GUI and re-use the same configuration as transmission-daemon
uses.
I really highly recommend you don't do anything non-standard here. You can have a GUI connect to transmission-daemon via a remote session, without trying to start it up like a traditional standalone app.
\sudo \chown --recursive debian-transmission:pi /var/lib/transmission-daemon/* \sudo \find /var/lib/transmission-daemon/ -type d -exec \sudo \chmod 755 {} \; \sudo \find /var/lib/transmission-daemon/ -type f -exec \sudo \chmod 660 {} \;
Reinstallation ∞
You can completely uninstall and also remove all existing configuration with:
\sudo \apt-get remove --purge transmission-daemon
.. then install as you did before. You'll get its default configuration again.
Missing features ∞
Web interface limitations
There are some things which I'd need to completely rid myself of a GUI.
- I don't see the ability to edit the trackers list
-
While you can set the location for a file, you cannot browse for it.
However, the GUI has the great advantage of being much faster than a web browser if you're running it on the Raspberry Pi itself.
Last updated 2022-06-04 at 19:15:18
Hi,
Thanks for the guide. I'm purley using the GTK over a VNC connection to my Pi. I can't find the settings.json file, I need to increase the 'upload slots per torrent' value from 15 to something higher. Any advice would be greatly appreciated.
Thanks
Rashad
Found it! I had to set 'Show Hidden Files' in the 'View' option in the tool bar. Then when I browsed in File Manager I found the elusive '.config' folder. In here go into the Transmission folder :)
P.S. I had to install transmission-daemon first, then start / stop it. I then ran
which seems to have created the settings.json file from Transmission-GTK
I'm glad it worked out for you. =)
did a little cleanup while I was passing through