
Ejecuta aplicaciones a través de túneles VPN con espacios de nombres de red temporales

vopono es una herramienta para ejecutar aplicaciones a través de túneles VPN mediante espacios de nombres de red temporales. Esto te permite ejecutar solo unas pocas aplicaciones a través de diferentes VPN simultáneamente, mientras mantienes tu conexión principal con normalidad.
vopono incluye killswitches integrados tanto para Wireguard como para OpenVPN.
Actualmente Mullvad, AzireVPN, MozillaVPN, ProtonVPN, iVPN, NordVPN, AirVPN y PrivateInternetAccess son compatibles directamente, y también se admiten archivos de configuración personalizados con el argumento --custom. Cloudflare Warp también es compatible.
Para conexiones personalizadas, también se admiten los protocolos OpenConnect y OpenFortiVPN (por ejemplo, para VPN empresariales). Consulta la Guía de usuario de vopono para más detalles.
Captura de pantalla que muestra un ejemplo con firefox, google-chrome-stable y lynx ejecutándose a través de diferentes conexiones VPN:

| Proveedor | Soporte OpenVPN | Soporte Wireguard |
|---|---|---|
| Mullvad | ❌ | ✅ |
| AzireVPN | ❌ | ✅ |
| iVPN | ✅ | ✅ |
| PrivateInternetAccess | ✅ | ✅* |
| ProtonVPN | ✅** | ✅*** |
| MozillaVPN | ❌ | ✅ |
| NordVPN | ✅ | ❌ |
| AirVPN | ✅ | ✅ |
| Cloudflare Warp**** | ❌ | ❌ |
| Autoalojado (--custom) | ✅ | ✅ |
* El reenvío de puertos es compatible con la opción --port-forwarding y --port-forwarding-callback para ejecutar un comando cuando se renueva el puerto.
** Consulta la Guía de usuario para obtener instrucciones de autenticación para generar los archivos de configuración de OpenVPN mediante vopono sync. Debes copiar el encabezado de autenticación con la forma AUTH-xxx=yyy, donde yyy es el valor del encabezado x-pm-uid en la misma solicitud cuando has iniciado sesión en tu navegador web.
*** Para ProtonVPN puedes generar y descargar archivos de configuración específicos de Wireguard y usarlos como configuración de proveedor personalizada. Consulta la Guía de usuario para más detalles. El reenvío de puertos es compatible con el argumento --port-forwarding tanto para OpenVPN como para Wireguard. Ten en cuenta que, al usar una configuración personalizada con Wireguard, la implementación de reenvío de puertos a utilizar debe especificarse con --custom-port-forwarding (es decir, con --provider custom --custom xxx.conf --protocol wireguard --custom-port-forwarding protonvpn). natpmpc debe estar instalado. Ten en cuenta que para OpenVPN debes generar los archivos de configuración de OpenVPN añadiendo +pmp a tu nombre de usuario de OpenVPN, y debes elegir servidores que admitan esta función (por ejemplo, al momento de escribir esto, los servidores de Rumanía lo admiten). El puerto asignado se imprime entonces en la terminal donde se lanzó vopono; debe establecerse en cualquier aplicación que lo requiera. El puerto también se puede pasar a un script personalizado que se ejecutará dentro del espacio de nombres de red mediante el argumento --port-forwarding-callback.
**** Cloudflare Warp utiliza su propio protocolo. Establece tanto el proveedor como el protocolo en warp. Ten en cuenta que primero debes registrarte con sudo warp-cli registration new y luego ejecutarlo una vez con sudo warp-svc y sudo warp-cli connect y sudo warp-cli debug connectivity-check disable fuera de vopono; luego mata sudo warp-svc sin ejecutar sudo warp-cli disconnect para que se conecte automáticamente al ejecutarse. Verifica que esto funcione primero antes de intentarlo con vopono.
El reenvío de puertos de AirVPN es compatible como una capacidad del proveedor, pero los puertos reenviados deben configurarse actualmente en el área de cliente de AirVPN; vopono no reclama ni alterna los puertos de la cuenta de AirVPN automáticamente.
Configura los archivos de configuración del proveedor VPN:
$ vopono sync
Ten en cuenta que al crear y subir nuevos pares de claves de Wireguard puede haber un ligero retraso hasta que sean utilizables (aproximadamente 30-60 segundos en Mullvad, por ejemplo).
Ejecuta Firefox a través de una conexión Wireguard de AzireVPN a un servidor en Noruega:
$ vopono exec --provider azirevpn --server norway firefox
Debes ejecutar vopono como tu propio usuario (no con sudo), ya que gestionará la elevación de privilegios cuando sea necesario. Para más detalles sobre ejecutarlo como un servicio systemd, etc., consulta la Guía de usuario.
Para una experiencia más fluida, ejecuta el daemon privilegiado como root y sigue usando vopono como tu usuario normal. La CLI reenvía automáticamente las solicitudes exec al daemon si está en ejecución.
sudo systemctl enable --now voponosudo vopono daemonsudo vopono daemon start; inspecciónalo con vopono daemon status --json.vopono exec --provider mullvad --server se firefoxConsulta USERGUIDE.md para una unidad systemd lista para copiar.
vopono puede manejar hasta 255 espacios de nombres de red separados (es decir, diferentes conexiones de servidor VPN, si tu proveedor VPN lo permite). Los comandos lanzados con el mismo prefijo de servidor y proveedor VPN compartirán el mismo espacio de nombres de red.
Las opciones de configuración predeterminadas se pueden guardar en el archivo ~/.config/vopono/config.toml, por ejemplo:
firewall = "NfTables"
provider = "Mullvad"
protocol = "Wireguard"
server = "usa-us22"
Ten en cuenta que los valores distinguen entre mayúsculas y minúsculas.
Consulta la Guía de usuario de vopono para obtener instrucciones de uso mucho más detalladas (incluido el manejo de daemons y servidores).
Instala el paquete vopono-git con tu ayuda de AUR favorita.
$ paru -S vopono-git
$ vopono sync
Alternativamente, usa el paquete vopono-bin si no quieres compilar desde el código fuente.
Descarga e instala el paquete vopono_x.y.z_armhf.deb desde la página de lanzamientos:
$ sudo dpkg -i vopono_0.2.1_armhf.deb
Necesitarás instalar OpenVPN (disponible en los repositorios de Raspbian):
$ sudo apt install openvpn
Luego puedes usar vopono como se indicó anteriormente (ten en cuenta que el binario de Chromium es chromium-browser):
$ vopono sync --protocol openvpn protonvpn
$ vopono exec --provider protonvpn --server sweden chromium-browser
Captura de pantalla de vopono con OpenVPN ejecutándose en Raspbian: