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.
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.
Forget about those, for 100$ you can get a second hand HP Mini that has a full i5 8th gen CPU and 16GB of RAM. Way better in all possible ways. Those systems also run very well with Linux.
In you case setting bind-address-ipv4 and bind-address-ipv6 to your VPN IPs should work. According to this under macOS settings are stored in $HOME/Library/Preferences/org.m0k.transmission.plist. Not sure if the format is the same tho and don’t forget that editing a plist on macOS isn’t just always just editing a text file, it might be encoded and cached by the system, do your research.
Yes transmission does support it, however if you’re running in Linux you can also just restrict it to run on the VPN IP or interface. Read more here: lemmy.world/comment/5269089
If you’re running Transmission on Linux know that I can be set to only use the VPN IP, there’s also another good way to implement a kill switch: lemmy.world/comment/5269089
I just don’t want my content scattered across different platforms in suboptimal quality and be forced to pay
That and also the fact that sometimes content vanishes from those platforms because of licensing agreements and/or get censored like many older TV Shows have gotten.
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.
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.
You don’t need to switch to another client. Apparently Transmission can be set to bind to your VPN IP by editing settings.json:
bind-address-ipv4: String (default = “0.0.0.0”) Where to listen for peer connections. When no valid IPv4 address is provided, Transmission will bind to “0.0.0.0”.
bind-address-ipv6: String (default = “::”) Where to listen for peer connections. When no valid IPv6 address is provided, Transmission will try to bind to your default global IPv6 address. If that didn’t work, then Transmission will bind to “::”.
If you set those with your VPN IP and the VPN is down then Transmission won’t be able to communicate with any peers.
Another option, is to use systemd to restrict Transmission’s networking to your VPN IP. You can make an override of the default transmission daemon unit by using the following command:
<span style="color:#323232;">[Service]
</span><span style="color:#323232;">IPAddressDeny=any
</span><span style="color:#323232;">IPAddressAllow=10.0.0.1 # --> your VPN IP here
</span>
Another systemd option, might be to restrict it to a single network interface:
<span style="color:#323232;">[Service]
</span><span style="color:#323232;">RestrictNetworkInterfaces=wg0 # --> your VPN interface
</span>
Save the file and run systemctl daemon-reload followed by systemctl restart transmission-daemon.service and it should be applied.
This will be safer than just doing bind-address-ipv4 and bind-address-ipv6.