Home

Awesome

Windscribe 2.0 Desktop Application

This repo contains the complete source code for the Windscribe 2.0 app. This includes installer, service/helper, and GUI.

Windows

Prerequisites

Install build script dependencies

  python3 -m pip install -r tools/requirements.txt

In case of pyyaml building issue on Windows, execute the following:

pip install "cython<3.0.0" && pip install --no-build-isolation pyyaml==6.0
pip install setuptools wheel

Install signing certificate (optional)

  windows-signing-cert-password: password-for-code-signing-pfx

Build libraries

Go to subfolder tools/deps and run the following scripts in order. Append --arm64 to the command to build a library for Windows arm64. Libraries will be placed in build-libs[-arm64].

install_qt
install_openvpn_dco
install_wintun
install_wireguard
install_wstunnel

Build the Windscribe 2.0 app

Go to subfolder tools and run build_all. Assuming all goes well with the build, the installer will be placed in build-exe. You can run build_all --sign --use-local-secrets for a code-signed build, using the certificate from the Install signing certificate section above, which will perform run-time signature verification checks on the executables. Note that an unsigned build must be installed on your PC if you intend to debug the project. Append --arm64 to the command to build for Windows arm64.

See build_all --help for other build options.

Logs

Mac

Prerequisites

  /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  brew install git
  brew install libtool
  brew install automake
  brew install pyenv
  echo 'if command -v pyenv 1>/dev/null 2>&1; then eval "$(pyenv init --path)"; fi"' >> ~/.zshrc
  pyenv install 3.11.6
  pyenv global 3.11.6
  python3 -m pip install dmgbuild
  python3 -m pip install -r tools/requirements.txt

Install signing certificate (required)

Build libraries

Go to subfolder tools/deps and run the following scripts in order. Libraries will be placed in build-libs.

install_qt
install_wireguard
install_wstunnel

Build the Windscribe 2.0 app

Go to subfolder tools and run build_all. Assuming all goes well with the build, the installer will be placed in build-exe.

See build_all --help for other build options.

Platform Notes:

Logs

Linux

Build with Docker

The repository contains Dockerfile to simplify building process. Skip all the other sections of this manual if you decide to use Docker.

  sudo docker build -t ws-builder .
  sudo docker run --rm -v .:/w ws-builder /bin/bash -c "git clone https://github.com/Microsoft/vcpkg.git && cd vcpkg && git checkout 576379156e82da642f8d1834220876759f13534d && ./bootstrap-vcpkg.sh --disableMetrics"
  for i in qt wireguard wstunnel; do sudo docker run --rm -v .:/w ws-builder /bin/bash -c "cd /w/tools/deps/ && ./install_$i"; done
  sudo docker run --rm -v .:/w ws-builder /bin/bash -c "export VCPKG_ROOT=/w/vcpkg  && cd /w/tools/ && ./build_all"

Prerequisites

Build process tested on Ubuntu 20.04/ZorinOS 16 (gcc 9.3.0).

  sudo apt-get update
  sudo apt-get install build-essential git curl patchelf libpam0g-dev software-properties-common libgl1-mesa-dev fakeroot python3-pip zip unzip libnl-genl-3-dev pkg-config libcap-ng-dev wget autoconf libtool libfontconfig1-dev libfreetype6-dev libx11-dev libx11-xcb-dev libxext-dev libxfixes-dev libxi-dev libxrender-dev libxcb1-dev libxcb-cursor-dev libxcb-glx0-dev libxcb-keysyms1-dev libxcb-image0-dev libxcb-shm0-dev libxcb-icccm4-dev libxcb-sync-dev libxcb-xfixes0-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-render-util0-dev libxcb-util-dev libxcb-xinerama0-dev libxcb-xkb-dev libxkbcommon-dev libxkbcommon-x11-dev libwayland-dev

  # install CMake 3.28.x or newer (default for Ubuntu 20.04 is 3.16.3).
  # Make sure that the cmake executable is in the path and available for execution.
  sudo snap install cmake --classic
  python3 -m pip install -r tools/requirements.txt

Build libraries

Go to subfolder tools/deps and run the following scripts in order. Libraries will be placed in build-libs. When building Qt6, you may encounter an error relating to check_for_ulimit. If so, downgrade to CMake version 3.24.

install_qt
install_wireguard
install_wstunnel

Build the Windscribe 2.0 app

Go to subfolder tools and run build_all. Assuming all goes well with the build, the installer will be placed in build-exe.

See build_all --help for other build options.

The application installs to /opt/windscribe.

Logs

Contributing

Please see our Contributing Guidelines

License

The Windscribe Desktop Client app License