All Projects → ivpn → desktop-app

ivpn / desktop-app

Licence: GPL-3.0 license
Official IVPN Desktop app

Programming Languages

go
31211 projects - #10 most used programming language
Vue
7211 projects
javascript
184084 projects - #8 most used programming language
C++
36643 projects - #6 most used programming language
shell
77523 projects
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to desktop-app

desktop-app-ui2
IVPN Desktop app
Stars: ✭ 19 (-86.52%)
Mutual labels:  openvpn, vpn, vpn-client, wireguard, ivpn
desktop-app-cli
Official IVPN command-line interface (CLI)
Stars: ✭ 18 (-87.23%)
Mutual labels:  openvpn, vpn, vpn-client, wireguard, ivpn
desktop-app-ui
Official IVPN Desktop app (legacy version)
Stars: ✭ 23 (-83.69%)
Mutual labels:  openvpn, vpn, vpn-client, wireguard, ivpn
desktop-app-daemon
Official IVPN Desktop app (service)
Stars: ✭ 34 (-75.89%)
Mutual labels:  openvpn, vpn, vpn-client, wireguard, ivpn
nordvpn
NordVpn Docker Client
Stars: ✭ 475 (+236.88%)
Mutual labels:  openvpn, vpn, vpn-client, wireguard
split-vpn
A split tunnel VPN script for Unifi OS routers (UDM, UXG, UDR) with policy based routing.
Stars: ✭ 589 (+317.73%)
Mutual labels:  openvpn, vpn, vpn-client, wireguard
killswitch-windows
VPN kill switch for windows.
Stars: ✭ 22 (-84.4%)
Mutual labels:  openvpn, vpn, vpn-client
AdGuard-WireGuard-Unbound-Cloudflare
The Ultimate Network Security Guide 🔒 Protection | 🔎 Privacy | 🚀 Performance on home network 24/7 🕛 Accessible anywhere 🌏
Stars: ✭ 160 (+13.48%)
Mutual labels:  openvpn, vpn, wireguard
iit-kgp-network
Information repository and Solutions on IIT KGP Internet Problems.
Stars: ✭ 28 (-80.14%)
Mutual labels:  openvpn, vpn, wireguard
Android Vpn Client Ics Openvpn
⭐ Create your Android VPN App by using Android Studio and publish to Google Play Store 🤖
Stars: ✭ 270 (+91.49%)
Mutual labels:  openvpn, vpn, vpn-client
Streisand
Streisand sets up a new server running your choice of WireGuard, OpenConnect, OpenSSH, OpenVPN, Shadowsocks, sslh, Stunnel, or a Tor bridge. It also generates custom instructions for all of these services. At the end of the run you are given an HTML file with instructions that can be shared with friends, family members, and fellow activists.
Stars: ✭ 22,605 (+15931.91%)
Mutual labels:  openvpn, vpn, wireguard
Softethervpn
Cross-platform multi-protocol VPN software. Pull requests are welcome. The stable version is available at https://github.com/SoftEtherVPN/SoftEtherVPN_Stable.
Stars: ✭ 8,531 (+5950.35%)
Mutual labels:  openvpn, vpn, wireguard
netmaker
Netmaker makes networks with WireGuard. Netmaker automates fast, secure, and distributed virtual networks.
Stars: ✭ 4,147 (+2841.13%)
Mutual labels:  openvpn, vpn, wireguard
hide.client.linux
Hide.me CLI VPN client for Linux
Stars: ✭ 41 (-70.92%)
Mutual labels:  vpn, vpn-client, wireguard
Nordvpn Networkmanager
A CLI tool for automating the importing, securing and usage of NordVPN (and in the future, more) OpenVPN servers through NetworkManager.
Stars: ✭ 111 (-21.28%)
Mutual labels:  openvpn, vpn, vpn-client
Vpngate With Proxy
vpn gate client for linux, be able to connect to open vpn server through proxy
Stars: ✭ 150 (+6.38%)
Mutual labels:  openvpn, vpn, vpn-client
Algo
Set up a personal VPN in the cloud
Stars: ✭ 24,275 (+17116.31%)
Mutual labels:  vpn, vpn-client, wireguard
Mullvadvpn App
The Mullvad VPN client app for desktop and mobile
Stars: ✭ 1,953 (+1285.11%)
Mutual labels:  openvpn, vpn, wireguard
Openvpn3 Linux
OpenVPN 3 Linux client
Stars: ✭ 186 (+31.91%)
Mutual labels:  openvpn, vpn, vpn-client
terraform-openvpn
A sample terraform setup for OpenVPN using Let's Encrypt and Certbot to generate certificates
Stars: ✭ 43 (-69.5%)
Mutual labels:  openvpn, vpn

