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,26 @@
|
||||
# nordvpn_disconnect
|
||||
# ------------------
|
||||
# Desconecta de NordVPN. Idempotente — si no hay conexion activa, retorna ok.
|
||||
# Imprime JSON con el resultado.
|
||||
#
|
||||
# USO (sourced):
|
||||
# source nordvpn_disconnect.sh
|
||||
# nordvpn_disconnect
|
||||
|
||||
nordvpn_disconnect() {
|
||||
if ! command -v nordvpn &>/dev/null; then
|
||||
echo '{"ok":false,"error":"nordvpn no instalado"}' >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
local output
|
||||
output=$(nordvpn disconnect 2>&1)
|
||||
local rc=$?
|
||||
|
||||
if [ $rc -eq 0 ] || echo "$output" | grep -qi "not connected\|disconnected"; then
|
||||
echo '{"ok":true,"status":"disconnected"}'
|
||||
else
|
||||
echo "{\"ok\":false,\"error\":$(echo "$output" | python3 -c 'import sys,json; print(json.dumps(sys.stdin.read().strip()))' 2>/dev/null || echo "\"$output\"")}"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
Reference in New Issue
Block a user