All Projects → jamesmcm → Vopono

jamesmcm / Vopono

Licence: gpl-3.0
Run applications through VPN tunnels with temporary network namespaces

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Vopono

Openvpn
Development repository for the openvpn cookbook
Stars: ✭ 102 (-56.78%)
Mutual labels:  hacktoberfest, openvpn
Netjsonconfig
Network configuration management library based on NetJSON DeviceConfiguration
Stars: ✭ 372 (+57.63%)
Mutual labels:  hacktoberfest, openvpn
Awesome Digitalocean
A curated list of amazingly awesome DigitalOcean resources inspired by Awesome Sysadmin
Stars: ✭ 236 (+0%)
Mutual labels:  hacktoberfest
Django Rest Passwordreset
An extension of django rest framework, providing a configurable password reset strategy
Stars: ✭ 238 (+0.85%)
Mutual labels:  hacktoberfest
Amplitude Javascript
JavaScript SDK for Amplitude
Stars: ✭ 234 (-0.85%)
Mutual labels:  hacktoberfest
Sprites
Repository containing all the Pokémon sprites
Stars: ✭ 231 (-2.12%)
Mutual labels:  hacktoberfest
Mockoon
Mockoon is the easiest and quickest way to run mock APIs locally. No remote deployment, no account required, open source.
Stars: ✭ 3,448 (+1361.02%)
Mutual labels:  hacktoberfest
Devo
A Chrome and Firefox extension that displays GitHub Trending, Hacker News, Product Hunt and Designer News on every new tab.
Stars: ✭ 236 (+0%)
Mutual labels:  hacktoberfest
Community App
This is the default web application built on top of the Apache Fineract platform. The Mifos X Web App (formerly called Community App) is maintained by the Mifos Initiative as a reference solution for the financial inclusion community. It is a Single-Page App (SPA) written in web standard technologies like JavaScript, CSS and HTML5. It leverages common popular frameworks/libraries such as AngularJS 1.5, Bootstrap and Font Awesome
Stars: ✭ 238 (+0.85%)
Mutual labels:  hacktoberfest
Zds Site
Cœur du projet technique de Zeste de Savoir
Stars: ✭ 236 (+0%)
Mutual labels:  hacktoberfest
Hacktoberfest
A collection of words! ⭐️ it if you 👍 it !
Stars: ✭ 240 (+1.69%)
Mutual labels:  hacktoberfest
Mond
A scripting language for .NET Core
Stars: ✭ 237 (+0.42%)
Mutual labels:  hacktoberfest
Yii2 Apidoc
Yii 2 apidoc extension.
Stars: ✭ 236 (+0%)
Mutual labels:  hacktoberfest
Ng Select
⭐ Native angular select component
Stars: ✭ 2,781 (+1078.39%)
Mutual labels:  hacktoberfest
Cordova Plugin Fingerprint Aio
👆 📱 Cordova Plugin for fingerprint sensors (and FaceID) with Android and iOS support
Stars: ✭ 236 (+0%)
Mutual labels:  hacktoberfest
Juice Shop Ctf
Capture-the-Flag (CTF) environment setup tools for OWASP Juice Shop
Stars: ✭ 238 (+0.85%)
Mutual labels:  hacktoberfest
11ty Website
Documentation site for the Eleventy static site generator.
Stars: ✭ 236 (+0%)
Mutual labels:  hacktoberfest
Gistlog
GistLog - simple, easy blogging based on GitHub gists
Stars: ✭ 237 (+0.42%)
Mutual labels:  hacktoberfest
Satis
Simple static Composer repository generator - For a full private Composer repo use Private Packagist
Stars: ✭ 2,722 (+1053.39%)
Mutual labels:  hacktoberfest
Worker pool
Erlang worker pool
Stars: ✭ 239 (+1.27%)
Mutual labels:  hacktoberfest

vopono logo

