Skip to content

Skywire VPN Client

Asgaror edited this page Oct 20, 2020 · 14 revisions

Skywire VPN Client

Introduction

This guide explains the setup procedure and includes operating instructions of the Skywire VPN Client. Please refer to the Skywire VPN Server guide out in case you want to run a Skywire VPN Server for Skywire VPN.

Note: Setting up a Skywire VPN Client is currently only documented for Linux und MacOS. A guide for setting up Skywire VPN on Windows will follow. Installers and a more streamlined UI for setting up VPN connections will be available with the next release.

Table Of Contents


Installation

In order to use Skywire VPN, you need to install Skywire on your computer. Follow this guide to install Skywire. The rest of this guide assumes that you have installed both the Skywire Visor and Skywire Hypervisor and generated configuration files.

Once you have Skywire installed, you can either continue setting up the Skywire VPN Client through the Hypervisor UI or via CLI (terminal).

Skywire VPN Client Setup

The following sections explain the setup process of the Skywire VPN Client. It's possible by using the hypervisorUI or the regular command line/terminal.

Setup - HypervisorUI

This section explains the setup by using the hypervisorUI.

Start the setup by copying the public key of your Hypervisor. In order to access the public key of your Hypervisor open the hypervisor-config.json file with your prefered editor. Your public key can be found there:

find_pk

After you copied the public key, open skywire-config.json` with your favorite editor and enter your public key in the following field:

enter_pk

Make sure to embed the public key with surrounding "".

After you saved the changes, run the Visor with:

sudo skywire-visor (or via sudo ./skywire-visor in the Skywire Mainnet directory if PATH of sudo has not been adjusted.)

Enter your password if prompted. Afterwards, start the Hypervisor with

hypervisor

Now navigate to http://localhost:8000 in your browser.

Inside the Hypervisor UI, click on the Visor you just connected and access the Apps tab.

access_app_tab

In order to browse for VPN servers available, click on the Gear icon next to the VPN client and select Search:

select_gear_icon

select_search

In order to select a remote VPN server, click on the public key and select Yes in the popup. Afterwards copy the public key you selected

copy_remote

Afterwards, return to the Routing tab and establish a transport to the remote you selected as VPN server:

add_tp

input_pk

Note: The stcpr and sudph transport types will have the best performance. Try to establish these transport types first. If these are not available (red circle appears next to the transport) establish a dmsg transport.

After establishing a transport to the remote, return to the App tab and click the Start button next to the VPN client:

start_app

If the connection was established successfully, the circle next to the vpn-client will turn green. If the connection is setup and live, the up- and download windows in the bottom right corner will show constant increases in data sent and received.

Note: After starting the VPN client successfully, all the network traffic will be routed through the VPN connection until the connection is shutdown.

You can close the Skywire VPN by clicking the stop button:

close_app


Setup - CLI

This section outlines the installation steps by using a regular command-line interface/terminal.

After installing Skywire, open up skywire-config.json with your prefered editor. Insert the public key of the VPN server into the vpn-server field in the following way:

	{
				"name": "vpn-client",
				"args": ["-srv","02f9c5ebd8e480d33b0de67555089bcd85cc1d70c70a17fa5827159c0fcf0a755c"],
				"auto_start": false,
				"port": 43
			}

In order to obtain a list of available VPN servers, you can use the following link:

https://service.discovery.skycoin.com/api/services?type=vpn

Continue by starting the Skywire visor with

sudo skywire-visor

Enter your password if prompted. Afterwards, replace the values below with the remote public key you selected:

skywire-cli visor add-tp 02f9c5ebd8e480d33b0de67555089bcd85cc1d70c70a17fa5827159c0fcf0a755c --type stcpr

Note: The stcpr and sudph transports are the most performant. It is recommended to try to setup these transports first. If these are not available, setup a dmsg transport.

After you setup the transport, start the VPN by running:

skywire-cli visor start-app vpn-client

In order to stop the VPN, run:

skywire-cli visor stop-app vpn-client

Clone this wiki locally