# Referencia de la CLI

`sqctl` es la forma de manejar SecurQbit desde una terminal. Habla con el servicio en segundo plano por un socket local; no guarda credenciales ni necesita privilegios propios. Si aún no lo has instalado, empieza por [Configuración en escritorio y router](/cli-installation).

Todos los comandos aceptan `--json`, que imprime el documento en bruto en lugar de la salida formateada. Esa es la interfaz contra la que programar — la presentación legible puede cambiar.

## De un vistazo

```text
sqctl status                        si el VPN está activo, y con qué cuenta
sqctl login                         iniciar sesión aprobando un enlace en el navegador
sqctl logout
sqctl locations                     países que permite este plan
sqctl connect [COUNTRY] [--fastest]
sqctl disconnect
sqctl set                           mostrar preferencias
sqctl set country DE|any
sqctl set autoconnect on|off
sqctl set updates on|off
sqctl update [--check] [--yes]      instalar la última versión
```

## sqctl status

Muestra si estás protegido, y con qué cuenta.

```text
$ sqctl status

  ● Connected      Germany
    Connected for  12m 40s
    Transferred    ↓ 148 MB   ↑ 22 MB

    Account        Alice  alice@example.com
    Plan           Monthly
    Renews         1 September 2026
```

A propósito no muestra nada sobre cómo se construye el túnel — ni dirección de servidor ni identificador de sesión. No puedes hacer nada con eso, y la dirección del servidor en particular no es algo que convenga filtrar en una captura de pantalla cuando pides ayuda.

Si el servicio no está en marcha, `sqctl` lo dice e imprime el comando que lo arranca en *esta* máquina, sea cual sea su sistema de init.

## sqctl login

Inicia sesión en este equipo aprobándolo en un navegador.

```text
$ sqctl login

Open this link to approve the sign-in:

    https://accounts.securqbit.com/device?code=BCDF-GHJK

Check the page shows this code:

    B C D F - G H J K

Waiting for approval — expires in 10 minutes, Ctrl-C to cancel
```

Abre el enlace — `sqctl` intenta abrirlo por ti, y `--no-browser` evita que lo intente —, inicia sesión si no lo has hecho ya, **comprueba que el código de la página coincide con el de tu terminal** y aprueba. Nunca se escribe nada de vuelta en la terminal.

Esa comparación es toda la seguridad de este mecanismo.

> **Aprueba solo una solicitud que hayas iniciado tú.** Si alguien te envía un enlace así y lo apruebas, acabas de meter *su* equipo en *tu* cuenta. El código y el nombre de la máquina que muestra la página están ahí para que puedas notar la diferencia.

Iniciar sesión requiere una cuenta que ya exista. Crea una en la [aplicación de iOS o Android](/installation) — incluida una [cuenta de invitado](/anonymous-accounts), que entra en accounts.securqbit.com con su código de recuperación y aprueba desde ahí como cualquier otra.

## sqctl logout

Apaga el VPN y cierra la sesión de este equipo. El túnel cae primero, deliberadamente: dejarlo levantado con credenciales recién revocadas abandonaría tu tráfico en una sesión que el servidor está a punto de eliminar.

Una [cuenta de invitado](/anonymous-accounts) pide confirmación antes, porque sin su código de recuperación no podrás volver a entrar. `--force` se salta la pregunta.

## sqctl connect

```bash
sqctl connect            # tu preferencia guardada
sqctl connect DE         # aparecer en Alemania
sqctl connect --fastest  # que elija SecurQbit
```

El país es un código de dos letras — ejecuta `sqctl locations` para ver los que permite tu plan. Conectarse tarda unos segundos; la terminal sigue el estado real según cambia en lugar de quedarse en silencio.

> **Las pruebas no pueden elegir país.** Con un plan de prueba usa `--fastest`. Nombrar uno devuelve un error indicando que hace falta un plan de pago, en vez de conectarte discretamente a otro sitio. Consulta [Cuenta y facturación](/account-billing).

## sqctl disconnect

Baja el túnel y devuelve tu enrutamiento y tu DNS a como estaban.

