PIA_QBT_AutoPort
The Gitea workflow in .gitea/workflows/release.yml builds Linux, Windows, and macOS executables and publishes a release on every push to main.
The server now exposes:
GET /statusfor unauthenticated uptime checksGET /piafor the authenticated PIA status payload, using theX-API-Keyheader
Config now uses separate listen_ip and listen_port fields. The old listen_addr value is still accepted for existing configs, but new configs write the split fields.
Set run_at_startup: true to add a user-level autostart entry on Windows, Linux, or macOS. It defaults to false.
When update checking is enabled, the app logs its embedded build version and checks the latest release on the dock-it Gitea repo so it can tell you when the binary is out of date.
If a newer release exists, the app downloads the matching binary for the current OS and architecture, replaces itself, and restarts.
Update behavior is controlled by:
check_for_updatesauto_updateupdate_check_interval_hours
Both default to true. Turn them off if you want to disable daily update checks or automatic self-updates.
update_check_interval_hours defaults to 24.
When enabled, the app checks once at startup and then on the configured interval.
Each release uploads a .sha256 checksum asset, and the updater verifies it before replacing the binary.
qBittorrent support is configured with:
qbittorrent_hostqbittorrent_usernameqbittorrent_passwordauto_set_portauto_set_hostquarantine_suspicious_downloads
When auto_set_port is enabled, the app pushes the PIA forwarded port to qBittorrent through its Web API. When auto_set_host is enabled and no host is set, it writes http://127.0.0.1:8080 into the config and uses that host.
The app checks qBittorrent every 30 seconds in the background and reapplies the current PIA forwarded port when it changes.
quarantine_suspicious_downloads defaults to true.
When quarantine_suspicious_downloads is enabled, the app runs a scan at startup and then every minute across every file in each torrent, including nested paths, using a safe allowlist of text, audio, video, and image formats. It stays quiet unless it deletes a torrent for a suspicious file.
The process now shuts down cleanly on SIGINT and SIGTERM.
Runtime logs are appended to pia-qbt-autoport.log next to the executable.
The log keeps the newest 5000 lines and drops the oldest lines when it grows past that limit.