Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove TigerVPN, Mullvad Port Forwarding docs #234

Merged
merged 1 commit into from
Aug 20, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "vopono"
description = "Launch applications via VPN tunnels using temporary network namespaces"
version = "0.10.6"
version = "0.10.7"
authors = ["James McMurray <jamesmcm03@gmail.com>"]
edition = "2021"
license = "GPL-3.0-or-later"
Expand All @@ -25,12 +25,12 @@ compound_duration = "1"
signal-hook = "0.3"
walkdir = "2"
chrono = "0.4"
bs58 = "0.4"
bs58 = "0.5"
nix = "0.26"
config = "0.13"
basic_tcp_proxy = "0.3.1"
strum = "0.24"
strum_macros = "0.24"
basic_tcp_proxy = "0.3.2"
strum = "0.25"
strum_macros = "0.25"

[package.metadata.rpm]
package = "vopono"
Expand Down
6 changes: 2 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ as normal.

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

Currently Mullvad, AzireVPN, MozillaVPN, TigerVPN, ProtonVPN, iVPN,
Currently Mullvad, AzireVPN, MozillaVPN, ProtonVPN, iVPN,
NordVPN, AirVPN, HMA (HideMyAss) and PrivateInternetAccess are supported directly, with custom
configuration files also supported with the `--custom` argument.

Expand All @@ -29,7 +29,6 @@ lynx all running through different VPN connections:
| AzireVPN | ✅ | ✅ |
| iVPN | ✅ | ✅ |
| PrivateInternetAccess | ✅ | ✅\*\* |
| TigerVPN | ✅ | ❌ |
| ProtonVPN | ✅ | ❓\* |
| MozillaVPN | ❌ | ✅ |
| NordVPN | ✅ | ❌ |
Expand All @@ -38,8 +37,7 @@ lynx all running through different VPN connections:

\* For ProtonVPN you can generate and download specific Wireguard config
files, and use them as a custom provider config. See the [User Guide](USERGUIDE.md)
for details - note that port forwarding is not supported for ProtonVPN
(but is for Mullvad).
for details - note that port forwarding is currently not supported for ProtonVPN.

\*\* Port forwarding is not currently supported for PrivateInternetAccess.

Expand Down
13 changes: 1 addition & 12 deletions USERGUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -174,9 +174,6 @@ If it is missing you will be prompted for your credentials.
For PrivateInternetAccess, HMA (HideMyAss) and AzireVPN these should be the same as your account
credentials.

For TigerVPN you can view your OpenVPN credentials [online on the "geeks" dashboard](https://www.tigervpn.com/dashboard/geeks).
The OpenVPN credentials are **not** the same as your TigerVPN account credentials.

For Mullvad your OpenVPN credentials are your account code as your username, and `m` as the password.

For ProtonVPN you can view your OpenVPN credentials [online on your account dashboard](https://account.protonvpn.com/account#openvpn).
Expand Down Expand Up @@ -210,8 +207,6 @@ For Mullvad, valid ports are: 1300, 1301, 1302, 1194, 1195, 1196, 1197, or 53 fo

For PrivateInternetAccess valid ports are 1198 for UDP and 502 for TCP.

For TigerVPN valid ports are 1194 for UDP or 443 for TCP.

#### Shadowsocks socks-proxy

Mullvad supports proxying via Shadowsocks, if that configuration is
Expand Down Expand Up @@ -469,8 +464,7 @@ generated online and then used as a custom configuration, e.g.:
$ vopono -v exec --provider custom --custom testwg-UK-17.conf --protocol wireguard firefox-developer-edition
```

Note that port forwarding is not supported for ProtonVPN (but is for
Mullvad).
Note that port forwarding is currently not supported for ProtonVPN.

#### PrivateInternetAccess

Expand Down Expand Up @@ -501,11 +495,6 @@ some ports inside the network namespace which can be accessed via the
Wireguard/OpenVPN tunnel (this can be important for BitTorrent
connectivity, etc.).

Mullvad tunnel port forwarding works for both Wireguard and OpenVPN. You will
need to enable the ports in your [Mullvad account](https://mullvad.net/en/account/#/ports).
Remember to open the port with the `-o PORTNUMBER` argument to
`vopono exec` if you have the killswitch enabled!

For iVPN port forwarding also works the same way, however it is **only
supported for OpenVPN** on iVPN's side. So remember to pass
`--protocol openvpn -o PORTNUMBER` when trying it! Enable port
Expand Down
10 changes: 5 additions & 5 deletions vopono_core/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "vopono_core"
description = "Library code for running VPN connections in network namespaces"
version = "0.1.6"
version = "0.1.7"
edition = "2021"
authors = ["James McMurray <jamesmcm03@gmail.com>"]
license = "GPL-3.0-or-later"
Expand All @@ -23,7 +23,7 @@ regex = "1"
ron = "0.8"
walkdir = "2"
# Must use rand 0.7 for compatibility with x25519-dalek for now
rand = "0.7"
rand = "0.8"
toml = "0.7"
ipnet = { version = "2", features = ["serde"] }
reqwest = { default-features = false, version = "0.11", features = [
Expand All @@ -33,9 +33,9 @@ reqwest = { default-features = false, version = "0.11", features = [
] } # TODO: Can we remove Tokio dependency?
sysinfo = "0.29"
base64 = "0.21"
x25519-dalek = "1"
strum = "0.24"
strum_macros = "0.24"
x25519-dalek = { version = "2", features = ["static_secrets"] }
strum = "0.25"
strum_macros = "0.25"
zip = "0.6"
maplit = "1"
webbrowser = "0.8"
Expand Down
4 changes: 0 additions & 4 deletions vopono_core/src/config/providers/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ mod mullvad;
mod nordvpn;
mod pia;
mod protonvpn;
mod tigervpn;
mod ui;

use crate::config::vpn::Protocol;
Expand All @@ -34,7 +33,6 @@ pub use ui::*;
pub enum VpnProvider {
PrivateInternetAccess,
Mullvad,
TigerVPN,
ProtonVPN,
MozillaVPN,
AzireVPN,
Expand All @@ -51,7 +49,6 @@ impl VpnProvider {
match self {
Self::PrivateInternetAccess => Box::new(pia::PrivateInternetAccess {}),
Self::Mullvad => Box::new(mullvad::Mullvad {}),
Self::TigerVPN => Box::new(tigervpn::TigerVPN {}),
Self::ProtonVPN => Box::new(protonvpn::ProtonVPN {}),
Self::MozillaVPN => Box::new(mozilla::MozillaVPN {}),
Self::AzireVPN => Box::new(azirevpn::AzireVPN {}),
Expand All @@ -67,7 +64,6 @@ impl VpnProvider {
match self {
Self::PrivateInternetAccess => Ok(Box::new(pia::PrivateInternetAccess {})),
Self::Mullvad => Ok(Box::new(mullvad::Mullvad {})),
Self::TigerVPN => Ok(Box::new(tigervpn::TigerVPN {})),
Self::ProtonVPN => Ok(Box::new(protonvpn::ProtonVPN {})),
Self::AzireVPN => Ok(Box::new(azirevpn::AzireVPN {})),
Self::AirVPN => Ok(Box::new(airvpn::AirVPN {})),
Expand Down
5 changes: 1 addition & 4 deletions vopono_core/src/config/providers/mullvad/openvpn.rs
Original file line number Diff line number Diff line change
Expand Up @@ -123,10 +123,7 @@ impl OpenVpnProvider for Mullvad {
format!("remote {}.mullvad.net {}", relay.hostname, port)
};

file_set
.entry(file_name)
.or_insert_with(Vec::new)
.push(remote_string);
file_set.entry(file_name).or_default().push(remote_string);
}

let bridge_vec = if use_bridges {
Expand Down
141 changes: 0 additions & 141 deletions vopono_core/src/config/providers/tigervpn/mod.rs

This file was deleted.

15 changes: 0 additions & 15 deletions vopono_core/src/config/providers/tigervpn/serverlist.csv

This file was deleted.

30 changes: 0 additions & 30 deletions vopono_core/src/config/providers/tigervpn/tig_ca.crt

This file was deleted.

2 changes: 1 addition & 1 deletion vopono_core/src/network/wireguard.rs
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ impl Wireguard {
// TODO: Maybe properly parse ini format

// Valid keys for wireguard config (see wg(8):CONFIGURATION FILE FORMAT)
let allow_keys = vec![
let allow_keys = [
"PrivateKey",
"ListenPort",
"FwMark",
Expand Down
2 changes: 1 addition & 1 deletion vopono_core/src/util/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -471,7 +471,7 @@ pub fn get_lock_namespaces() -> anyhow::Result<HashMap<String, Vec<Lockfile>>> {
let lock: Lockfile = ron::de::from_reader(lockfile)?;
namespaces
.entry(lock.ns.name.clone())
.or_insert_with(Vec::new)
.or_default()
.push(lock);
Ok(())
})?;
Expand Down
2 changes: 1 addition & 1 deletion vopono_core/src/util/wireguard.rs
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ impl Display for WgPeer {

pub fn generate_keypair() -> anyhow::Result<WgKey> {
// Generate new keypair
let private = StaticSecret::new(OsRng);
let private = StaticSecret::random_from_rng(OsRng);
let public = PublicKey::from(&private);
let public_key = B64_ENGINE.encode(public.as_bytes());
let private_key = B64_ENGINE.encode(private.to_bytes());
Expand Down
Loading