After the Mullvad fiasco I decided to stop using VPNs all together, since port forwarding is always going to be a problem on all of them, if you read the reasons why Mullvad had to shut down that service.
There is a better way using i2p which conceals your IP and makes it impossible for anyone to know what or if you're downloading at all! No DMCA notices, no problem.
I wrote this small guide to another comment and figured I'd share it in its own post since I'm seeing so many people ask for VPN recommendations.
So there are 2 main implementations of i2p. First is the main Dev’s Java client here https://geti2p.net/en/download
The other is i2pd, which is C++.
I use the Java one personally but both would work. Someone posted back on reddit a guide on /r/i2p for qbittorrent, which is what I use now for this too. The guide was shared as a public torrent you can download with this info hash: 3f1d51095f9b116739172c1bced149acf2b10692
Use that hash with any of the various public trackers and you should be able to download that guide.
But if you just want a basic setup, that Java client comes with i2psnark, which is a Bittorrent client already setup.
The only other thing you want to do is go and search the biggest tracker for stuff, which is called PaTracker, Postman’s tracker. http://tracker2.postman.i2p, only accessible from i2p itself, which you’ll need to have setup and running first to view.
This tracker needs more seeders and uploaders in general, and by improving those things service for everyone is better. So the more the merrier.
Thanks! Feel free to ask any questions, there also might be other people who use i2p now for torrenting. I'm sure they'll help too.
Huh, I've been using a VPN for torrent without setting up any kind of port forwarding! Can someone explain why you might want to do this?
Port forwarding, which Mullvad was allowing until recently, allows other people to connect to your bittorrent client that is downloading/seeding torrents. This makes it easier for you to find others who can either help you download, or seed for other users in the network.
Basically it improves download speeds and allows you to easily upload to everyone else.
I see, thanks for clarifying! Even without port-forwarding, I'm able to make some connections. Is there just a more limited set of destination IPs I'm able to connect to? What dictates whether or not I'm able to connect?
Yes! You still get to make outgoing connections to anybody who can accept incoming connections.
Port forwarding makes it so you can accept incoming connections.
Oh also for your last question: Firewalls and NAT. NAT stands for network address translation. NAT is what these services use for getting people to 'share' ip addresses in a pool and then map ports to each person/host. https://en.wikipedia.org/wiki/Network_address_translation
Interesting. So when I'm connecting to peers for downloading, these connections can be initiated in both ways? And since I'm not currently port-forwarding, this means I can only actively find peers, rather than passively accepting incoming connections?
That's exactly correct!
Cool, I learned something today! Thanks :)
Read this article - https://tailscale.com/blog/how-nat-traversal-works/
Maybe one day ipv6 will allow direct connections again, but I get the feeling that ISPs will still disallow new inbound connections by default.