Files
fn_registry/bash/functions/infra/install_nordvpn.sh
T
egutierrez 2f119478af 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>
2026-04-01 20:55:08 +02:00

42 lines
1.3 KiB
Bash

# 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"
}