How to automate windscribes ephemeral port update in qbittorrent?

parim19532@lemmy.dbzer0.com to Piracy: ꜱᴀɪʟ ᴛʜᴇ ʜɪɢʜ ꜱᴇᴀꜱ@lemmy.dbzer0.com – 19 points –

Basically the title. If anyone has got this working can you please point me in the right direction? I don't want to manually generate the port each week and then manually update qbittorrent

5

If you happen to use gluetun (great project btw) you can use the environment property VPN_PORT_FORWARDING=on and a volume mapping to /tmp/gluetun/forwarded_port to obtain the port number from the container. Then with the bittorrent-port-forward-file container (Link) you can automatically set the port from the file to qbittorrent.
I use this with ProtonVPN and it works like a charm.

Here the relevant parts of my docker compose file:

  gluetun:
    image: qmcgaw/gluetun
    <...>
    volumes:
      <...>
      - ./port-forwarding/forwarded_port:/tmp/gluetun/forwarded_port:rw
    environment:
      # See https://github.com/qdm12/gluetun/wiki
      <...>
      - VPN_PORT_FORWARDING=on
      - VPN_PORT_FORWARDING_PROVIDER=protonvpn

  qbittorrent-port-forward-file:
    platform: linux/amd64 #needed for raspi
    image: charlocharlie/qbittorrent-port-forward-file                           
    container_name: port-forward-file                                            
    depends_on:
      - qbittorrent
      - gluetun
    restart: unless-stopped
    volumes:
      - ./port-forwarding:/config:ro
    environment:
      - QBT_USERNAME=
      - QBT_PASSWORD=
      - QBT_ADDR=gluetun:9092
      - PORT_FILE=/config/forwarded_port

The file containing the port number sits at ./port-forwarding/forwarded_port on the host (you may need to create the empty file before first usage).

See gluetun wiki here: Link

Hey, thanks for replying. I do use gluetun :). Unfortunately I use windscribe, and there I can't have a permanent port.. I have to generate a port manually every 7 days. So I don't think this method will work with windscribe. Thanks for the help though

Someone already has a project for that on GitHub. I haven't tried it yet tho. The creator is also rewriting it to support other clients such as transmission and qbittorrent (v3 branch).

This has been on my list of things to do for some time. I took a look at the API calls once and it seems they purposefully obfuscate doing a manual call.