Torrenting Server

From Da Nerd Mage Wiki
Jump to navigation Jump to search
Proven on:
Logo Debian.png
13 (trixie)


As always...

Start with:

  • sudo apt update
  • sudo apt upgrade

Preparation

Storage

Storage space for downloading (Torrents & such) should be done on a dedicated drive.

I tend to do most of my storage via NFS served up by my dedicated storage server.

Create a DONE & a WIP folder on the storage drive. This will make it easier to keep things organised.

  • sudo mkdir /mnt/Download_Space
  • sudo vi /etc/fstab
StorageServer:/Download_Space /mnt/Download_Space nfs rw,user,exec 0 0
  • sudo mkdir /mnt/Download_Space/DONE
  • sudo mkdir /mnt/Download_Space/WIP

If you don't want to use an NFS share for this, you could either add a dedicated drive or just set up the folders on the boot drive. I'd seriously recommend, at minimum, 500GB of available space.

Useful things

Configure your download server to use a good VPN.

Install Transmission-daemon

  • sudo apt install transmission-daemon

Configure Transmission-daemon

Note: Any time you edit settings.json, You need to stop transmission-daemon first or it'll overwrite your changes.

  • sudo service transmission-daemon stop
  • sudo vi /var/lib/transmission-daemon/info/settings.json

Here is an incomplete list of items to edit. (based on my own setup...):

"download-dir": "/mnt/Download_Space/DONE",
"incomplete-dir": "/mnt/Download_Space/WIP",
"incomplete-dir-enabled": true,
"lpd-enabled": false,
"ratio-limit-enabled": true,
"rpc-authentication-required": true,
"rpc-bind-address": "HOSTNAMEorIP",
"rpc-password": "Pick a good password (will become encrypted automagically)",
"rpc-username": "greybeard",
"rpc-whitelist": "127.0.0.1,192.168.*.*",
"script-torrent-done-enabled": true,
"script-torrent-done-filename": "/usr/local/bin/TorrentDone.sh",
"umask": 18,
  • sudo service transmission-daemon start

HOSTNAMEorIP is the proper name or address of the machine on your network.

greybeard seems like a good username for torrenting to me... :P

192.168.*.* should match the possible addresses on your LAN.

/usr/local/bin/TorrentDone.sh is a script to be run whenever a torrent finishes downloading. Fun stuff like sending notifications to your voice assistant or celphone are possibilities.

On my download server, it looks like this:

#!/bin/bash
# Have my GH mini tell me about it
mosquitto_pub -h skynet -t "Scotts Speaker Quiet" -m "One Done!"

(This MQTT topic is monitored by a Node-Red flow that sends the message on to a GH mini in my lab.)

Take a look at what passes for documentation for further pointers.

Notes

Folder permissions are VERY important...

  • sudo chmod -R 777 /mnt

Seems to work... But it's FUGLY

Some Links