A tool for keeping ProtonVPN, OPNsense, and qBittorrent forwarded ports in sync.
Warning
This is beta software. I'm not responsible for any issues you may encounter.
This tool helps automate port forwarding from ProtonVPN to qBittorrent via OPNsense. The tool polls ProtonVPN for the given forwarded port, checks the port set in OPNsense and qBittorrent, and updates it if necessary.
You can ignore qBittorrent by using the QBIT_SKIP
environment variable.
I recommend using the provided Docker Compose file to simplify the set up of qbop.
The Docker container is available here: https://github.com/clajiness/qbop/pkgs/container/qbop
- Docker Engine - https://docs.docker.com/engine/install/
- OPNsense - This is the tutorial I used to set up selective routing to ProtonVPN. https://docs.opnsense.org/manual/how-tos/wireguard-selective-routing.html
- qBittorrent
- ProtonVPN subscription
The given environment variables are required.
LOOP_FREQ:
This value determines how often the script runs. The default value is 45 seconds. This probably shouldn't be changed.PROTON_GATEWAY:
Usually 10.2.0.1. Do not use http(s):// or a trailing slash.OPN_INTERFACE_ADDR:
OPNsense Interface Address. Requires http(s):// and no trailing slash.OPN_API_KEY:
OPNsense API Key - https://docs.opnsense.org/development/how-tos/api.htmlOPN_API_SECRET:
OPNsense API SecretOPN_PROTON_ALIAS_NAME:
The firewall alias that you use for ProtonVPN's forwarded port. For example,proton_vpn_forwarded_port
.QBIT_SKIP:
[true/false] Skip qBittorrent. If true, subsequent qBit environment variables are not required.QBIT_ADDR:
The IP address of your qBittorrent app. Requires http(s):// and no trailing slash.QBIT_USER:
qBittorrent usernameQBIT_PASS:
qBittorrent password