Windscribe 2.0 desktop client for Windows, Mac and Linux

Overview

Windscribe 2.0 Desktop Application

This repo contains the complete source code for the Windscribe 2.0 app. This includes installer, service/helper, backend process and GUI. Please note that this is a work-in-progress, your mileage may vary.

Windows

Prerequisites

  • Windows 10.
  • Recommended 120+ GB of storage.
  • Install git (https://git-scm.com/downloads). When installing Git, you can stick with all the default options presented to you by the installer.
  • Clone the repository.
  • Visual Studio Community 2017 (run install_vs.bat with admin rights from /common/prepare_build_environment/windows).
  • Python 2.7x (run install_python.bat with admin rights from common/prepare_build_environment/windows).
  • Active Perl (install from https://www.activestate.com/products/perl/downloads/ or execute this code snippet).
  • CMake (run install_cmake.bat from common/prepare_build_environment/windows).
  • CppCheck (run install_cppcheck.bat with admin rights from common/prepare_build_environment/windows).
  • Verify the following entries are in your System PATH environment variable. If they are not, add them to the System PATH environment variable. Reboot.
    • C:\Python27
    • C:\Python27\Scripts
    • C:\Perl64\site\bin (or equivalent Strawberry Perl site\bin folder)
    • C:\Perl64\bin (or equivalent Strawberry Perl bin folder)
    • C:\Program Files\Git\cmd
    • C:\Program Files\Cppcheck

Install build script dependencies

  • On Windows 10, you will have to go to 'Manage App Execution Aliases' in System Settings and disable app installer for python.exe and python3.exe
  • python tools/bin/get-pip.py
  • python -m pip install -r tools/requirements.txt

Install signing certificate

  • Copy your PFX code signing file to installer/windows/signing/code_signing.pfx.
  • Edit tools/build_all.yml and enter the password for your PFX file in the password_cert field of the windows_signing_cert section.
  • Note that the application will still build and run without these signatures, but using the VPN without signatures will require a debug build.

Build libraries

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

  1. install_jom
  2. install_openssl
  3. install_qt
  4. install_cares
  5. install_zlib
  6. install_curl
  7. install_boost
  8. install_lzo
  9. install_openvpn
  10. install_wireguard
  11. install_stunnel
  12. install_protobuf

Notes

  • Some libraries depends on others. Jom is installed first and speeds up further builds. Almost all of the libraries depends on openssl. Openvpn depends on LZO. Curl depends on openssl and zlib.
  • If you notice install or build scripts fail for seemingly no reason, try running each script from a fresh shell instance (CMD or gitbash). It appears to have something to do with a character limit on PATH or ENV variables.

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 debug' for an unsigned build. Note that an unsigned build is required to connect the VPN when building without code signing.

Mac

Prerequisites

  • MacOS Catalina or MacOS Big Sur (We recommend building/developing only on a native machine. VM setups are not well tested)

  • Recommended 120 GB of storage (Need to take a closer look at this number, we may be able to get away with as little as 80GB)

  • Install brew (brew.sh)

  • Install Xcode 11.3.1 if using MacOS Catalina, or Xcode 11.7 if using Big Sur

  • git (https://git-scm.com/downloads). This step is optional, as git is bundled with Xcode.

    • brew install git
  • Clone the repository.

  • Install Auto-Tools and 7-Zip (See below "Install Auto-Tools")

  • Install Wireguard build tools (brew install go)

  • Install CppCheck (brew install cppcheck)

  • Install dropDMG from: https://c-command.com/dropdmg/

    • Create symlink for dropdmg
      • ln -s /Applications/DropDMG.app/Contents/Frameworks/DropDMGFramework.framework/Versions/A/dropdmg /usr/local/bin/dropdmg
    • Run the DropDMG app and accept the update command-line tools prompt
    • Disable auto-update
    • Enable "Quit when done" in Preferences->Advanced
    • Copy desktop-v2/common/prepare_build_environment/mac/DropDMG/Configurations and Layouts into ~HOME/Library/Application Support/DropDMG/Configurations and Layouts
  • Install cmake (3.20.1 last tested) from: https://cmake.org/download/

  • Install python deps:

    • python tools/bin/get-pip.py
    • python -m pip install -r tools/requirements.txt

Set up code signing for release builds

  • Install your Developer ID signing certificate in the Keychain.
  • TBD...

Build Dependencies

  • Open a terminal in desktop-v2/tools/deps:
  • Run install_openssl
  • Run install_qt
  • Run install_cares
  • Run install_boost
  • Run install_curl
  • Run install_lzo
  • Run install_openvpn
  • Run install_wireguard
  • Run install_stunnel
  • Run install_protobuf
  • Run install_gtest

Notes on building libraries:

- Some libraries depends on others. Almost all of the libraries depends on openssl. Openvpn depends on LZO.
- The install scripts put the dependencies in desktop-v2/build-libs.

Build the Windscribe 2.0 app

Open a terminal in desktop-v2/tools and run './build_all' for a signed build, or './build_all debug' for an unsigned build. Please note that a signed build requires you to have completed the 'Set up code signing' section above. Assuming all goes well with the build, the installer will be placed in desktop-v2/build-exe.

Install Auto-Tools and 7-Zip (via HomeBrew):

- brew install libtool
- brew install automake
- brew install p7zip

Linux

Prerequisites

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

  • Install build tools:

    • sudo apt install build-essential
  • Install git:

    • sudo apt install git
  • Install curl binary (for downloading archives):

    • sudo apt install curl
  • Install patchelf (for fixing rpaths during packaging):

    • sudo apt install patchelf
  • Install fpm (for making an .rpm package):

    • sudo apt-get install ruby-dev build-essential rpm && sudo gem i fpm -f
  • Install libpam (required for building openvpn):

    • sudo apt-get install libpam0g-dev
  • Install golang (required for building wireguard):

    • sudo apt-get install golang-go
  • Install autoconf (required for building protobuf):

    • sudo apt-get install autoconf
  • Install libtool (required for building protobuf):

    • sudo apt-get install libtool
  • Install cmake (required for building gtests):

    • sudo apt-get install cmake
  • Install fakeroot:

    • sudo apt-get install fakeroot
  • Install Qt platform plugin dependencies (https://doc.qt.io/qt-5/linux-requirements.html#platform-plugin-dependencies):

    • sudo apt-get install libfontconfig1-dev libfreetype6-dev libx11-dev libx11-xcb-dev libxext-dev libxfixes-dev libxi-dev libxrender-dev libxcb1-dev libxcb-glx0-dev libxcb-keysyms1-dev libxcb-image0-dev libxcb-shm0-dev libxcb-icccm4-dev libxcb-sync0-dev libxcb-xfixes0-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-render-util0-dev libxkbcommon-dev libxkbcommon-x11-dev
  • Clone the repository.

  • Install python2 (and build-system dependencies):

    • sudo apt install python2
    • NOTE: the following symlink will affect any pre-existing python-calling code that relies on python3
    • sudo ln -s /usr/bin/python2 /usr/bin/python
    • python tools/bin/get-pip.py
    • python -m pip install -r tools/requirements.txt

Build Dependencies

  • Open a terminal in desktop-v2/tools/deps:
  • Run install_openssl
  • Run install_qt
  • Run install_cares
  • Run install_boost
  • Run install_curl
  • Run install_lzo
  • Run install_openvpn
  • Run install_wireguard
  • Run install_stunnel
  • Run install_protobuf
  • Run install_gtest

Build the Windscribe 2.0 app

Open a terminal in desktop-v2/tools and run './build_all --no-sign'. Assuming all goes well with the build, the installer will be placed in desktop-v2/build-exe.

The application installs to /usr/local/windscribe. You will find the logs in ~/.local/share/Windscribe/Windscribe2.

Comments
  • Close to tray feature request

    Close to tray feature request

    Hi there.

    The Windscribe app on Ubuntu doesn't have a "Close to tray" feature, so you have to keep the window opened and if you try to close it, the process will end and it won't continue in the background. Can you add it to the program?

    Thank you for developing this app.

    opened by PS-Professional 20
  • Fix minimize bug on ubuntu

    Fix minimize bug on ubuntu

    Hi dear windscribe developers thanks for new gui app for linux

    this app has a bug and that is that we can't minimize this app to system tray. it should always be open and when we want to just close the app, it ask us if we want to close windscribe and then it completely quit and stopped the app. we have a similar "start minimized" section in settings but I don't know what is it!

    It was great if when we click on close arrow in the app, it just minimized the app to tray and if we want to quit the app we do it by right click on tray icon and press "Exit"

    best regards

    opened by par3ae 10
  • Windscribe stops and disables firewalld

    Windscribe stops and disables firewalld

    Why does Windscribe stop and disable the firewalld during installation?

    I'm running Fedora 36 KDE. According to Fedora docs considering the benefits of firewalld, I don't think Windscribe completly nuking it is a good thing.

    I have had connection problems (the exclamation mark saying "limited connectivity") after installing the Windscribe rpm and I couldn't connect to internet without enabling Windscribe first.

    Since then I've manually enabled firewalld again and everything has been okay, and Windscribe does still work (surprisingly).

    So it is really necessary to stop and disable firewalld?

    I think this issues might be related as well: https://github.com/Windscribe/Desktop-App/issues/2 https://github.com/Windscribe/Desktop-App/issues/56

    https://www.reddit.com/r/Windscribe/comments/k0s4r8/windscribe_ruins_opensuse_install/

    opened by MasterKia 7
  • GUI broken on wayland

    GUI broken on wayland

    On wayland the GUI has is quite unusable, some buttons do not work (eg close, minimize), parts of the gui freeze, very difficult to drag the window.

    Investigating I have noticed that on my system it uses xwayland.

    So I tried launching it with QT_QPA_PLATFORM=wayland, it shows:

    QT_QPA_PLATFORM=wayland /opt/windscribe/Windscribe
    [{gmt_time}      0.000] [qt.qpa.plugin]	Could not find the Qt platform plugin "wayland" in ""
    [{gmt_time}      0.000] [default]	This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
    
    Available platform plugins are: xcb.
    
    zsh: IOT instruction (core dumped)  QT_QPA_PLATFORM=wayland /opt/windscribe/Windscribe
    
    

    Other QT apps like dolphin work fine for me and natively under wayland.

    opened by Nuc1eoN 7
  • annoying pop-up failing update message that shows up anytime app is started

    annoying pop-up failing update message that shows up anytime app is started

    How to disable this message ? Couldn't find any useful option in the settings dialogs.

    "Windscribe could not check for update due to an invalid platform config. You may want to try manually updating your installation."

    Thanks/

    opened by tdeseez 6
  • [Request] Official build for Opensuse

    [Request] Official build for Opensuse

    There is literally no official VPN app for Opensuse apart from NordVPN, yikes!

    Opensuse has been around as long as Ubuntu and us users have to go by using openvpn from every other major VPN provider.

    Its also supports .rpm builds. So, please build an official app for Opensuse, if its only for the Tumbleweed version its good enough!

    opened by mystic-githuber 6
  • This application failed to start because no Qt platform plugin could be initialized. on Ubuntu

    This application failed to start because no Qt platform plugin could be initialized. on Ubuntu

    trying to run the linux version windscribe_2.5.11_amd64.deb on Ubuntu Budgie 22.04 but its having a problem with Qt

    y@budgie-vbox:~$ QT_QPA_PLATFORM=wayland /usr/local/windscribe/Windscribe
    [{gmt_time}      0.003] []	 Failed to create wl_display (No such file or directory)
    [{gmt_time}      0.031] [qt.qpa.plugin]	 Could not load the Qt platform plugin "wayland" in "" even though it was found.
    [{gmt_time}      0.032] [default]	 This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
    
    Available platform plugins are: wayland-egl, wayland, xcb.
    
    Aborted (core dumped)
    

    reinstalling doesn't help. anything I can do ?

    opened by katchy3132 5
  • .rpm package: Could not load the Qt platform plugin

    .rpm package: Could not load the Qt platform plugin "xcb" in "" even though it was found.

    Hi there,

    I installed windscribe_2.5.12_x86_64.rpm from the website on a Fedora-37-Xfce-x86_64 machine and tried to run the GUI app. but encountered some errors and ended up fixing it by installing the missing shared libraries.

    here is my walk-through:

    first i tried to run the GUI app executable
    /usr/local/windscribe/Windscribe
    

    returned this error

    [{gmt_time}      0.002] [qt.qpa.plugin]	 Could not load the Qt platform plugin "xcb" in "" even though it was found.
    [{gmt_time}      0.002] [default]	 This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
    
    Available platform plugins are: wayland-egl, wayland, xcb.
    
    Aborted (core dumped)
    
    then i did some research and ran it again with `QT_DEBUG_PLUGINS=1`
    export QT_DEBUG_PLUGINS=1
    /usr/local/windscribe/Windscribe
    

    and got this error

    [{gmt_time}      0.000] [qt.core.plugin.factoryloader]	 checking directory path "/usr/local/windscribe/plugins/platforms" ...
    [{gmt_time}      0.001] [qt.core.plugin.factoryloader]	 looking at "/usr/local/windscribe/plugins/platforms/libqwayland-egl.so"
    [{gmt_time}      0.001] [qt.core.plugin.loader]	 Found metadata in lib /usr/local/windscribe/plugins/platforms/libqwayland-egl.so, metadata=
    {
        "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
        "MetaData": {
            "Keys": [
                "wayland-egl"
            ]
        },
        "archlevel": 1,
        "className": "QWaylandEglPlatformIntegrationPlugin",
        "debug": false,
        "version": 393984
    }
    
    
    [{gmt_time}      0.001] [qt.core.plugin.factoryloader]	 Got keys from plugin meta data QList("wayland-egl")
    [{gmt_time}      0.001] [qt.core.plugin.factoryloader]	 looking at "/usr/local/windscribe/plugins/platforms/libqwayland-generic.so"
    [{gmt_time}      0.001] [qt.core.plugin.loader]	 Found metadata in lib /usr/local/windscribe/plugins/platforms/libqwayland-generic.so, metadata=
    {
        "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
        "MetaData": {
            "Keys": [
                "wayland"
            ]
        },
        "archlevel": 1,
        "className": "QWaylandIntegrationPlugin",
        "debug": false,
        "version": 393984
    }
    
    
    [{gmt_time}      0.001] [qt.core.plugin.factoryloader]	 Got keys from plugin meta data QList("wayland")
    [{gmt_time}      0.001] [qt.core.plugin.factoryloader]	 looking at "/usr/local/windscribe/plugins/platforms/libqxcb.so"
    [{gmt_time}      0.001] [qt.core.plugin.loader]	 Found metadata in lib /usr/local/windscribe/plugins/platforms/libqxcb.so, metadata=
    {
        "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
        "MetaData": {
            "Keys": [
                "xcb"
            ]
        },
        "archlevel": 1,
        "className": "QXcbIntegrationPlugin",
        "debug": false,
        "version": 393984
    }
    
    
    [{gmt_time}      0.001] [qt.core.plugin.factoryloader]	 Got keys from plugin meta data QList("xcb")
    [{gmt_time}      0.001] [qt.core.plugin.factoryloader]	 checking directory path "/usr/local/windscribe/platforms" ...
    [{gmt_time}      0.002] [qt.core.library]	 "/usr/local/windscribe/plugins/platforms/libqxcb.so" cannot load: Cannot load library /usr/local/windscribe/plugins/platforms/libqxcb.so: (libxkbcommon-x11.so.0: cannot open shared object file: No such file or directory)
    [{gmt_time}      0.002] [qt.core.plugin.loader]	 QLibraryPrivate::loadPlugin failed on "/usr/local/windscribe/plugins/platforms/libqxcb.so" : "Cannot load library /usr/local/windscribe/plugins/platforms/libqxcb.so: (libxkbcommon-x11.so.0: cannot open shared object file: No such file or directory)"
    [{gmt_time}      0.002] [qt.qpa.plugin]	 Could not load the Qt platform plugin "xcb" in "" even though it was found.
    [{gmt_time}      0.002] [default]	 This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
    
    Available platform plugins are: wayland-egl, wayland, xcb.
    
    Aborted (core dumped)
    
    located libqxcb.so
    locate libqxcb.so
    

    and found

    /usr/local/windscribe/plugins/platforms/libqxcb.so
    
    then i looked for missing dependencies
    ldd /usr/local/windscribe/plugins/platforms/libqxcb.so | grep "not found"
    

    and found this list

    libxkbcommon-x11.so.0 => not found
    libxcb-icccm.so.4 => not found
    libxcb-image.so.0 => not found
    libxcb-keysyms.so.1 => not found
    libxcb-render-util.so.0 => not found
    libxcb-icccm.so.4 => not found
    libxcb-image.so.0 => not found
    libxcb-keysyms.so.1 => not found
    libxcb-render-util.so.0 => not found
    libxkbcommon-x11.so.0 => not found
    

    finally installed the libraries and the GUI app started working perfectly

    sudo dnf install libxkbcommon-x11 xcb-util-cursor xcb-util-wm xcb-util-keysyms xcb-util-image
    
    opened by sepsh 4
  • Please add a silent switch to the uninstaller.exe executable file.

    Please add a silent switch to the uninstaller.exe executable file.

    Currently, when you launch the uninstaller from the command line, there is no way to prevent the ugly GUI from showing on the screen. The install.exe file for Windscribe already has a silent switch, which is, -silent. But the uninstall.exe file does not. Will the developers eventually add a silent switch to the uninstall.exe file?

    The reason I am asking for this is because I am currently creating an app manifest (that installs WindscribeVPN) for the Scoop package manager. I want the install, and uninstall process to be completely silent. Or else it will ruin the user experience for anyone else who tries to use my app manifest to install WindscribeVPN.

    This is the command I used:

    Start-Process "C:\Users\krist\scoop\apps\windscribevpn-np\2.4.11\Windscribe\uninstall.exe" -WindowStyle 'Hidden' -Verb 'RunAs' -ArgumentList '/SILENT' -Wait
    

    This is the result of that command: (WindowsTerminal)a3c4A1_10-13-2022

    opened by Zliced13 4
  • windscribe-cli: wrong library location

    windscribe-cli: wrong library location

    on macOS, windscribe-cli won't start (both for v2.3.16 DMG from the website and v2.4.1 from GithHub) because the directory for the protobuf library is wrong.

     % otool -L windscribe-cli
    windscribe-cli:
    	/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 1894.60.100)
    	/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1677.104.0)
    	/System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 1069.24.0)
    	/System/Library/Frameworks/Security.framework/Versions/A/Security (compatibility version 1.0.0, current version 59306.140.5)
    	/System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration (compatibility version 1.0.0, current version 1061.141.1)
    	/Users/aaa/Documents/client-desktop/build-libs/protobuf/lib/libprotobuf.28.dylib (compatibility version 29.0.0, current version 29.3.0)
    	@rpath/QtGui.framework/Versions/5/QtGui (compatibility version 5.12.0, current version 5.12.11)
    	@rpath/QtNetwork.framework/Versions/5/QtNetwork (compatibility version 5.12.0, current version 5.12.11)
    	@rpath/QtCore.framework/Versions/5/QtCore (compatibility version 5.12.0, current version 5.12.11)
    	/System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration (compatibility version 1.0.0, current version 1.0.0)
    	/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0)
    	/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0)
    	/System/Library/Frameworks/AGL.framework/Versions/A/AGL (compatibility version 1.0.0, current version 1.0.0)
    	/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 902.1.0)
    	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1281.100.1)
    	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 52.0.0)
    	/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 1677.104.0)
    	/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)
    

    instead of /Users/aaa/Documents/client-desktop/build-libs/protobuf/lib/libprotobuf.28.dylib this should probably be @executable_path/../Frameworks/libprotobuf.28.dylib as it is for the Windscribe executable.

    opened by reneeotten 4
  • Windscribe preventing Internet access - Latest Update 2.3.16 or whatever

    Windscribe preventing Internet access - Latest Update 2.3.16 or whatever

    Yesterday, I updated my Windscribe to 3.1.6. Then, when I got home, I could not access the internet. When I uninstalled Windscribe, I magically had internet again. I don't know what is going on here but unless you know the problem I'm going to switch to Nord for the times being. Sorry, I did refer three friends to you guys though! Love you still!

    opened by KITKATKILLER67 4
  • Mirror repos to Codeberg

    Mirror repos to Codeberg

    Please consider mirroring repos to Codeberg because:

    1. Codeberg is libre, free, open-source, privacy-friendly, non-profit, really fast
    2. GitHub has bloated interface with captcha & GitHub is privacy-invasive, Microsoft-owned, proprietary, vendor-lock-in, Tor-hostile
    3. People on Codeberg like me can contribute to the project
    4. GitHub take down our repos

    Here are some sources for you: https://codeberg.org/HexagonCDN/Mirror_to_Codeberg

    opened by throwaway-d 0
  • Tray icon theme

    Tray icon theme

    Hi Using ZorinOS 16.2. Is there a colour other than white for the system tray icon? I've looked within preferences for a way to change to any other colour, but have been unsuccessful.

    Hopefully I haven't been blind to an obvious setting.

    opened by anfokaboom 2
  • Can't move main dialog around desktop

    Can't move main dialog around desktop

    Hi Using ZorinOS 16.2 (Ubuntu 20.04 fork). WS client is installed and functioning as expected, however, I am unable to move the dialog. It will allow me to interact with dialog functions, close to the tray and restore, just not move anywhere.

    Occurs in both the Van Gogh (lol) and Alpha GUIs.

    opened by anfokaboom 2
  • Problem in connection

    Problem in connection

    Hello Many people in Iran have this problem The program will connect But after a few seconds this error comes The program is connected But there is cut https://easyupload.io/j6oni6 "We've detected that your network settings may interfere with Windscribe. Please disconnect and send us a Debug Log, by going into Preferences and clicking the "Send Log" button."

    I already sent this notice through the program

    opened by mehdifirefox 4
  • [Feature] Split Tunnel with regex or mask...

    [Feature] Split Tunnel with regex or mask...

    Hi

    Ability to add hostname like "*google.com" to Split tunneling, so all subdomain of google.com would be excluded.

    And Even further, possibility to add ".us" or ".de" so we can exclude all domains specified to our country because usually those domains are not restricted.

    Thanks

    opened by HamidZaeri 0
Releases(v2.4.11)
  • v2.4.1(Feb 3, 2022)

    2.4.1 (18/01/2022)

    • Combined the engine and gui into a single process.
    • MacOS: migrated from DropDMG to opensource dmgbuild CLI utility.
    • MacOS: fixed rare MAC spoofing failure.
    • Windows: maintain same offset in docked mode.
    • Windows: connection notification bug fixed.
    • Do not use pointer cursor on non clickable areas.
    • Added ControlD to App Internal DNS list.
    • Show 10gbps badge next to 10gbps capable datacenters.
    • Show location loads.
    • Fixed custom plan displays as pro in preferences.
    Source code(tar.gz)
    Source code(zip)
    Windscribe_2.4.1_beta.dmg(18.25 MB)
    Windscribe_2.4.1_beta.exe(18.27 MB)
    windscribe_2.4.1_beta_amd64.deb(21.46 MB)
    windscribe_2.4.1_beta_x86_64.rpm(29.10 MB)
  • v2.3.15(Dec 23, 2021)

    2.03.15 (17/12/2021)

    • Reconnect loop on Mac Monterey fixed. #603
    • Fedora - slow connect time via WG on app launch. #619
    • Added DNS-leak protection regardless of the firewall state and utility systemd-resolved/resolvconf. #608

    2.03.14 (10/12/2021)

    • Added 'ws-' prefix to windscribe advanced parameters and added 'ws-' ignoring by openvpn. #616
    • Reconnect loop on Mac fixed. #603
    • Remove IKEv2 from Linux. #583
    • Keep the firewall state on update if autoconnect option is enabled. #615

    2.03.13 (08/12/2021)

    • Set udp as default protocol in engine on Linux. #583
    • Added application changes for auto-update platform detection fix. #553
    • Disabled wireguard for windows 7 32-bit. #565
    • Auto-connect feature fixed on Mac. #603
    • Preferences being reset on upgrade to build 12. #605
    • Updated the method for detecting systemd-resolved utility. #608
    • Added a dependency on the autoconnect state for the initial firewall state. #611
    • Added hash verification, removed installer signatures and public key on Linux, and added internal build channel override. #538
    • Fixed MAC spoofing failure. #537

    2.03.12 (22/11/2021)

    • Autoupdate download issue fixed. #531
    • Change proxy gateway "Connect To" text to "IP". #564
    • Log installer debug output to file. #560
    • Code signing on linux. #538
    • Log failure to create the IPC named pipe on Windows. #547
    • Prevent duplicate launches of the app in Linux. #559
    • Updated wstunnel binary to v4. #491
    • Launch on startup / auto-connect flags fixed. #558
    • Network whitelist feature added for Linux. #558
    • "Always On" firewall on reboot fixed. #558
    • Segfault on Linux (ZorinOS) fixed. #568
    • MAC Spoofing not functional on Big Sur fixed. #537
    • Require elevated privilege to accept insecure custom config dir. #465
    • Auto update authentication failure. #566
    • Removed log with user's ip. #575
    • Made dark mode default sensible based on older versions of windows not having window themes. #395
    • App kills itself after running for a while - fixes. #571
    • IKEv2 RasDial AuthNotify error 13801 on Windows 7. #576
    • GUI crash. #574
    • Fixed superuser validation on Mac and Linux. #542
    • Edit account details hide auth hash. #584
    • Windows 7 installation error fixed. #588
    • AuthHelper support DLLs signed. #598
    • Wireguard fix for Windows 7. #565
    • Removed all "Failed..." logs from Linux debian install script and typo fix..
    • Make udp default connection on Linux. #583

    2.03.11 (15/10/2021)

    • Updated system tray icons on Windows and Linux. #395
    • Fixed GUI lock. #522
    • Fixed incorrect external IP. #536
    • Hide all non-functional preferences in Linux build. #533
    • Make IP blurring more blurry in MacOS. #534
    • Improved tunnel test algorithm on Windows. #539
    • Added "View Licenses" button to Debug Preferences menu. #543
    • No API connectivity - Fedora / certificate store issue fixed. #527
    • Linux RPM package. #532
    • Fedora WG support. #529
    • Linux firewall failure. #526
    • Fixed named pipe security flaw on Windows. #546
    • Add silent install flag to installer (Windows). #481
    • Updated dependencies/libraries. #552
      • OpenSSL: updated to 1.1.1L
      • C-Ares: updated to 1.17.2
      • Curl: updated to 7.79.1
      • OpenVPN: updated to 2.5.4
      • Stunnel: updated to 5.60
    • Linux auto updater functionality (debian and rpm packages). #531
    • Fixed "Cannot open file ':/svg/flags/.svg'" in log. #554
    • Mac install helper issue fixed. #551, #479
    • Temporarily disabled locations tray menu for Linux. #528

    2.03.10 (21/09/2021)

    • Improve task kill process for windscribeopenvpn. #517
    • Clean flag for Windows. #499
    • Fix stealth protocol not working for some users. #457
    • Delay tunnel test start for 3s when using OpenVPN+Wintun. #516
    • Prevent loss of engine log during engine recovery. #474

    2.03.09 (15/09/2021)

    • Linux firewall, wireguard, dns, resolvconf fixes. #511, #515, #519, #523
    • Fixed assert in engine server API.#514
    • The local DNS server while connected doesn't work. #512
    • MacOS hard crash fixed. #518

    2.03.06 (01/09/2021)

    • Always fetch ovpn server credentials and configs together. #482
    • Reinstallation of tap/wintun drivers (Windows). #504
    • Firewall implementation added (Linux). #511

    2.03.05 (24/08/2021)

    • Fixed resolution changes causes app crash. #445
    • Reconnect after hosts file repaired. #454
    • Fixed small openVPN connection delay on Windows. #505
    • Fixed macos privilege escalation vulnerabilities. #471
    • Fixed blank message box displayed when custom config cannot be opened. #508
    • Fixed click event on Upgrade button bleeds through to Preferences screen. #483
    • Fixed incorrect network statistics when disconnecting ikev2. #478

    2.03.04 (9/08/2021)

    • Connect Info scaling issue on Mac fixed. #472
    • Added CFBundleShortVersionString to Mac plist. #461
    • Fixed system icon issues on Big Sur. #463
    • Added "Start minimized" option. #477
    • Incorrect bandwidth used notification on MacOS fixed. #478
    • Custom config UI not re-rendered - fixed. #484
    • Custom configs don't get sorted by latency - fixed. #486
    • Click event on Upgrade button bleeds through to the Preferences screen - fixed. #483
    • Hosts file not writable - show correct error to user. #454
    • Accelerated the openvpn connection on Windows. #494
    • Injected verify-x509-name into OpenVPN config. #492
    • ChangeIcs.exe will not run on x64 (possible issues Vpn Sharing feature) - fixed. #500
    • Mac OS message boxes do not display spaces after periods - fixed. #501

    2.03.03 (21/05/2021)

    • The invalid custom DNS message return to the connect screen bug fixed.
    • Added shadows for some texts and controls.
    • Removed all gradient overlays for the custom backgrounds.

    2.03.02 (17/05/2021)

    • The custom DNS UI scaling issue is fixed.
    • The position and transparency of the custom background is fixed.

    2.03.01 (14/05/2021)

    • Prevent deactivate main windows when log viewer dialog is opened what led to crash. #439
    • Installer errors out with silly error if firewall is ON while disconnected - fixed. #441
    • A crash on OS X Sierra (10.12) fixed. #446
    • Custom DNS server support. #124
    • Ability to upload custom background images. #394
    • Added ability to blur IP with the mouse double click. #469

    2.02.10 (31/03/2021)

    • The detection of the authorization error for IKEv2 made more specific. #398
    • Reduced logs and ping_long_custom_configs.txt size. #434
    • The description on the emergency connection screen has been updated.

    2.02.9 (22/03/2021)

    • Removed some more log spam and log errors. #414
    • Large post data send bug fixed. #427
    • Log merge speed increased (for large files 5-10 times). #427
    • Cut out the part of the log if the count of lines exceeds 100k (keep 10% begin and 90% end of log). #427
    • Added Export Log button. #429
    • Do not close sockets for applications that do not use a VPN. #426
    • Set "TCP socket termination" option ON by default.
    • Linked option "TCP socket termination" with closing sockets in split tunneling. #426
    • Hotspot fix for openVPN, disable hotspot for WireGuard. #432

    2.02.8 (12/03/2021)

    • Updated remoteid for IKEv2 profiles on Mac. #420
    • Inclusive split routing issue on Mac - should be fixed. #398
    • Removed useless(spam) messages from log (GUI side). #414
    • Prevented keypress navigation to other locations from config-only mode.
    • Fixed auto-hide of docked app on showing external OS dialogs. #396
    • Fixed negative remaining bytes issue. #370
    • Open newsfeed to the first unread message, if any. #371

    2.02.5 (03/03/2021)

    • Windscribe beta installer fails on macOS standard accounts - fixed. #369

    • Detect legacy OS version, download legacy installer (Windows/Mac). #3 and #6

    • Remove the helper from version 1 when installing 2.0 (Mac). #5

    • Launch update installer at the same screen position as app (Windows/Mac). #7 and #8

    • Auto-update the application (Mac) - fixes.

    • Trackpad scrolling on Big Sur is wonky - fixes. #342

    • Removed account tab from preferences in external config mode. #365

    • Improvements to preferences and combobox menus. #118 -> Increased scroll bar widths. -> Fixed trackpad sensitivities on Mac and Windows. -> Fixed [Escape] key press navigations.

    • Fixed rare crash on Mac when using comboboxes and tooltips. #118

    • Improvements to location window. #118 -> Tab transitions: animations and logging -> Added navigation to search tab when you start typing -> Improved key-press navigation and cursor integration -> Fixed footer size -> Fixed view offset that happens at the bottom of the each list -> Fixed error messages and connection prevention for bad vpn configs -> Fixed drag-scrolling to bottom and top of list -> Fixed scaling issues on 125% and 175% -> Other minor bug fixes

    • Fixed latency display always as bars on some screens. #372

    • Fixed OVPN custom config issues with protocol names. #374

    • Fixed custom config error message. #375

    • Added SIGTERM signal processing for Mac. #379

    • Fixed incorrect timestamps in service log. #378

    • Finish all active connections on app start(Mac). #380

    • The program hangs on the welcome screen on Mac when installed in the folder with spaces - fixed. #383

    • Custom config does not change DNS server on MacOS - fixed. #384

    • Fixed WireGuard on wake connect issue. #385

    • Fixed Cmd+Q shortcut confirmation regression on Mac. #11

    2.02.4 (16/02/2021)

    • Autoupdate from older versions of the program (prior 2.02 build 1) fixed.

    2.02.3 (16/02/2021)

    • Updated text on external config mode window. #365
    • Removed sensitive info from logs. #366
    • App locks up when the file explorer is shown - fixed. #353
    • List of locations fixes. #118
      • Search animations on text change
      • touchpad scrolling slow to stop on Mac by tap
      • Added searchbox clearing on tab change and locations drawer hiding
      • Fixed location expanding animation bug (big lists and bottom items)
      • Fixed size of locations tab-area in search tab
      • Fixed ultra-sensitive touchpad on some Windows machines
      • Fixed locations search for nicknames
    • Fixed locations ribbon UI regression. #341
    • PingTest grows debug log - fixed. #362
    • Added workaround for openvpn error "write_wintun(): head/tail value is over capacity". #368
    • Check correctness of IP/CIDR combination in GUI. #363
    • Updated "esc" button in the installer. #354

    2.02.2 (10/02/2021)

    • Improved domain name validation in GUI preferences. #333
    • Fixed GUI and DPI scaling issues for API resolution in GUI preferences. #326
    • Fixed network level split routing defaults to /32 bug. #337
    • Removed initialization timeout in GUI. #339
    • Fixed Mac UI bug with static ips and custom configs ribbon. #341
    • Recreate DNS-resolver when network state changes (app fails over to direct IP API when started with no Internet access). #122
    • Fixed Hyper-V host network bridge detection. #334
    • Fixed the auto-update algorithm on Windows (sometimes update fails with "removing unsigned installer" error). #321
    • Fixed OVPN pipe-related deadlock issue. #335
    • Refetch WG config after logout. #345
    • Improved service logging, log merging and improved readability in GUI internal viewer. #346
    • Added year to logs. #350
    • WindscribeLogViewer - standalone log viewer app made for internal debug purposes. #352
    • Fixed custom configs OVPN protocol detection. #355
    • Localhost blocked in inclusive Split Routing mode, issue fixed. #167
    • Added split tunneling for the inclusive mode for hostnames (Windows). #238
    • Inclusive split tunneling breaks BattleNet agent - fixed. #344
    • Fixed default cipher problem with OVPN custom configs. #356
    • Disabled TAP custom configs on Mac. #356
    • Gui crash on Mac when opening or closing laptop lid - fixed. #318
    • Fix reconnect on external IKEv2 failure, fix DNS server list size issue. #359
    • Locations list refactored, location search tab added. #118
    • Hide "Connection settings" in external config mode. #361
    • Fixed EXE selection for a WoW64 GUI process. #353
    • Updated split tunneling driver for support Win7. #180

    2.02.1 (12/01/2021)

    • Split tunneling driver updated for support Win7/Win8. #338, #180
    • Implemented show flags preference. #314
    • Fixed WireGuard custom config issues. #319
    • Added support for Unicode SSIDs. #323
    • Formated WireGuard output to be readable. #325
    • Updated edit account link. #327
    • Attempt to fix not displaying the static ip device name.
    • "Service error 29" removed from service. #330.
    • Prevent blank manual IP in API resolution. 326
    • Fixed Win32 service WireGuard issues and added crashdump support for the service. #324
    • By default use udp protocol for custom OVPN configs. #331
    • Fixed blinking cursor on BlockableQLineEdit not in focus. #322
    • Clicking on a premium location should open browser. #238
    • Fixed favourites not saved on shutdown. #336
    • Show static ip as sublocation name. #332
    • Refactored TAP-adapter detection for split tunneling (Windows). Split tunneling gets disabled with WG should be fixed. #320
    • Extended tray menu to show Static IPs, Custom Configs and favorites. #119
    Source code(tar.gz)
    Source code(zip)
    Windscribe_2.3.15_beta.dmg(20.81 MB)
    Windscribe_2.3.15_beta.exe(18.63 MB)
    windscribe_2.3.15_beta_amd64.deb(21.67 MB)
    windscribe_2.3.15_beta_x86_64.rpm(29.42 MB)
Owner
Windscribe
Browse the web privately as it was meant to be
Windscribe
Oxygine is C++ engine and framework for 2D games on iOS, Android, Windows, Linux and Mac

BUILD AND RUN See oxygine-framework/readme/ folder. It has instructions on how to build and run oxygine on different platforms. Wiki available at http

Oxygine 735 Dec 23, 2022
Serial Data Monitor is a multiplatform (Windows, Linux, Mac, ...) tool to interactively receive/edit/monitor data and send commands to an embedded system via the serial bus

See wiki for full documentation Serial Data Monitor Description Serial Data Monitor is a multiplatform (Windows, Linux, Mac, ...) tool to interactivel

monnoliv 4 Oct 29, 2021
Drmemory - Memory Debugger for Windows, Linux, Mac, and Android

Dr. Memory: the memory debugger About Dr. Memory Dr. Memory is a memory monitoring tool capable of identifying memory-related programming errors such

DynamoRIO 2.1k Dec 28, 2022
Free (libre) font editor for Windows, Mac OS X and GNU+Linux

FontForge FontForge is a free (libre) font editor for Windows, Mac OS X and GNU+Linux. Use it to create, edit and convert fonts in OpenType, TrueType,

null 5k Dec 27, 2022
Qt5 "Hello, world!" app for Linux, BSD, Windows, Mac.

hello world in qt5 Contributions in all forms (code, bug reports, community engagement, localization, etc) are warmly welcomed. Development activity I

Jakob Flierl 2 Jan 26, 2022
A beginner friendly desktop UI for Tasmota flashed devices for Windows, macOS and Linux.

TasmoManager A beginner friendly desktop UI for Tasmota flashed devices for Windows, macOS and Linux. Features Native Tasmota device discovery (via ta

Tom Butcher 52 Dec 10, 2022
Make your Pop!_OS (Ubuntu Linux) shortcut key experience more like Mac OS

Meta Mac Enables a Mac OS-like shortcut key experience on Pop!_OS (and most Ubuntu-based Linux distros). Installation Download or git clone this repos

Duane Johnson 14 Dec 31, 2022
A Mac like Control Center for Windows

A Mac like Control Center for Windows.

LoadingName 1 Mar 8, 2022
Add virtual monitors to your windows 10 device! Works with Oculus software, obs, and any desktop sharing software

License MIT and CC0 or Public Domain, whichever is least restrictive -- Use it AS IS - NO IMPLICIT OR EXPLICIT warranty This may break your computer,

Rashi Abramson 230 Jan 6, 2023
A desktop (supports macOS and Windows) implementation of uni_links plugin.

uni_links_desktop A desktop (supports macOS and Windows) implementation of uni_links plugin. uni_links_desktop Platform Support Quick Start Installati

LeanFlutter 18 Dec 2, 2022
Dwm_lut - Apply 3D LUTs to the Windows desktop for system-wide color correction/calibration

About This tool applies 3D LUTs to the Windows desktop by hooking into DWM. It works in both SDR and HDR modes, and uses tetrahedral interpolation on

null 212 Jan 3, 2023
A npm package that lets you automate your windows desktop.

js-macro A npm package that lets you automate your windows desktop. npm i js-macro Examples Simple cursor usage const { cursor } = require("js-macro"

5 Jul 30, 2022
A npm package that lets you automate your windows desktop.

js-macro A npm package that lets you automate your windows desktop. npm i js-macro Examples Simple cursor usage const { cursor } = require("js-macro"

5 Jul 30, 2022
Get CPU & GPU temperatures and fan and battery statistics from your Mac.

macOS Hardware Stats Get CPU & GPU temperatures and fan and battery statistics from your Mac. This simple script will output a JSON array containing h

tigattack 4 May 5, 2022
Reproducible example of overlay and overlay mac driver bug

problem It's been observed under certain circumstances that MacOS overlay and overlay2 storage drivers cause the syscall copy_file_range to return zer

David Campion 2 Dec 7, 2021
OS X command line tool to inject Frameworks and dylibs on mach-o binaries (iOS & Mac Apps).

macho-inject OS X command line tool to inject Frameworks and dylibs on mach-o binaries. It does the injection of the framework and the codesigning. It

Jon Gabilondo 6 Nov 8, 2022
GDB 11.2 mac/darwin hang possible fix

README for this repository The repository is the modification of the GNU GDB-11.2: Source code: https://ftp.gnu.org/gnu/gdb/gdb-11.2.tar.gz The bug of

null 4 Feb 28, 2022
The source for the Linux kernel used in Windows Subsystem for Linux 2 (WSL2)

Introduction The WSL2-Linux-Kernel repo contains the kernel source code and configuration files for the WSL2 kernel. Reporting Bugs If you discover an

Microsoft 6.3k Jan 8, 2023
Implements a Windows service (in a DLL) that removes the rounded corners for windows in Windows 11

ep_dwm Implements a Windows service that removes the rounded corners for windows in Windows 11. Tested on Windows 11 build 22000.434. Pre-compiled bin

Valentin-Gabriel Radu 24 Dec 29, 2022