Lampson

Día a día

En el celular

Lampson corre en tu PC o en tu servidor; el teléfono es el control remoto. Se instala como app (PWA), entra con la huella o la cara, y ves y usas tus espacios de trabajo como en el navegador de la PC.

1. Que el teléfono llegue a Lampson§

El teléfono necesita una dirección https que llegue al hub (127.0.0.1:8080). Elige una:

Para quiénDirección
Túnel de Synsematu PC de casa, recomendadofija, …-tunnel.synsema.app; arranca con la PC
Túnel rápidoprobar en 1 minutocambia en cada arranque
Túnel persistentetu PC de casa, todos los díasfija, en tu dominio
Dominio propioun VPS con IP públicafija, en tu dominio

Túnel de Synsema (recomendado)§

Lampson corre sobre Synsema, y la plataforma de Synsema tiene túneles: tu PC en una dirección fija https://<id>-tunnel.synsema.app, sin abrir puertos, sin tocar DNS y sin dominio propio. La PC abre una sola conexión de salida y todo llega por ella: páginas, eventos en vivo y la terminal (WebSocket).

1. Instala el CLI de la plataforma, syn, e inicia sesión (una vez por equipo; alcanza el plan gratuito):

curl -fsSL https://synsema.com/cli/install.sh | sh      # macOS, Linux
irm https://synsema.com/cli/install.ps1 | iex           # Windows (PowerShell)
syn login                                               # syn signup si todavía no tienes cuenta

2. Pon el hub en esa dirección y deja que la PC lo mantenga arriba:

syn tunnel 8080 --name lampson --service

Imprime la dirección, que es siempre la misma para esta PC y el nombre lampson. Con --service el túnel arranca con el equipo, sin terminal abierta: la carpeta Inicio en Windows (al iniciar sesión), una unidad de systemd en Linux, un LaunchAgent en macOS. Sin --service vive mientras viva su terminal.

3. Haz que el hub también arranque solo: lampson --install.

4. Empareja el teléfono desde la terminal: lampson --pair https://<id>-tunnel.synsema.app (o desde la PC, paso 2 más abajo).

  • La dirección no cambia, así que la passkey sigue sirviendo después de reiniciar.
  • Si la PC está apagada, la dirección responde 503 con X-Synsema-Tunnel: offline, y la app muestra «Tu PC no responde» en su lugar.
  • syn tunnel service list muestra los túneles que se mantienen arriba y su último estado; syn tunnel service remove lampson lo detiene (la dirección sigue siendo tuya); syn tunnel release lampson la libera. Registro: ~/.synsema/tunnels/lampson.log.
  • Planes: Free tiene 3 direcciones y 5 GB al mes, y un navegador ve una página de aviso la primera vez que abre la dirección (se acepta una vez; las peticiones de la propia app nunca la ven). Pro no tiene aviso y permite un nombre propio: --subdomain milampson → https://milampson.synsema.app — un nombre nuevo es otro dominio para la passkey, así que hay que emparejar de nuevo.
  • Haz el túnel al hub (8080), nunca al puerto de un espacio de trabajo: el hub es el que pide la passkey.

Túnel rápido (para probar)§

Instala cloudflared (en Windows: winget install Cloudflare.cloudflared) y ejecuta:

cloudflared tunnel --url http://localhost:8080

Imprime una dirección https://….trycloudflare.com. No necesitas cuenta ni dominio. La dirección cambia cada vez que lo vuelves a lanzar, y la passkey queda atada a la dirección: al cambiar, hay que emparejar de nuevo.

Túnel persistente (tu PC, siempre)§

Para una dirección fija que sobreviva a reinicios. Necesitas una cuenta gratis de Cloudflare con tu dominio agregado (Cloudflare administra su DNS).

1. En el panel de Cloudflare: Zero Trust → Networks → Tunnels → Create a tunnel, tipo Cloudflared, nombre lampson.

2. Copia el comando de instalación que te muestra y ejecútalo en tu PC. Deja el túnel instalado como servicio del sistema, así arranca solo con la PC:

cloudflared service install <TOKEN>          # Windows: en una terminal como administrador
sudo cloudflared service install <TOKEN>     # Linux

3. En Public Hostname agrega: subdominio lampson, tu dominio, servicio HTTP → localhost:8080.

4. Que el hub también arranque solo: lampson --install (en Windows, al iniciar sesión).

Tu dirección queda en https://lampson.tudominio.com. Si la PC está apagada, la app lo dice («Tu PC no responde») en vez de mostrar el error del túnel.

Si prefieres la terminal a la página de Cloudflare:

cloudflared tunnel login
cloudflared tunnel create lampson
cloudflared tunnel route dns lampson lampson.tudominio.com
cloudflared tunnel run --url http://localhost:8080 lampson

Dominio propio (VPS)§

Si Lampson corre en un servidor con IP pública, no hace falta túnel: Synsema sirve tu dominio con HTTPS directamente.

lampson --domain lampson.tudominio.com --email tu@tudominio.com

Detalles y requisitos en Docker y servidores.

2. Emparejar el teléfono§

1. En la PC, abre http://127.0.0.1:8080 → dispositivos → emparejar dispositivo.

2. Pega la dirección https (el túnel o tu dominio; con --domain ya está puesta) y toca Generar QR.

3. Escanéalo con la cámara del teléfono y toca Crear passkey: huella, cara o el bloqueo de pantalla. El QR vale 5 minutos y sirve una sola vez.

La passkey se guarda en el teléfono (o en tu gestor, como el de Google o iCloud). Lampson guarda solo la clave pública.

En un VPS: desde la terminal§

En un servidor no hay navegador donde abrir 127.0.0.1:8080, y el emparejamiento solo se inicia desde la propia máquina (a propósito: así nadie puede emparejarse entrando a tu dominio). Conéctate por SSH y corre:

lampson --pair

Aparece un QR en la terminal: apúntale con la cámara del teléfono y toca Crear passkey. Vale 5 minutos y sirve una sola vez; debajo queda el link por si prefieres abrirlo a mano. Con --domain la dirección ya está puesta; si no, pásala: lampson --pair https://tu-dominio. Sirve igual en tu PC, con un túnel. Si la dirección guardada no responde — por ejemplo un túnel de cloudflare que ya cerraste: cada uno trae una dirección nueva —, te lo avisa en vez de mostrar un QR que no llevaría a ningún lado.

Otra forma, sin --pair: un túnel SSH (ssh -L 8080:127.0.0.1:8080 usuario@tu-vps) y abrir http://127.0.0.1:8080 en tu PC — el servidor lo ve como local y los pasos de arriba funcionan tal cual.

3. Instalarlo como app§

  • Android (Chrome, Edge, Samsung): menú ⋮ → Instalar app.
  • iPhone / iPad (Safari): Compartir → Agregar a pantalla de inicio.

Sesiones y acceso§

  • Desde la propia PC se entra sin nada, como siempre. Todo lo demás — túnel, red local, dominio — necesita un dispositivo emparejado.
  • Otro sitio web nunca puede usar tu Lampson, ni siquiera desde un navegador de la PC: una petición desde otra origin se rechaza (eso cubre a una página que intente llegar a 127.0.0.1:8080, terminal incluida).
  • Usa un túnel HTTP (Synsema, cloudflared) hacia el hub. Un reenvío TCP crudo (ssh -R, ngrok tcp) no deja rastro de dónde viene el visitante, así que Lampson no podría distinguirlo de la PC.
  • La sesión se renueva sola mientras la uses: vence tras 30 días sin usarla, y la passkey se pide igual cada 90 días.
  • En dispositivos ves los emparejados, les cambias el nombre, cierras la sesión o quitas uno; quitarlo lo deja afuera al instante.
  • Si cambia la dirección (otro túnel rápido, otro dominio), hay que emparejar de nuevo: la passkey queda atada a la dirección.

Ver como Markdown