feat: funciones NordVPN bash y Go — CLI, contenedor Docker y parser de estado
Funciones bash para instalar, conectar, desconectar, estado, IP, ciudades, países y protocolo. Funciones Go para gestionar contenedor NordVPN (run/start/stop) y parsear estado. Incluye tipo NordVPNStatus y tests para el parser. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
# install_nordvpn
|
||||
# ---------------
|
||||
# Instala NordVPN CLI en Ubuntu/Debian (incluido WSL2).
|
||||
# Configura el repositorio oficial, instala el paquete y habilita el servicio.
|
||||
# Si ya esta instalado, no hace nada.
|
||||
#
|
||||
# USO (sourced):
|
||||
# source install_nordvpn.sh
|
||||
# install_nordvpn
|
||||
|
||||
install_nordvpn() {
|
||||
if command -v nordvpn &>/dev/null; then
|
||||
echo "nordvpn ya instalado: $(nordvpn version 2>/dev/null)"
|
||||
return 0
|
||||
fi
|
||||
|
||||
echo "Instalando NordVPN CLI..."
|
||||
|
||||
# Descargar e instalar via script oficial
|
||||
sh <(curl -sSf https://downloads.nordcdn.com/apps/linux/install.sh) 2>&1
|
||||
|
||||
if ! command -v nordvpn &>/dev/null; then
|
||||
echo "install_nordvpn: fallo la instalacion" >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Agregar usuario al grupo nordvpn para evitar sudo
|
||||
sudo usermod -aG nordvpn "$USER" 2>/dev/null || true
|
||||
|
||||
# Habilitar servicio (systemd o manual para WSL2)
|
||||
if command -v systemctl &>/dev/null && systemctl is-system-running &>/dev/null 2>&1; then
|
||||
sudo systemctl enable --now nordvpnd 2>/dev/null || true
|
||||
else
|
||||
# WSL2 sin systemd — levantar daemon manualmente
|
||||
sudo nordvpnd &>/dev/null &
|
||||
sleep 2
|
||||
fi
|
||||
|
||||
echo "NordVPN instalado: $(nordvpn version 2>/dev/null)"
|
||||
echo "NOTA: ejecuta 'nordvpn login' para autenticarte"
|
||||
}
|
||||
Reference in New Issue
Block a user