Skip to content

A VPN Client GUI in native Go and Win32 API's for Windows (without network stack)

License

Notifications You must be signed in to change notification settings

Sina-Ghaderi/vpngui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vpngui

A VPN Client GUI in native Go and Win32 API's compatible with Windows 7, 8 and higher. This source code does not include the network stack. You can develop your own VPN client library and integrate it into this source.

screenshot

build the source

This package is complete and can be built on its own; however, it does not have the capability to connect to anything.

Dependencies:

  • Windows 10 or higher (64-bit) with Internet connection
  • MSYS2 platform (MINGW64)
  • Inno Setup 6 installed at C:\Program Files (x86)\Inno Setup 6

Setting up the build environment:

  • Open the MINGW64 program and update the packages with pacman -Syu
  • Install the required packages using pacman -S base-devel mingw-w64-x86_64-make
  • Clone the source with git clone https://github.com/Sina-Ghaderi/vpngui.git
  • Navigate to the vpngui folder and run the command make to start the build process
  • After a successful build, the installer output should be located in the bin/output folder

A few notes

The source code includes three executable files: snixconnect, launcher, and service. The snixconnect executable requires system or admin access to run. While the graphical interface itself does not need this access, it is usually necessary to set up the tunnel interface. To launch the snixconnect GUI for users without admin access, the launcher executable sends the user's session ID to the service through a named pipe. The service, running with system access, uses its Token and system privileges to start the snixconnect GUI process in the user's session (using CreateProcessAsUser)

Licence

This work is licenced under the terms of GNU GENERAL PUBLIC LICENSE v3

About

A VPN Client GUI in native Go and Win32 API's for Windows (without network stack)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages