2f119478af
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>
42 lines
1.3 KiB
Bash
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"
|
|
}
|