Recently, I had two reasons to look at Bittorrent again:
- The release of Fedora 22, and the desire to use my server as a seeder for the various ISO files for the new Fedora 22.
- The release of Zak MacCracken Directors Cut, which is quite a huge file (about 3GB) and the download from Google Drive is sometimes limited.
Since I tried last time, things have become so much easier.
Install Transmission for Seeding
I installed a CentOS7, with Transmission.
yum install epel-release yum install transmission transmission-cli transmission-daemon |
In my LXC setup, I needed to configure iptables for both TCP and UDP:
iptables -t nat -A PREROUTING -p tcp -d 85.25.109.83/32 -i p10p1 -m tcp --dport 51413 -j DNAT --to-destination 10.0.3.34:51413 iptables -t nat -A PREROUTING -p udp -d 85.25.109.83/32 -i p10p1 -m udp --dport 51413 -j DNAT --to-destination 10.0.3.34:51413 /etc/network/if-post-down.d/iptablessave ./initWebproxy.sh 34 bittorrent.solidcharity.com # change to port 9091 in the nginx conf file |
This is the configuration inside the bittorrent container again:
systemctl enable transmission-daemon systemctl start transmission-daemon systemctl stop transmission-daemon vi /var/lib/transmission/.config/transmission-daemon/settings.json rpc-whitelist-enabled: false rpc-authentication-required: true rpc-enabled: true rpc-user: yourusername rpc-password: secret |
To mirror existing torrents, you can upload a torrent eg. from https://torrents.fedoraproject.org/ through the web interface of Transmission.
You find the uploaded files in /var/lib/transmission/Downloads
.
Install your own tracker
For the tracker, I chose to use Bitstorm, and have adjusted it a bit: https://github.com/tpokorra/bitstorm forked from https://github.com/wsv-accidis/bitstorm. What I like about Bitstorm is that you can specify which torrents your tracker should server. That way, you can keep unwanted torrents out. See the _config.sample.php for details.
I have that tracker running on a different machine, because I had some problems if I was running it on the same container or even host as the Transmission seeder server. Bitstorm just requires PHP and Mysql.
Create your own torrent
mkdir /var/lib/transmission/Downloads/ZakMcKracken-BTAS-Linux mv *.tar.gz /var/lib/transmission/Downloads/ZakMcKracken-BTAS-Linux cd /var/lib/transmission/Downloads/ZakMcKracken-BTAS-Linux md5sum ZakMcKracken-BTAS.tar.gz > ZakMcKracken-BTAS.md5sum cd .. transmission-create ZakMcKracken-BTAS-Linux --piecesize 256 --tracker http://bt.solidcharity.com:80 # publish /var/lib/transmission/Downloads/ZakMcKracken-BTAS-Linux.torrent |