Skip to content
This repository has been archived by the owner on Apr 22, 2021. It is now read-only.

ivpn/desktop-app-ui

IVPN Client (Windows/macOS)

This is a legacy project.
Development has been moved to a new repository: https://github.com/ivpn/desktop-app-ui2

IVPN Client is an official IVPN client for Windows and macOS. It is a client for IVPN daemon (ivpn-desktop-daemon)

IVPN Client built using Xamarin.Mac (C#).

IVPN Client app is distributed on the official site www.ivpn.net.

About this Repo

This is the official Git repo of the IVPN Client.

Installation

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Requirements

Windows

  • Windows 10+
  • NSIS installer
  • Microsoft Visual Studio Community 2019 or Build Tools for Visual Studio 2019 (ensure Windows SDK 10.0 is installed)
  • Go 1.13+ (downloads automatically by the build script)
  • WiX Toolset (downloads automatically by the build script)

macOS

  • macOS Mojave 10.14.6
  • Xcode Command Line Tools
  • Visual Studio for Mac (Xamarin.Mac)
  • Go 1.13+

Compilation

To build fully redistributable 'installer' binary, addition projects are in use of build process:

Windows

Important: Use Developer Command Prompt for Visual Studio (required for building native sub-projects) to compile.

git clone https://github.com/ivpn/desktop-app-ui.git
git clone https://github.com/ivpn/desktop-app-daemon.git
git clone https://github.com/ivpn/desktop-app-cli.git
desktop-app-ui\Windows\References\Installer\build.bat

These commands will compile the project and its dependencies. The compiled installer of VPN Client placed in the folder desktop-app-ui\Windows\References\bin

macOS

git clone https://github.com/ivpn/desktop-app-ui.git
git clone https://github.com/ivpn/desktop-app-daemon.git
git clone https://github.com/ivpn/desktop-app-cli.git

Important: Create text file which contains Apple Developer ID desktop-app-ui/macOS/scripts/config/devid_certificate.txt. This is required for signing binaries.

Running this script will compile the project with all dependencies.

macOS/scripts/dmg/build.sh

Compiled *.DMG installer of IVPN Client can be found in folder macOS/scripts/dmg/_compiled.

Note! The binary must be signed by Apple Developer ID to install and run the application (must be located in desktop-app-ui/macOS/scripts/config/devid_certificate.txt).

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 Client 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.