Skip to content

swapnilsparsh/devsVPN

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

privateLINE Connect Desktop (Windows/Linux)

privateLINE Connect Desktop is the official privateLINE VPN client for Windows, Linux platforms. privateLINE Connect Desktop releases are distributed on the official site privateline.io.

About this Repo

This is the GitHub repo of the privateLINE Connect Desktop app.

The project is divided into three parts:

  • daemon: Core module of the privateLINE software built mostly using the Go language. It runs with privileged rights as a system service/daemon.
  • UI: Graphical User Interface built using Electron.
  • CLI: Command Line Interface.

Installation

These instructions enable you to get the project up and running on your local machine for development and testing purposes.

Requirements

Windows

Go 1.22+; Git; npm; Node.js (18); nsis3; Build Tools for Visual Studio 2019 ('Windows 10 SDK 10.0.19041.0', 'Windows 11 SDK 10.0.22000.0', 'MSVC v142 C++ x64 build tools', 'C++ ATL for latest v142 build tools'); gcc compiler (e.g. TDM GCC).

Target Windows platforms are: Windows 10, Windows 11. To make sure that your build works on win10 - you must install the exact SDK versions as part of Build Tools for Visual Studio installation, not the latest SDKs.

Linux

Go 1.22+; Git; npm; Node.js (18); gcc; make; FPM; curl; rpm; libiw-dev.

To compile liboqs, additional packages are required: sudo apt install astyle cmake gcc ninja-build libssl-dev python3-pytest python3-pytest-xdist unzip xsltproc doxygen graphviz python3-yaml valgrind

Target Linux platforms are the ones with GLIBC 2.31 or higher. Currently supported platforms:

  • Ubuntu 20.04 LTS or higher
  • Debian 11 or higher

In order to create release builds, you need to set up your development environment in Linux with GLIBC 2.31 - either Debian 11 (recommended), or Ubuntu 20.04 LTS.

Compilation

Windows

Instructions to build installer of privateLINE Client (daemon + CLI + UI): Use Developer Command Prompt for Visual Studio (required for building native sub-projects).

git clone https://github.com/swapnilsparsh/devsVPN.git
cd devsVPN/ui/References/Windows
build.bat
  • Use desktop-app/ui/References/Windows/build.bat to create a release build (maximum package compression, slow compilation).
  • Use desktop-app/ui/References/Windows/build-debug.bat to create a build for testing (no package compression, fast compilation).

Compiled binaries can be found at ui/References/Windows/bin

Linux

Linux build can produce two package flavors:

  • privateline-connect-console: Console-only release, which includes daemon+CLI.
  • privateline-connect-full: Console and Xorg release, includes daemon+CLI+UI.

Since both package flavors include the daemon, you can install either privateline-connect-console package, or privateline-connect-full, but not both at the same time.

# get sources
git clone https://github.com/swapnilsparsh/devsVPN.git

# Run build.sh without arguments to get all build options:
cd devsVPN
./cli/References/Linux/build.sh

ERROR: you must include '--console' or '--full' argument

Usage: ./build.sh < --console | --full > < --deb | --rpm > < --test | --release > [-v,--version VER]
	--console               Build a console-only package containing daemon+CLI
	--full                  Build a full package containing daemon+CLI+UI
	--deb                   Build a DEB package
	--rpm                   Build an RPM package
	--test                  Build a package for testing - no package compression, fast compilation
	--release               Build a release package - max package compression, slow compilation
	-v, --version           Specify version

Examples:

	To create a testing build of a console-only package in DEB format:
		yes | ./build.sh --console --deb --test

	To create a release build of a full package in RPM format:
		./build.sh --full --rpm --release

If you try to create a Linux build on machine with GLIBC version higher than 2.31, build will complain. To bypass the confirmation prompts and create a local testing build, you can pipe yes to build.sh:

yes | ./build.sh ...

Compiled DEB/RPM packages can be found at cli/References/Linux/_out_bin

Versioning

Current version is set in ui/package.json for all build types on all platforms.

Security Policy

If you want to report a security problem, please read our Security Policy.

License

This project is licensed under the GPLv3 - see the License file for details.

Authors

See the Authors file for the list of contributors who participated in this project.

Acknowledgements

See the Acknowledgements file for the list of third party libraries used in this project.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published