🔐 SimpleWireguard Ver como Markdown

SimpleWireguard

Panel de administración de un servidor WireGuard para un VPS de un solo operador. SPA (Preact) + API JSON (Hono) servidas por el mismo Bun.serve, empaquetadas como binario único auto-actualizable y desplegadas bajo systemd en Ubuntu 24.04.

Instalación (VPS Ubuntu 24.04, como root)

curl -fsSL https://simple-wireguard.ruesdev.es/install.sh | bash

Después, túnel SSH y primer operador en /setup:

# Usa el puerto que imprime install.sh al terminar (por defecto 9090; si estaba
# ocupado, suma 1000: 10090, 11090, …).
ssh -L 9090:localhost:9090 root@IP_DEL_VPS
# navegador → http://localhost:9090/setup

Arquitectura

Dos binarios, una base de datos como fuente de verdad:

La BD (PostgreSQL del sistema) es la fuente de verdad; wg*.conf es un artefacto renderizado desde ella. Detalle de capas y convenciones en CLAUDE.md.

Desarrollo

bun install
./scripts/db-setup.sh          # crea simplewireguard_dev y _test (PostgreSQL del sistema)
psql -d simplewireguard_dev -f schema.sql
cp .env.example .env           # ajusta credenciales
bun run dev                    # panel con HMR en http://127.0.0.1:9090
bun run css                    # Tailwind en watch
bun test                       # unit + integración
bun run typecheck              # bunx tsc --noEmit
bun run lint                   # bunx biome check .

"Terminado" = bun test en verde Y bun run typecheck en verde.

Distribución

Repo privado; el binario se compila bajo demanda y se sirve desde un subdominio propio con verificación de checksum/firma. Todo el montaje en docs/distribucion.

Licencia

Privado. © RubenEspadaEs.