Windscribe VPN in Docker!
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Adyanth H b1b19ee2b7 Update '' 1 year ago
docker 🎉 Initialize! 1 year ago
.gitignore 🎉 Initialize! 1 year ago
LICENSE 📄 Added MIT License 1 year ago Update '' 1 year ago
docker-compose.yml 🎉 Initialize! 1 year ago 🎉 Initialize! 1 year ago
resolv.conf Update 'resolv.conf' 1 year ago

Windscribe VPN in Docker

This repository creates a docker image based from ubuntu:latest to add Windscribe VPN running inside the container.

Note: The container needs NET_ADMIN capabilities to use iptables inside the container.

Edit: Here seems to be a better implementation of what I wrote from scratch :)


  1. Clone this repository.

  2. Run the below command to initialize windscribe and login. You can bind mount a folder instead of the volume mount for /etc/windscribe/, as needed.

docker run --rm -it --cap-add=NET_ADMIN -v `pwd`/resolv.conf:/etc/resolv.conf -v windscribe:/etc/windscribe adyanth/windscribe-docker:latest login
# Enter username and password when asked
# Then run the below to validate it was successful
docker run --rm -it --cap-add=NET_ADMIN -v `pwd`/resolv.conf:/etc/resolv.conf -v windscribe:/etc/windscribe adyanth/windscribe-docker:latest account
  1. Run the below command to start the container
docker run --rm -d --cap-add=NET_ADMIN -v `pwd`/resolv.conf:/etc/resolv.conf -v windscribe:/etc/windscribe adyanth/windscribe-docker:latest
  1. That's it! The container is connected to the VPN and sleeping forever! To do something with it, run the below command:
$ docker exec -it <id received in step 3> /bin/bash
root@f4db1362af77:/# apt install curl -y
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
Fetched 1712 kB in 18s (95.7 kB/s)
Setting up curl (7.68.0-1ubuntu2.5) ...
Processing triggers for libc-bin (2.31-0ubuntu9.2) ...
root@f4db1362af77:/# curl

Post setup

A docker-compose example is provided as reference. Once logged in as shown above, use it as:

$ docker-compose up 
Creating network "windscribe-docker_default" with the default driver
Creating windscribe-docker_windscribe_1 ... done
Attaching to windscribe-docker_windscribe_1
windscribe_1  | Starting windscribe ... OK
windscribe_1  | Connecting to <location> (UDP:443)
windscribe_1  | Firewall Enabled
windscribe_1  | /etc/resolv.conf is not a symlink, this may break DNS
windscribe_1  | Connected to <location>
windscribe_1  | Your IP changed from <true IP> to <VPN IP>
windscribe_1  | Sleeping forever!
^CGracefully stopping... (press Ctrl+C again to force)
Stopping windscribe-docker_windscribe_1   ... done