This project isn't currently worked on in favor of running a Gluetun container which connects to ProtonVPN then running a qbittorrent container that attaches to the Gluetun docker network. May revist when protonvpn releases better CLI functionality.
This project builds ontop of the linuxserver/qbittorrent docker image and adds a connection to the protonvpn service with the kill switch enabled to hide your ip address while torrenting.
This docker image:
- Takes the linuxserver/qbittorrent:latest image
- Installs protonvpn-cli
- Authenticates
- Enables the killswitch
- Connects to a p2p connection
Since this image depends on linuxserver/qbittorrent, this image will auto update every Sunday to get updates to that image.
If this causes things to break please create an issue in the github repo.
Main Repo: https://hub.docker.com/r/linuxserver/qbittorrent
Github: https://github.com/HaruVON/qbit-vpn
Below are the environmental variables for the linuxserver/qbittorrent image and for this image.
-
PUID
The user id that is used.
Ex: 1000 -
PGID
The group id that is used.
Ex: 1000 -
TZ
The timezone.
Ex: Etc/UTC -
WEBUI_PORT
The web port.
Ex: 80
-
PVPN_UNAME
Your ProtonVPN username.
Note - this is different from your account username. This is specific to using the VPN.
Ex: c8v39TxYmFABA9JP (fake) -
PVPN_PASS
Your ProtonVPN password.
Note - this is different from your account password. This is specific to using the VPN.
Ex: hPXgr3fzE2k6KAvNX2Nd3R3iavrPuh3g (fake) -
PVPN_TIER - Default: 3 - defined in Dockerfile
Your ProtonVPN Tier. A number from 1-4
Ex: 3
- Sometimes running this container fails to install protonvpn-cli and setup pipx environment. At the moment there is not an explanation to this.
- Workaround: exec into the container, make sure pipx is installed, then install protonvpn-cli. This will install the environment and protonvpn-cli in the config mountpoint/volume which has worked for me without having to manage anything for months.
- Fails to connect to protonvpn upon update/restart.
- Workaround: stop the container and delete the image. Do a full repull of the image.