Vopono

vopono is a tool to run applications via VPN tunnels (OpenVPN, Wireguard or OpenConnect) with temporary network namespaces.

vopono supports forwarding and proxying ports from inside the namespace to the host machine so it can be used to run servers and daemons through the VPN connection whilst other applications on the host machine are unaffected.

Multiple applications can be run in a single namespace, and multiple namespaces can be created concurrently (for different VPN connections).

Automatic configuration is supported for many popular VPN providers including Mullvad, ProtonVPN, Private Internet Access, AzireVPN, iVPN, and TigerVPN. Custom OpenVPN and wg-quick configuration files can also be passed manually for other providers.

vopono is licensed under the GPLv3, and written in Rust.

Installation

voponoAUR, vopono-binAUR and vopono-gitAUR packages are available on the AUR for building the most recent release from source, using pre-built binaries for the most recent release and building the current state of the master branch from source respectively.

Alternatively, one can clone the repository and install it with Cargo.

Configuration

Run vopono sync to automatically generate configuration files for your VPN provider. They will be written to $XDG_CONFIG_HOME/vopono/.

Usage

Run vopono exec --provider $PROVIDER --server $SERVER_PREFIX $APPLICATION to launch an application in a network namespace with the specified VPN provider and server.

You can see the possible servers for a provider (after running vopono sync) by running vopono servers $PROVIDER

See the vopono User Guide for more details on running daemons and servers with vopono, and other advanced use cases.

gollark: But this is in order apart from all the ways in which it's not in order.
gollark: It says it in the help text which nobody reads because it's unhelpful.
gollark: My servers only run UTC, and the bot code is very thingy about keeping that time zone.
gollark: Yes, the bot is superior UTC coordinated time.
gollark: Which thing is it? It doesn't say.

See also

This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.