Desconectar es además lo que le dice a SecurQbit que *pare*. Si un túnel se cae solo, el servicio sigue trabajando para recuperarlo — que es lo que quieres en un portátil que estaba suspendido o en un router cuyo enlace se cortó. Solo `sqctl disconnect`, cerrar sesión o detener el servicio cancelan esa intención.

## sqctl locations

Lista por nombre los países que permite tu plan.

```text
$ sqctl locations

    DE             Germany
    FR             France
    NL             Netherlands
    SG             Singapore
    US             United States
```

## sqctl set

Muestra o cambia tus preferencias. Son tres, y son las tres que de verdad te corresponde elegir.

```bash
sqctl set                    # mostrar las tres
sqctl set country DE         # por defecto, Alemania
sqctl set country any        # por defecto, el más rápido
sqctl set autoconnect on     # conectar en cuanto arranque la máquina
sqctl set updates off        # dejar de buscar versiones nuevas
```

```text
$ sqctl set

    Location       Germany (DE)
    Auto-connect   on
    Updates        on
```

Todo lo demás del túnel — cómo se construye, qué usa de DNS, cómo reintenta — se decide por ti y no es accesible desde la CLI. No son decisiones que mejoren un VPN por el hecho de ofrecerlas.

`updates` es un ajuste y no una constante porque la comprobación es una llamada periódica al CDN de SecurQbit, y quien administra un VPN está en su derecho de rechazarla.

## sqctl update

Instala la última versión.

```bash
sqctl update            # preguntar, luego instalar y reiniciar
sqctl update --check    # solo decir si hay una
sqctl update --yes      # sin preguntar
```

```text
$ sqctl update

  ! Update available

    Installed      v1.0.0
    Latest         v1.1.0

  SecurQbit restarts to finish, so the VPN disconnects for a moment.

Install it now? [y/N]
```

La descarga se compara con las sumas de comprobación publicadas antes de sustituir nada, y el servicio reinicia sobre la versión nueva. `sqctl` espera a que vuelva y le pregunta la versión, de modo que te dice lo que se está ejecutando de verdad y no lo que se escribió en el disco.

SecurQbit comprueba una vez al día por su cuenta, y se limita a avisarte — una línea bajo `sqctl status`:

```text
    Update         v1.1.0 available — run: sqctl update
```

Nunca instala solo. Terminar una actualización implica reiniciar, y reiniciar corta el túnel que hubiera activo; hacérselo a alguien sin avisar es peor que dejarlo una versión atrás.

Si SecurQbit lo instaló el gestor de paquetes de tu distribución, `sqctl update` se niega antes de descargar nada y te dice que lo actualices igual que lo instalaste.

## Automatizar con scripts

`--json` en cualquier comando imprime el documento del protocolo:

```bash
$ sqctl status --json | jq '.state, .country'
"connected"
"DE"
```

```bash
# Conectar y comprobar que realmente funcionó
sqctl connect --fastest --json > /dev/null
test "$(sqctl status --json | jq -r .state)" = connected
```

Códigos de salida: `0` correcto, `1` el comando falló, `2` no se puede alcanzar el servicio de SecurQbit.

## Cuando algo va mal

`sqctl` traduce los fallos a algo con lo que puedas actuar y mantiene los detalles internos apartados. Cuando necesitas esos detalles — para un informe de error — hay un comando de diagnóstico oculto:

```bash
sqctl debug          # versiones, dónde vive todo, qué socket respondió,
                     # el motor del túnel y el último error en bruto
sqctl debug probe DE # probar un servidor de extremo a extremo SIN conectar
```

`sqctl debug probe` es el más útil. Arranca el proxy contra un servidor real, envía una petición a través de él e informa de la dirección que vio el otro extremo — pero no crea ningún dispositivo de túnel ni cambia ninguna ruta, así que te dice si el camino funciona sin costarte tu conexión si no funciona.

Incluye la salida de `sqctl debug` cuando informes de un problema. Consulta [Solución de problemas](/troubleshooting).

## Siguientes pasos

- [Configuración en escritorio y router](/cli-installation) — instalar, actualizar y desinstalar.
- [Conectarse a un servidor](/connecting) — cómo funciona la selección de servidor.
- [Evasión de firewalls y ofuscación](/firewall-bypass) — en una red restringida.