vopono is a tool to run applications through VPN tunnels via temporary network namespaces. This allows you to run only a handful of applications through different VPNs simultaneously, whilst keeping your main connection as normal.

vopono includes built-in killswitches for both Wireguard and OpenVPN.

Currently Mullvad, AzireVPN, MozillaVPN, TigerVPN, ProtonVPN, iVPN, NordVPN, and PrivateInternetAccess are supported directly, with custom configuration files also supported with the --custom argument.

Screenshot

Screenshot showing an example with firefox, google-chrome-stable and lynx all running through different VPN connections:

Screenshot

Supported Providers

Provider OpenVPN support Wireguard support
Mullvad
AzireVPN
iVPN
PrivateInternetAccess
TigerVPN
ProtonVPN
MozillaVPN
NordVPN

Usage

Set up VPN provider configuration files:

$ vopono sync

Run Firefox through an AzireVPN Wireguard connection to a server in Norway:

$ vopono exec --provider azirevpn --server norway firefox

vopono can handle up to 255 separate network namespaces (i.e. different VPN server connections - if your VPN provider allows it). Commands launched with the same server prefix and VPN provider will share the same network namespace.

See the vopono User Guide for much more detailed usage instructions (including handling daemons and servers).

Installation

AUR (Arch Linux)

Install the vopono-git package with your favourite AUR helper.

$ yay -S vopono-git
$ vopono sync

Alternatively use the vopono-bin package if you don't want to compile from source.

Raspberry Pi (Raspbian)

Download and install the vopono_x.y.z_armhf.deb package from the releases page:

$ sudo dpkg -i vopono_0.2.1_armhf.deb

You will need to install OpenVPN (available in the Raspbian repos):

$ sudo apt install openvpn

You can then use vopono as above (note that the Chromium binary is chromium-browser):

$ vopono sync --protocol openvpn mullvad
$ vopono exec --provider mullvad --server sweden chromium-browser

Screenshot of vopono with OpenVPN running on Raspbian:

Raspbian Screenshot

Note Wireguard is not in the Raspbian repositories, so installing it is not trivial. You can follow this guide to attempt it, but note that not only do you need to install Wireguard and wireguard-tools to have wg available, but also the linux-headers to ensure it works correctly (i.e. you don't just get Protocol not supported errors when trying to establish a connection).

Check the User Guide for details on port forwarding and using vopono with daemons and servers, in case you want to use your Raspberry Pi to run privoxy or transmission-daemon, etc.

Debian + Ubuntu

Install the deb package provided on the releases page.

Fedora + OpenSUSE

Install the rpm package provided on the release page (choose the correct version).

Other Linux

Either use the compiled binaries on the release page, or install from source with Cargo as documented below.

From this repository (with Cargo)

Run the install script provided: install.sh - this will cargo install the repository and copy over the configuration files to ~/.config/vopono/

Note the minimum supported Rust version is 1.43. You can check your version with:

$ rustc --version

Known issues

  • When launching a new application in an existing vopono namespace, any modifications to the firewall rules (i.e. forwarding and opening ports) will not be applied (they are only used when creating the namespace).
  • OpenVPN credentials are always stored in plaintext in configuration - may add option to not store credentials, but it seems OpenVPN needs them provided in plaintext.
  • There is no easy way to delete MozillaVPN devices (Wireguard keypairs) - unlike Mullvad this cannot be done on the webpage. I recommend using MozWire to manage this.
  • gnome-terminal will not run in the network namespace due to the client-server model - see issue #48

License

vopono is licensed under the GPL Version 3.0 (or above), see the LICENSE file or https://www.gnu.org/licenses/gpl-3.0.en.html

Etymology

vopono is the pronunciation of the letters VPN in Esperanto.

Se vi ankaŭ parolas Esperanton, bonvolu serĉi min en la kanalo de Discord de Rust Programming Language Community.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, will be licensed under the GPLv3 (or above), without any additional terms or conditions.

Many thanks to NilIrl's MozWire for the investigation of the MozillaVPN API.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].