Favourite FOSS Torrenting Client for Linux that has a VPN killswitch?
I'm a long-time Transmission user but I just learned that VPN killswitches are a thing (how did it take me so long!?). I would like to try another client which has this feature in case I forget to launch my VPN client before opening Transmission. Does anybody have any recommendations? Deluge? QBittorrent? Or any others?
UPDATE:
Thanks for the suggestions everyone! I decided to give qbittorrent a try and have been enjoying it so far.
I followed these steps to bind it to my VPN from on Linux:
Pause torrents
Connect VPN
Open qBittorrent. Go to Preferences, and then Advanced tab
Change network interface to tun0. If unsure, disconnect VPN and restart qBittorrent then repeat step 1 to see which interface appears.
Restart qBittorrent
Test it out on the official kubuntu torrent or your favourite distro from LinuxTracker.org. Turn your VPN on and off while verifying whether it pauses and resumes downloading.
As others have said, just use qBit. It’s feature-rich and supports network interface binding. Simply bind it to your VPN’s interface, and it’ll only use your VPN. If your VPN connection drops/isn’t turned on, qBit simply won’t be able to connect.
Docker with a gluetun container. This container's only role is to connect to my VPN provider. Any traffic I want through the VPN is set to use that container as its network. If the VPN goes down, gluetun loses connection, any container attached to gluetun can no longer access the internet.
I use a qbittorent docker container for my torrent client but you can attach whatever client you're comfortable with, as well as any other container you prefer be on a VPN.
While qbittorent has a built in kill switch, this works for everything. No VPN means no connection, period.
That's exactly what I have set up too. I also have gluetun tied to my Prowlarr and NZBget containers. I know Prowlarr tied to VPN may be overkill but it doesn't hurt anything so why not?
Haha, same. Stuck Prowlarr on there because why not? That's the beauty of this setup. It takes no effort after gluetun is set, so no reason not to just attach anything even remotely questionable.
As long as the tracker doesn't have anything against VPNs doesn't hurt.
Nowadays not sure 🤔 but some didn't allow VPN access on the tracker webpage and at the end except in some cases that is what Prowlarr does.
I use this Docker image of Transmission that has a built-in VPN configuration. That way only the torrent traffic goes over the VPN and it starts automatically.
Like the other comments, I use qbittorrent. I recommend running your VPN with gluetun and routing the traffic from your qbittorrent container through it. If the gluetun container is down, no traffic at all. If it's up, everything goes through the vpn
Adding to the qbittorrent recommendations: qb has Socks5 support and and supports binding traffic to a specific interface. It doesn't get much better than this.
Most can bind it an IP even if they don't bind to an interface. I use rtorrent and airvpn/wireguard. Wireguard uses a static IP address for the client and rtorrent can bind to that IP. If the VPN goes down (which is very rare in my experience) rtorrent stays running but it won't work on any other IP address.
I have an OpenWRT router with an OpenVPN client on it. I use the router's firewall rules to secure the access as needed. If I'm using the VPN, then the VPN is the only way traffic can get out, as I close the direct route via firewall.
This setup persists even after a router reboot.
To do this easily, I made a Python script that can load the OpenVPN files on the router, switch on/off the OpenVPN connection and modify the firewall accordingly.
This affects the entire network, and means I am not reliant on the torrent software or desktop VPN client playing ball.
Happy to share my script if it will be handy to you.
If you're using Nord VPN then you can enable a kill switch directly in the VPN through a console command which is documented on the Nord docs. It works, I tested it.
I would not rely on Nord's VPN killswitch. It can be slow and unreliable and still briefly expose your IP to the swarm. I got an ISP letter thinking I was protected through nord's killswitch, but turns out it was not completely covering me.
I would bind the client to the wireguard network interface directly through the client. In Qbittorrent you can do it pretty easily as @CrabAndBroom@lemmy.ml mentioned.
Mullvad has one right in the GUI too, it's called "Lockdown Mode" IIRC.
Also qBittorrent has a thing in preferences where you can bind it to a specific network interface, so you can just set it to whatever your VPN uses (for Mullvad Wireguard it's 'wg-mullvad') and then if the VPN goes down it just won't do anything.