---
name: nordvpn_status
kind: function
lang: bash
domain: infra
version: "1.0.0"
purity: impure
signature: "nordvpn_status() -> json"
description: "Obtiene estado actual de NordVPN como JSON estructurado. Incluye servidor, IP, pais, protocolo y estado de conexion."
tags: [vpn, nordvpn, status, infra, network]
uses_functions: []
uses_types: []
returns: []
returns_optional: false
error_type: "error_go_core"
imports: []
params: []
output: "JSON con estado de VPN: ok, connected, status, hostname, ip, country, city, etc"
tested: false
tests: []
test_file_path: ""
file_path: "bash/functions/infra/nordvpn_status.sh"
---

## Ejemplo

```bash
source nordvpn_status.sh

nordvpn_status
# {"ok":true,"connected":true,"status":"Connected","hostname":"es42.nordvpn.com","ip":"185.x.x.x","country":"Spain","city":"Madrid","current_technology":"NordLynx","current_protocol":"nordlynx","transfer":"1.2 MiB received, 500 KiB sent","uptime":"5 minutes 32 seconds"}

# Desconectado:
# {"ok":true,"connected":false,"status":"Disconnected"}
```

## Notas

Parsea la salida clave-valor de `nordvpn status` eliminando codigos ANSI. Los campos disponibles dependen del estado de conexion — cuando esta desconectado solo devuelve status y connected.
