# Configuración en escritorio y router

SecurQbit incluye un cliente de línea de comandos para las máquinas que no tienen aplicación: servidores y equipos Linux, Windows, FreeBSD y routers OpenWrt. Es el mismo VPN y la misma cuenta que las aplicaciones móviles — consulta [Instalar SecurQbit](/installation) para iOS y Android.

Se instalan dos programas:

| Programa | Qué es |
| --- | --- |
| `securqbitd` | El servicio en segundo plano. Guarda tu sesión, construye el túnel y programa el enrutamiento del sistema. Se ejecuta con privilegios del sistema porque crear un dispositivo de túnel los exige. |
| `sqctl` | El comando que escribes. Le pide cosas al servicio y te muestra lo que hace. No guarda credenciales ni necesita privilegios propios. |

Tú interactúas con `sqctl`. Consulta la [Referencia de la CLI](/cli-reference) para todos los comandos.

## Instalar con un comando

En Linux, macOS, FreeBSD y OpenWrt:

```bash
curl -fsSL https://cdn.securqbit.com/securqbitd/install.sh | sudo sh
```

Eso es toda la instalación. El script averigua qué paquete necesita esta máquina, lo descarga, lo compara con las sumas de comprobación SHA-256 publicadas, coloca los dos programas y registra el servicio con lo que supervise los procesos de larga duración aquí — systemd, OpenRC, runit, SysV init, procd, rc.d o launchd. No hay nada más que configurar.

Cuando termine:

```bash
sqctl login              # abre un enlace para aprobar en tu navegador
sqctl connect --fastest
sqctl status
```

> **Necesitas una cuenta previa.** El cliente de escritorio inicia sesión mediante aprobación en el navegador y no puede crear cuentas. Crea una primero en la [aplicación de iOS o Android](/installation) — incluida una [cuenta de invitado](/anonymous-accounts), que inicia sesión en accounts.securqbit.com con su código de recuperación y aprueba desde allí.

### Opciones

El instalador acepta algunas opciones. Pásalas después de `sh -s --`:

```bash
curl -fsSL https://cdn.securqbit.com/securqbitd/install.sh | sudo sh -s -- --no-start
```

| Opción | Qué hace |
| --- | --- |
| `--version <v>` | Instala una versión concreta en lugar de la actual. |
| `--from <path>` | Instala desde un archivo ya descargado, sin red. |
| `--prefix <dir>` | Instala en otro sitio que no sea `/usr/local` (`/usr` en OpenWrt). |
| `--no-start` | Registra el servicio pero lo deja detenido. |
| `--no-router` | En OpenWrt, instala sin poner la LAN detrás del túnel. |
| `--uninstall` | Elimina el servicio y los programas. |

## Plataformas compatibles

| Sistema | Arquitecturas |
| --- | --- |
| Linux | x86-64, arm64, armv7 |
| Windows | x86-64, arm64 |
| FreeBSD | x86-64, arm64 |
| OpenWrt | x86-64, arm64, armv7 |
| macOS | Apple silicon, Intel |

Es una compilación estática, así que un único paquete de Linux sirve tanto para glibc como para musl — Debian, Ubuntu, Fedora, Arch, Alpine y Void usan el mismo archivo.

> **No hay versión para MIPS, ni la habrá.** Esos routers traen de 8 a 16 MB de flash y SecurQbit necesita unos 40, así que un paquete para ellos solo podría fallar después de que hubieras esperado la descarga. Un router ARM o x86-64 sí funciona.

> **En macOS, mejor la aplicación.** El producto para Mac es la aplicación nativa de SecurQbit de la App Store. El cliente de línea de comandos compila y funciona en macOS para poder desarrollarlo ahí; no es lo que debería instalar un usuario de Mac.

## Verificar la descarga

El instalador ya compara el archivo con las sumas de comprobación publicadas junto a él y se niega a continuar si no coinciden. Para comprobarlo a mano, o instalar sin conexión:

```bash
V=$(curl -fsSL https://cdn.securqbit.com/securqbitd/latest)
BASE=https://cdn.securqbit.com/securqbitd/$V

curl -fsSLO $BASE/securqbit-$V-linux-amd64.tar.gz
curl -fsSLO $BASE/SHA256SUMS

sha256sum --check --ignore-missing SHA256SUMS
```

Después instala desde el archivo que acabas de comprobar:

```bash
tar -xzf securqbit-$V-linux-amd64.tar.gz
sudo ./securqbit-$V-linux-amd64/install.sh
```

Ejecutar `install.sh` desde un archivo extraído instala *ese* archivo y no toca la red — así es como se instala en una máquina que aún no tiene ruta hacia internet.

> Las sumas de comprobación viajan por la misma conexión HTTPS que el paquete, así que demuestran que el archivo llegó intacto, no que el servidor fuera honesto. Es TLS lo que hace fiable la conexión. No instales sobre `http` sin cifrar.

## Usarlo sin `sudo`

El servicio se ejecuta como root. El socket en el que escucha pertenece a un grupo `securqbit` que crea el instalador, de modo que quien esté en ese grupo puede manejar el VPN sin contraseña:

