This project aims to automate setting up ephemeral port on Windscribe VPN service for the purpose of port forwarding. Once the setup is done it wait patiently for next seven days. It delete the ephemeral port setting if any and set the new one. Useful for some torrent application which are running behind Windscribe VPN and need to open the ports.
Important
NOTE: V1 is deprecated and should not be used.
There are two registries available:
- dhruvinsh/ws-ephemeral
- ghcr.io/dhruvinsh/ws-ephemeral
Available tags for docker image (based on semver):
Tag | Container Type |
---|---|
main | straight from main branch |
latest | latest stable released version |
x | specific major version |
x.x.x | specific version |
docker run \
-e ONESHOT=false \
-e QBIT_HOST=http://192.168.1.10 \
-e QBIT_PASSWORD=password \
-e QBIT_PORT=8080 \
-e QBIT_PRIVATE_TRACKER=true \
-e QBIT_USERNAME=username \
-e REQUEST_TIMEOUT=10 \
-e WS_COOKIE_PATH=/cookie \
-e WS_DEBUG=False \
-e WS_PASSWORD=password \
-e WS_USERNAME=username \
-e WS_TOPT=totp_token \
-v /path/to/local/data:/cookie \
dhruvinsh/ws-ephemeral:latest
Docker compose file is provided for example, make some adjustment and run as,
docker compose up -d
Variable | Comment |
---|---|
WS_USERNAME | WS username |
WS_PASSWORD | WS password |
WS_TOTP | WS totp token for 2fa |
WS_DEBUG | Enable Debug logging |
WS_COOKIE_PATH | Persistent location for the cookie. (v3.x.x only) |
QBIT_USERNAME | QBIT username |
QBIT_PASSWORD | QBIT password |
QBIT_HOST | QBIT web address like, https://qbit.xyz.com or http://192.168.1.10 |
QBIT_PORT | QBIT web port number like, 443 or 8080 |
QBIT_PRIVATE_TRACKER | get QBIT ready for private tracker by disabling dht, pex and lsd (true or false) |
ONESHOT | Run and setup the code only one time so that job can be schedule externally |
REQUEST_TIMEOUT | configurable http api timeout for slow network/busy websites |
Tip
NOTE: for usage see Docker Setup v2 setup guide.
Unraid template is now available under community application.
Located here
I assure you that nothing is being collected or logged. Your credentials are safe and set via environment variable only. Still If you have further questions or concerns, please open an issue here.
- Support 2FA, #19
- Daemon mode and job mode
- Rest API (useful for cron/script job)
- Separate port renewal, qbittorrent update and private tracker logic
- Random job time for cron job #15
- Allow to run custom script (for now Bash script only) #12
- Support for deluge
- Gluetun support #2392