VPN client in a thin Docker container for multiple VPN providers, written in Go, and using OpenVPN or Wireguard, DNS over TLS, with a few proxy servers built-in. - GitHub - qdm12/gluetun: VPN clien...
I just set it up this weekend, really enjoying it so far, really good documentation in general as well. Only thing that gave me some pause was how to get port forwarding working with it, but I was able to set up a script & cron job to automatically grab the current port with the Gluetun API.
That integration with Proton VPN is what I’m using as well. However, to automate the updates of my service’s port to match the currently forwarded port is what I wanted a script and cron job for. In this manner, the service will always have the latest forwarded port even after docker service restarts, machine reboots, etc. (since Proton uses a dynamic port allocation that changes quite quickly when disconnected).
I switched to Prowlarr recently and while the autoconfiguration of the other *arrs and the consistent UI is great, Jackett works just fine and achieves the same goal.