CodeQL Security Scan (gosec) CI ivpn

IVPN for Desktop (Windows/macOS/Linux)

IVPN for Desktop is the official IVPN app for desktop platforms. Some of the features include: multiple protocols (OpenVPN, WireGuard), Kill-switch, Multi-Hop, Trusted Networks, AntiTracker, Custom DNS, Dark mode, and more.
IVPN Client app is distributed on the official site www.ivpn.net.
IVPN application image

About this Repo

This is the official Git repo of the IVPN for Desktop app.

The project is divided into three parts:

  • Daemon is a core module of IVPN software built mostly using the Go language. It runs with privileged rights as a system service/daemon.
  • UI is a Graphical User Interface built using Electron.
  • CLI is a 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

npm; Node.js (LTS version); nsis2; 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; Go 1.16+; Git

macOS

npm; Node.js (LTS version); Xcode Command Line Tools; Go 1.16+; Git
To compile the OpenVPN\OpenSSL binaries locally, additional packages are needed: brew install autoconf automake libtool

Linux

npm; Node.js (LTS version); packages: FPM, curl, rpm, libiw-dev; Go 1.16+; Git

Compilation

Windows

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

git clone https://github.com/ivpn/desktop-app.git
cd desktop-app/ui/References/Windows
build.bat

Compiled binaries can be found at: desktop-app/ui/References/Windows/bin

macOS

Instructions to build macOS DMG package of IVPN Client software (daemon+CLI+UI):

git clone https://github.com/ivpn/desktop-app.git
cd ivpn/desktop-app/ui/References/macOS
./build.sh -v <VERSION_X.X.X> -c <APPLE_DevID_CERTIFICATE>

Compiled binary can be found at: desktop-app/ui/References/macOS/_compiled
(some info about Apple Developer ID)

Linux

Linux Daemon

Instructions to build Linux DEB and RPM packages of IVPN software ('base' package: daemon + CLI):

git clone https://github.com/ivpn/desktop-app.git
cd desktop-app/cli/References/Linux/
./build.sh -v <VERSION_X.X.X>

Compiled packages can be found at desktop-app/cli/References/Linux/_out_bin

Manual installation IVPN daemon on Linux

Sometimes it is required to have the possibility to install IVPN binaries manually.
It's easy to do it by following the rules described below.

The ivpn-service is checking the existing of some required files (all files can be found in the repository)

VirtualBox:/opt/ivpn/etc$ ls -l
total 52
-r-------- 1 root root  2358 May 25 16:50 ca.crt
-rwx------ 1 root root   113 May 25 16:50 client.down
-rwx------ 1 root root  1927 May 25 16:50 client.up
-rwx------ 1 root root  5224 May 25 16:50 firewall.sh
-rw------- 1 root root 21524 May 26 20:52 servers.json
-r-------- 1 root root   636 May 25 16:50 ta.key
  1. Build the current project to get 'ivpn service' and 'ivpn cli' binaries.
  2. Create folder /opt/ivpn/etc
  3. Copy all required files (see above).
    Note! Files owner and access rights are important.
  4. Now you can start compiled service binary from the command line (just to check if it works).
    Note! The service must be started under a privileged user.
    Info You can use the command line parameter --logging to enable logging for service.
    4.1. Simply run compiled ivpn-cli binary to check if it successfully connects to the service (use separate terminal).
  5. If everything works - you can configure your environment to start ivpn-service automatically with the system boot (we are using systemd for such purposes)

Linux UI

Instructions to build Linux DEB and RPM packages of IVPN software 'UI' package:

git clone https://github.com/ivpn/desktop-app.git
cd desktop-app/ui/References/Linux
./build.sh -v <VERSION_X.X.X>

Compiled packages can be found at desktop-app-ui2/References/Linux/_out_bin

Note! It is required to have installed IVPN Daemon before running IVPN UI.

Versioning

Project is using Semantic Versioning (SemVer) for creating release versions.

SemVer is a 3-component system in the format of x.y.z where:

x stands for a major version
y stands for a minor version
z stands for a patch

So we have: Major.Minor.Patch

Contributing

If you are interested in contributing to IVPN for Desktop project, please read our Contributing Guidelines.

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].