Downloads

Help wanted

If you are interested in packaging VpnCloud, please open an issue.

Installing VpnCloud

Installing on Debian-based systems   

You can find the most current deb packages in my repository:

$> echo "deb https://repo.ddswd.de/deb stable main" | sudo tee /etc/apt/sources.list.d/vpncloud.list
$> wget https://repo.ddswd.de/deb/public.key -qO - | sudo apt-key add
$> sudo apt update
$> sudo apt install vpncloud

Also, deb packages for each release can be found in the releases section. Currently only packages for amd64 and armhf are available (I am accepting help on building and packaging for other architectures).

Installing on RPM-based systems     

RPM packages for each release can be found in the releases section. Currently only packages for x86_64 are available (I am accepting help on building and packaging for other architectures).

Arch Linux (AUR)  

There is an outdated VpnCloud package for Arch Linux.

Compiling from source  

Prerequisites

To compile VpnCloud you need Git, Ruby-Ronn, Cargo, and a full C build environment including autotools (for building tuntap support).

The required packages can be installed on Debian-based systems via:

$> sudo apt get install build-essential ruby-ronn

and on RPM-based systems via:

$> yum groupinstall -y 'Development Tools'
$> yum install -y ruby-ronn

Compilation

The checked-out code can be compiled with:

$> cargo build --release

The binary could then be found in target/release/vpncloud.

Running the tests

The tests can be run via

$> cargo test

Compiling for other architectures (Cross-Compilation)

This software can be cross-compiled for a number of different architectures. Please also see the extended rust cross compilation docs.

ARMv7 (e.g. Raspberry Pi)

  1. Install the Cargo target
    $> rustup target add armv7-unknown-linux-gnueabihf
    
  2. Install the required build environment (on Ubuntu)
    $> sudo apt-get install -qq gcc-arm-linux-gnueabihf
    
  3. Build the software
    $> cargo build --release --target=armv7-unknown-linux-gnueabihf
    

Creating packages

Building deb packages

To build deb packages, you need cargo-deb:

$> cargo install cargo-deb

The package can then be build using:

$> cargo deb

Cargo deb also supports cross-compiling via --target as explained above.

Building RPM packages

To build RPM packages, you need cargo-rpm:

$> cargo install cargo-rpm

The package can then be build using:

$> cargo rpm build