Torrents are great. I love those little files and how they facilitate peer-to-peer file sharing so I can download even more files. Files!
When I’m downloading an ISO to set up a VM or distrohop (no longer applicable), I’ll pretty much always choose the torrent download option, assuming it’s available. Whenever my band(s) put(s) out a new release, I’ll always usually create a torrent for it. There are also other use cases I have for torrents.
Anyways, regardless of why I’m using torrents, the fact is that I make frequent use of them.
I also want to mention one torrent related thing I may have used more often if all of the conditions had been right (if it had been easier to set up, if it hadn’t been abandoned and forked so many times, and so on); that being ZeroNet. The idea of decentralized, censorship resistant, peer-to-peer web hosting run via torrents is pretty amazing to me.
Even though I make frequent use of torrents, I’ve pretty terrible at seeding them after the download is complete. I admit it. I’ve more-or-less been a leech.
But no longer.
I’ve got a home server. I’ve got plenty of storage space. And I pay Comcast enough for internet service to make some use of my upload speed.
I’m setting up a seed box. A VM that can stay online perpetually and endlessly seed torrents.

The first step in all of this was actually setting up a VM in Cockpit. Any time I create a new VM, the first thing I do is create the storage volume it will use.

This can be done when creating the VM, but I just like to make sure that whatever volume is created exactly follows the weird naming conventions I’ve set for myself and my server. For this VM, the volume I created was 150GB in size. Should be enough for the time being.
The next thing is to then actually create the VM itself. I assigned it the storage volume I created previously, selected what OS to use (Debian Linux 11), and gave it a 4GB memory limit.

When I set up a kind-of important VM — one where I’m not just testing some things out but running some service for my network — I like to give it a static IP on my main network. That way I can access it directly without delving further into the arcane world of networking to set up routing between subnets and all.
Like I found out when first setting up my home server, to do this I had to do a direct attachment to the server’s actual network interface, edit some conf files on the VM, and then assign the generated MAC address a static IP on my router.

And after all of that, and going through the Debian install process, the VM was ready to go.
Now for BitTorrent Clients.
While I use Deluge on my personal machine, for the VM I went with Transmission since it has a nice built-in web client. Something to make managing things after the setup a bit easier. Installing it was just a single command.
apt install transmission-daemon
And then after editing the file at /etc/transmission-daemon/settings.json
to set the password, add local IPs to the rpc-whitelist
, and so on, it was ready to start. Once again, just a single command.
systemctl enable --now transmission-daemon
From there, it was just a matter of visiting http://192.168.xx.yy:9091/transmission
to load up the web interface. All ready to start seeding.

Undoubtedly, if I was running this on some server accessible via the public internet, and not one hidden in the confines of my home network, there would be a lot more to do. More to consider. Then again, if I did set one up like that, I would probably not even go the route of having a web interface, and just stick to a CLI torrent client. Less surface area for an attack that way.
So what am I going to seed?
Well first off, I’m not going to be seeding pirated material. I’m not trying to get multiple letters from my ISP and fines and whatnot. Regardless of my personal opinions on copyright and intellectual property laws and all, it’s just not worth it.
Totally unrelated, but, it’s pretty cool that you can use BitTorrent over i2p, and it’s pretty much anonymous.
I wanted to do something to contribute back to those open source projects that I regularly make use of. So I downloaded a bunch of ISOs of Linux distributions to seed. That and a few other FOSS projects like LibreOffice and Haiku. As I find more projects that have a torrent download option, I’ll be adding their torrents to my server.

I’m also using this as an opportunity to ensure the content I’ve created stays seeded. Both those torrents I’ve created myself, and ones created by the Internet Archive from content I’ve uploaded there.
Speaking of which, the Internet Archive needs help.
What a segway segue, huh?
Right now they’re being hit with a, for lack of a better term, bullshit lawsuit that threatens their ability (and the ability of many IRL libraries) to digitally lend copies of books they’ve paid for. Again, I’m not going to get into the specifics of my views on copyright/intellectual property/etc, but libraries are good (I worked at one for 7 years before joining the team at Reclaim), and the Internet Archive can use all the help it can get.