IVPN command line interface (CLI)
IVPN command line interface is an official IVPN command line client.
It divided on two parts:
- IVPN CLI (this repository)
- IVPN service/daemon (repository ivpn-desktop-daemon)
Can be compiled for different platforms: Windows, macOS, Linux
IVPN CLI is distributed on the official site https://www.ivpn.net.
About this Repo
This is the official Git repo of the IVPN command line interface.
Installation
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Requirements
Linux
- Go 1.13+
- FPM
- rpm package to be able to compile RPM packages (use command
sudo apt-get install rpm
to install on Ubuntu)
- Git
- curl package (use command
sudo apt install curl
to install on Ubuntu)
macOS
Windows
Compilation
Linux
-
Set $GOPATH
variable to your projects folder
- example:
export GOPATH=$HOME/Projects
-
Create folder structure in a projects folder $GOPATH/src/github.com/ivpn
cd $GOPATH
mkdir -p src/github.com/ivpn
-
Clone CLI project repository
cd $GOPATH/src/github.com/ivpn
git clone https://github.com/ivpn/desktop-app-cli.git
-
There is a dependency from a Daemon for IVPN Client Desktop project. So, it is necessary to clone it's sources:
cd $GOPATH/src/github.com/ivpn
git clone https://github.com/ivpn/desktop-app-daemon.git
An additional step required while the CLI project has beta status - switch to feature/WC-903-Console-client
branch of daemon project:
cd desktop-app-daemon
git checkout feature/WC-903-Console-client
-
To compile projects and to build .DEB
and .RPM
packages just run build-packages.sh
script:
cd $GOPATH/src/github.com/ivpn/desktop-app-cli
References/Linux/build-packages.sh -v 0.0.1
Compiled packages can be found at $GOPATH/src/github.com/ivpn/desktop-app-cli/References/Linux/_out_bin
macOS
Windows
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 CLI 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.