Skip to content

Latest commit

 

History

History
46 lines (37 loc) · 2.81 KB

README.md

File metadata and controls

46 lines (37 loc) · 2.81 KB

qbop

A tool for maintaining a forwarded port from ProtonVPN, while keeping OPNsense and qBittorrent in sync. The tool offers a simple web UI and API with stats and logging via http://<host_ip>:4567/.

qbop is built with Ruby and available as a Docker image.

Warning

I'm not responsible for any issues you may encounter.

Purpose

This tool helps automate port forwarding from ProtonVPN to qBittorrent via OPNsense. The tool polls ProtonVPN for the forwarded port, checks the ports set in OPNsense and qBittorrent, and updates them if necessary.

You can ignore OPNsense and qBittorrent by using the OPN_SKIP and QBIT_SKIP environment variables.

Installation

I recommend using the provided Docker Compose file to simplify the set up of qbop. This container must be connected to ProtonVPN due to the required natpmpc dependency.

The container image is available here: https://github.com/clajiness/qbop/pkgs/container/qbop

Requirements

ENV variables

The sample docker-compose.yml file is available here: https://github.com/clajiness/qbop/blob/main/docker-compose.yml

Variable Default Description
LOOP_FREQ 45 This value, in seconds, determines how often the job runs. It must be a positive integer. The default value is recommended by ProtonVPN.
REQUIRED_ATTEMPTS 3 The number of loops with a new forwarded port before updating OPNsense and qBit. The min is 1, and max is 10.
LOG_LINES 50 The number of log lines displayed on the "logs" page
PROTON_GATEWAY 10.2.0.1 ProtonVPN provided gateway IP address. Do not use http(s):// or a trailing slash.
OPN_SKIP false [true/false] Skip OPNsense. If true, subsequent OPNsense environment variables are not required.
OPN_INTERFACE_ADDR OPNsense Interface Address. Requires http(s):// and no trailing slash.
OPN_API_KEY OPNsense API Key
OPN_API_SECRET OPNsense API Secret
OPN_PROTON_ALIAS_NAME The firewall alias that you use for ProtonVPN's forwarded port. For example, proton_vpn_forwarded_port.
QBIT_SKIP false [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 username
QBIT_PASS qBittorrent password