```bash
sudo usermod -aG securqbit "$USER"    # Linux
sudo pw groupmod securqbit -m "$USER" # FreeBSD
```

Cierra la sesión y vuelve a entrar para que se aplique el nuevo grupo. En macOS el grupo es `admin`, del que los administradores ya forman parte. En Windows el equivalente es el grupo `SecurQbit Users`, junto a SYSTEM y Administradores.

Hasta entonces, `sqctl` te dirá que no tiene permiso e imprimirá el comando de arriba.

## Windows

Windows se instala desde el archivo comprimido, no con el comando único.

1. Descarga `securqbit-<version>-windows-amd64.tar.gz` de [cdn.securqbit.com/securqbitd](https://cdn.securqbit.com/securqbitd/) y extráelo.
2. Coloca `wintun.dll` — el controlador del adaptador de túnel, para tu arquitectura — junto a `securqbitd.exe`. No se redistribuye con SecurQbit; descárgalo de [wintun.net](https://www.wintun.net).
3. Desde una consola de PowerShell **con permisos de administrador**, en la carpeta extraída:

```powershell
.\install.ps1
```

Eso copia ambos programas a `%ProgramFiles%\SecurQbit`, registra el servicio y añade la carpeta al `PATH` de la máquina para que `sqctl` funcione desde cualquier terminal. Abre luego una terminal nueva para que tome el `PATH` actualizado.

Para eliminarlo, ejecuta `.\uninstall.ps1` desde la misma consola con permisos de administrador.

## OpenWrt: poner una red entera detrás del VPN

En un router, SecurQbit protege todo lo que hay en la red — teléfonos, portátiles, consolas, un televisor conectado — sin instalar nada en ninguno de ellos.

```bash
curl -fsSL https://cdn.securqbit.com/securqbitd/install.sh | sh
sqctl login
sqctl connect --fastest
```

La instalación también programa el firewall: una zona sobre el dispositivo del túnel con NAT, el tráfico de la LAN reenviado hacia él, y el IPv6 de la LAN hacia la WAN rechazado. Es lo predeterminado en un router, porque un VPN en un router que solo protegiera el tráfico del propio router no es para lo que nadie instala uno. Usa `--no-router` si eso es realmente lo que quieres.

**Antes de empezar, comprueba tres cosas.**

- **La flash.** Necesitas unos 90 MB libres. La mayoría de los routers domésticos no los tienen, y el instalador se niega en lugar de llenar el overlay — un router con el overlay lleno no se puede reparar por red. La solución es un [extroot](https://openwrt.org/docs/guide-user/additional-software/extroot_configuration) en un USB o una tarjeta SD.
- **El módulo tun.** OpenWrt lo deja fuera de la imagen por defecto: `opkg update && opkg install kmod-tun` (o `apk add kmod-tun`). Sin él falla la primera conexión, no la instalación.
- **curl.** Algunas imágenes no traen ni curl ni un wget capaz de hacer HTTPS correctamente: `opkg install curl`.

Lee los registros con `logread -f -e securqbitd`. Se quedan en RAM a propósito — hacer pasar megabytes al día por la flash de un router es como muere la flash.

> **El IPv6 se rechaza, no se descarta, y es intencionado.** El túnel transporta IPv4, así que dejar el IPv6 de la LAN en la WAN enviaría la mitad del tráfico de cada dispositivo por fuera del VPN. Rechazarlo hace que los clientes pasen a IPv4 de inmediato en lugar de esperar a que expire un tiempo de espera en cada petición. `--allow-ipv6` desactiva la protección y acepta la fuga.

## Conectar al arrancar

```bash
sqctl set autoconnect on
```

El servicio arranca con la máquina y levanta el túnel en cuanto tiene red. Junto con `sqctl set country`, un router o un servidor vuelve de un reinicio ya protegido, sin que nadie inicie sesión.

## Mantenerlo al día

```bash
sqctl update
```

Eso descarga la versión actual, la verifica, sustituye ambos programas y reinicia el servicio. SecurQbit también comprueba una vez al día por su cuenta y te avisa cuando hay algo nuevo — bajo `sqctl status`:

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

Solo te avisa. Nunca instala por su cuenta, porque terminar una actualización implica reiniciar, y reiniciar corta el túnel que hubiera activo. `sqctl set updates off` detiene la comprobación; `sqctl update` sigue funcionando.

## Desinstalarlo

```bash
curl -fsSL https://cdn.securqbit.com/securqbitd/install.sh | sudo sh -s -- --uninstall
```

Esto baja primero el túnel, para que tu enrutamiento y tu DNS queden como estaban, y luego elimina el servicio y ambos programas. En un router también elimina la configuración de firewall que añadió. Tu archivo de configuración y tus registros se quedan donde están.

## Siguientes pasos

- [Referencia de la CLI](/cli-reference) — cada comando y lo que hace.
- [Conectarse a un servidor](/connecting) — elegir dónde apareces.
- [Solución de problemas](/troubleshooting) — cuando algo no funciona.
