# nordvpn_connect # --------------- # Conecta a NordVPN. Acepta pais, ciudad o servidor especifico. # Sin argumentos conecta al mejor servidor disponible. # Imprime JSON con el resultado de la conexion. # # USO (sourced): # source nordvpn_connect.sh # nordvpn_connect # mejor servidor # nordvpn_connect Spain # por pais # nordvpn_connect Spain Madrid # por ciudad # nordvpn_connect Spain '#42' # servidor especifico nordvpn_connect() { local country="${1:-}" local city="${2:-}" if ! command -v nordvpn &>/dev/null; then echo '{"ok":false,"error":"nordvpn no instalado"}' >&2 return 1 fi local args=() [ -n "$country" ] && args+=("$country") [ -n "$city" ] && args+=("$city") local output output=$(nordvpn connect "${args[@]}" 2>&1) local rc=$? if [ $rc -eq 0 ] && echo "$output" | grep -qi "connected"; then local server server=$(echo "$output" | grep -oP '(?<=to )\S+' | head -1) echo "{\"ok\":true,\"server\":\"${server}\",\"country\":\"${country:-auto}\",\"city\":\"${city:-auto}\"}" 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 }