Favourite FOSS Torrenting Client for Linux that has a VPN killswitch?

Cows Look Like Maps@sh.itjust.works to Piracy: ꜱᴀɪʟ ᴛʜᴇ ʜɪɢʜ ꜱᴇᴀꜱ@lemmy.dbzer0.com – 108 points –

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:

  1. Pause torrents
  2. Connect VPN
  3. Open qBittorrent. Go to Preferences, and then Advanced tab
  4. Change network interface to tun0. If unsure, disconnect VPN and restart qBittorrent then repeat step 1 to see which interface appears.
  5. Restart qBittorrent
  6. 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.
40

You are viewing a single comment

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.

There's a simpler option for those who like Transmission: https://lemmy.world/comment/5269089

I disagree that it’s simpler, because most VPNs will use dynamic IPs. So any time your internet flickers or your power goes out, you’ll need to reconfigure Transmission with the new IP. Sure your method works for a kill switch. But it requires manual intervention every time it gets killed. With qBit’s interface binding, it doesn’t care what the VPN’s IP is. All it cares about is that it’s using the specific interface. So if the VPN is disconnected (and the VPN’s interface has no connection) then qBit simply thinks there’s no connection to the internet.

you’ll need to reconfigure Transmission with the new IP. Sure your method works for a kill switch. But it requires manual intervention every time it gets killed.

It doesn't. You can specify your VPN provider range instead of a single IP and you won't need manual intervention.

If you go the systemd route you can do it even better with RestrictNetworkInterfaces:

RestrictNetworkInterfaces= Takes a list of space-separated network interface names. This option restricts the network interfaces that processes of this unit can use.

So I guess this is a better option than doing IP or IP range restrictions - zero manual intervention like you do in qBit. I'm so used to work with IPs instead of interfaces (because of the issues that can cause) that I even forgot about that option.

That doesn't look like a simpler option to me...

In what way does this seem simpler to you?

It’s not just about being simple, it’s about 1) still using transmission - because some people like decent and simple torrent clients and 2) a systemd enforced network restriction is way safer than whatever bind to interface / IP setting a program might come up with.

But you called it a simpler option, that's why I'm asking

Its simpler than having to learn another torrent client or whatever, at the end of the day what I'm suggesting is adding a line to a text file with the interface.