
Esegui applicazioni attraverso tunnel VPN con namespace di rete temporanei.

vopono è uno strumento per eseguire applicazioni attraverso tunnel VPN tramite namespace di rete temporanei. Questo ti permette di eseguire solo alcune applicazioni attraverso diverse VPN simultaneamente, mantenendo la tua connessione principale normale.
vopono include killswitch integrati sia per Wireguard che per OpenVPN.
Attualmente Mullvad, AzireVPN, MozillaVPN, ProtonVPN, iVPN, NordVPN, AirVPN e PrivateInternetAccess sono supportati direttamente, con supporto anche per file di configurazione personalizzati tramite l'argomento --custom. Anche Cloudflare Warp è supportato.
Per connessioni personalizzate sono supportati anche i protocolli OpenConnect e OpenFortiVPN (ad es. per VPN aziendali). Vedi la Guida utente di vopono per maggiori dettagli.
Screenshot che mostra un esempio con firefox, google-chrome-stable e lynx in esecuzione attraverso diverse connessioni VPN:

| Provider | Supporto OpenVPN | Supporto Wireguard |
|---|---|---|
| Mullvad | ❌ | ✅ |
| AzireVPN | ❌ | ✅ |
| iVPN | ✅ | ✅ |
| PrivateInternetAccess | ✅ | ✅* |
| ProtonVPN | ✅** | ✅*** |
| MozillaVPN | ❌ | ✅ |
| NordVPN | ✅ | ❌ |
| AirVPN | ✅ | ✅ |
| Cloudflare Warp**** | ❌ | ❌ |
| Self-host (--custom) | ✅ | ✅ |
* Il port forwarding è supportato con l'opzione --port-forwarding e --port-forwarding-callback per eseguire un comando quando la porta viene aggiornata.
** Consulta la Guida utente per le istruzioni di autenticazione per generare i file di configurazione OpenVPN tramite vopono sync. Devi copiare l'header di autenticazione della forma AUTH-xxx=yyy dove yyy è il valore dell'header x-pm-uid nella stessa richiesta quando sei autenticato nel tuo browser web.
*** Per ProtonVPN puoi generare e scaricare file di configurazione Wireguard specifici e usarli come configurazione personalizzata del provider. Vedi la Guida utente per i dettagli. Il Port Forwarding è supportato con l'argomento --port-forwarding sia per OpenVPN che per Wireguard.
Nota: per usare una configurazione personalizzata con Wireguard, l'implementazione del port forwarding da utilizzare deve essere specificata con --custom-port-forwarding (cioè con --provider custom --custom xxx.conf --protocol wireguard --custom-port-forwarding protonvpn). natpmpc deve essere installato.
Nota per OpenVPN: devi generare i file di configurazione OpenVPN aggiungendo +pmp al tuo nome utente OpenVPN e devi scegliere server che supportano questa funzionalità (ad es. al momento della scrittura, i server della Romania lo supportano). La porta assegnata viene quindi stampata sul terminale in cui è stato lanciato vopono - dovrebbe quindi essere impostata in qualsiasi applicazione che la richieda.
La porta può anche essere passata a uno script personalizzato che verrà eseguito all'interno del namespace di rete tramite l'argomento --port-forwarding-callback.
**** Cloudflare Warp usa il proprio protocollo. Imposta sia il provider che il protocollo su warp. Nota: devi prima registrarti con sudo warp-cli registration new, quindi eseguirlo una volta con sudo warp-svc e sudo warp-cli connect e sudo warp-cli debug connectivity-check disable al di fuori di vopono - poi termina sudo warp-svc senza eseguire sudo warp-cli disconnect così si riconnetterà automaticamente all'avvio.
Verifica che funzioni prima di provarlo con vopono.
Il port forwarding AirVPN è supportato come funzionalità del provider, ma le porte inoltrate devono attualmente essere configurate nell'area client di AirVPN; vopono non rivendica né attiva automaticamente le porte dell'account AirVPN.
Configura i file di configurazione del provider VPN:
$ vopono sync
Nota: quando crei e carichi nuove coppie di chiavi Wireguard potrebbe esserci un leggero ritardo prima che siano utilizzabili (circa 30-60 secondi su Mullvad, per esempio).
Esegui Firefox attraverso una connessione Wireguard AzireVPN a un server in Norvegia:
$ vopono exec --provider azirevpn --server norway firefox
Dovresti eseguire vopono come tuo utente (non usando sudo) poiché gestirà l'elevazione dei privilegi quando necessario. Per maggiori dettagli su come eseguirlo come servizio systemd, ecc., vedi la Guida utente.
Per un'esperienza più fluida, esegui il daemon privilegiato come root e continua a usare vopono come utente normale. La CLI inoltra automaticamente le richieste exec al daemon se è in esecuzione.
sudo systemctl enable --now voponosudo vopono daemonsudo vopono daemon start; controllalo con vopono daemon status --json.vopono exec --provider mullvad --server se firefoxVedi USERGUIDE.md per un'unità systemd pronta da copiare.
vopono può gestire fino a 255 namespace di rete separati (cioè diverse connessioni a server VPN - se il tuo provider VPN lo consente). I comandi lanciati con lo stesso prefisso server e lo stesso provider VPN condivideranno lo stesso namespace di rete.
Le opzioni di configurazione predefinite possono essere salvate nel file ~/.config/vopono/config.toml, per esempio:
firewall = "NfTables"
provider = "Mullvad"
protocol = "Wireguard"
server = "usa-us22"
Nota che i valori sono sensibili alle maiuscole/minuscole.
Vedi la Guida utente di vopono per istruzioni d'uso molto più dettagliate (inclusa la gestione di daemon e server).
Installa il pacchetto vopono-git con il tuo helper AUR preferito.
$ paru -S vopono-git
$ vopono sync
In alternativa, usa il pacchetto vopono-bin se non vuoi compilare dal sorgente.
Scarica e installa il pacchetto vopono_x.y.z_armhf.deb dalla pagina delle release:
$ sudo dpkg -i vopono_0.2.1_armhf.deb
Dovrai installare OpenVPN (disponibile nei repository Raspbian):
$ sudo apt install openvpn
Puoi quindi usare vopono come sopra (nota che il binario di Chromium è chromium-browser):
$ vopono sync --protocol openvpn protonvpn
$ vopono exec --provider protonvpn --server sweden chromium-browser
Screenshot di vopono con OpenVPN in esecuzione su Raspbian:
