How to route transmission through Mullvad?

christophski@feddit.uk to Piracy: ꜱᴀɪʟ ᴛʜᴇ ʜɪɢʜ ꜱᴇᴀꜱ@lemmy.dbzer0.com – 32 points –

Does anyone know the best way to route traffic from transmission through Mullvad?

I have transmissionset up on my plex server which I control using tranmission remote and want to download my Linux ISOs with privacy.

I have downloaded the wireguard config and can connect to it using wg-quick, but I don't want all traffic going through it, only transmission.

28

I personally shove Transmission into Docker:

services:
  wireguard:
    image: ghcr.io/linuxserver/wireguard
    container_name: wireguard
    cap_add:
      - NET_ADMIN
      - SYS_MODULE
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Stockholm
    ports:
      - 9091:9091/tcp
    volumes:
      - ./config:/config
      - /lib/modules:/lib/modules
    sysctls:
      - net.ipv6.conf.all.disable_ipv6=0
      - net.ipv4.conf.all.src_valid_mark=1
    restart: unless-stopped
  transmission:
    image: ghcr.io/linuxserver/transmission
    container_name: transmission
    ulimits:
      nofile: 1048576
    environment:
      - PUID=1000
      - PGID=996
      - TZ=Europe/Stockholm
      - USER=azurediamond
      - PASS=hunter2
    volumes:
      - ./config:/config
      - /data:/data
      - /data/Torrents/dl:/downloads
      - /data/Torrents/inbox/start:/watch
    network_mode: "service:wireguard"
    depends_on: [ "wireguard" ]
    restart: unless-stopped

Make sure your mullvad config is called wg0.conf in ./config.

I'm trying this and it seems to be running. If I run curl 127.0.0.1:9091 I get a 403 which is expected but if I try to access the same from another computer on the network then the connection times out, any idea what could be the cause?

Consider moving from mullvad if you are into torrenting. Mullvad doesnt support port forwarding anymore. But no matter what provider you chose, use docker container gluetun to route traffic from any other container (like transmission). I like transmission, but most people use qbittorrent because its more advanced. You can also set up VPN in qbittorrent settings

5 more...

I highly recommend moving that to a docker or podman setup. Gluetun is the go-to for VPN traffic. Set up a little container and you can link other containers to it to route all their traffic through.

You might want your program and the vpn interface to be in a separate namespace? Somewhat opposite this: https://www.wireguard.com/netns/#the-new-namespace-solution

You don’t want all traffic routed, you want only this one app. More info here: https://linuxhint.com/use-linux-network-namespace/

https://github.com/Safing/portmaster

You could use something like portmaster to route only that program to the VPN.

Probably safer to configure your program to use the mullvad proxy. That way if mullvad is offline it just won't work.

The gold standard for what you want to do is qubes, where you would set up a VM that can only talk to a VM that's routing to the VPN. But that's a lot of work. You might be able to set something similar with containers.

This other post may be interesting as well https://slrpnk.net/post/2096570

How do I configure it to use the Mullvad proxy?

I would Google transmission proxy configuration