Lampson

Dia a dia

No celular

O Lampson roda no seu PC ou no seu servidor; o celular é o controle remoto. Ele se instala como app (PWA), você entra com a digital ou o rosto, e vê e usa seus espaços de trabalho como no navegador do PC.

1. Fazer o celular chegar ao Lampson§

O celular precisa de um endereço https que chegue ao hub (127.0.0.1:8080). Escolha um:

Para quemEndereço
Túnel do Synsemaseu PC de casa, recomendadofixo, …-tunnel.synsema.app; inicia com o PC
Túnel rápidotestar em 1 minutomuda a cada início
Túnel persistenteseu PC de casa, todo diafixo, no seu domínio
Domínio próprioum VPS com IP públicofixo, no seu domínio

Túnel do Synsema (recomendado)§

O Lampson roda sobre o Synsema, e a plataforma Synsema tem túneis: seu PC num endereço fixo https://<id>-tunnel.synsema.app, sem abrir portas, sem mexer em DNS e sem domínio próprio. O PC abre uma única conexão de saída e tudo chega por ela: páginas, eventos ao vivo e o terminal (WebSocket).

1. Instale o CLI da plataforma, syn, e entre na conta (uma vez por computador; o plano gratuito basta):

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 se você ainda não tem conta

2. Coloque o hub nesse endereço e deixe o PC mantê-lo no ar:

syn tunnel 8080 --name lampson --service

Ele mostra o endereço, que é sempre o mesmo para este PC e o nome lampson. Com --service o túnel inicia junto com o computador, sem terminal aberto: a pasta Inicializar no Windows (ao entrar na sessão), uma unit do systemd no Linux, um LaunchAgent no macOS. Sem --service ele vive enquanto o terminal estiver aberto.

3. Faça o hub também iniciar sozinho: lampson --install.

4. Pareie o celular pelo terminal: lampson --pair https://<id>-tunnel.synsema.app (ou pelo PC, passo 2 abaixo).

  • O endereço não muda, então a passkey continua valendo depois de reiniciar.
  • Se o PC estiver desligado, o endereço responde 503 com X-Synsema-Tunnel: offline, e o app mostra «Tu PC no responde» no lugar.
  • syn tunnel service list mostra os túneis mantidos no ar e o último estado; syn tunnel service remove lampson para o túnel (o endereço continua seu); syn tunnel release lampson libera o endereço. Log: ~/.synsema/tunnels/lampson.log.
  • Planos: Free tem 3 endereços e 5 GB por mês, e um navegador vê uma página de aviso na primeira vez que abre o endereço (aceite uma vez; as requisições do próprio app nunca a veem). Pro não tem aviso e permite um nome próprio: --subdomain meulampson → https://meulampson.synsema.app — um nome novo é outro domínio para a passkey, então pareie de novo.
  • Faça o túnel para o hub (8080), nunca para a porta de um espaço de trabalho: é o hub que pede a passkey.

Túnel rápido (para testar)§

Instale o cloudflared (no Windows: winget install Cloudflare.cloudflared) e rode:

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

Ele mostra um endereço https://….trycloudflare.com. Não precisa de conta nem de domínio. O endereço muda toda vez que você inicia de novo, e a passkey fica presa ao endereço: quando ele muda, é preciso parear de novo.

Túnel persistente (seu PC, sempre)§

Para um endereço fixo que sobrevive a reinícios. Você precisa de uma conta gratuita da Cloudflare com o seu domínio adicionado (a Cloudflare administra o DNS).

1. No painel da Cloudflare: Zero Trust → Networks → Tunnels → Create a tunnel, tipo Cloudflared, nome lampson.

2. Copie o comando de instalação que ele mostra e rode no seu PC. Ele instala o túnel como serviço do sistema, então inicia junto com o PC:

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

3. Em Public Hostname adicione: subdomínio lampson, seu domínio, serviço HTTP → localhost:8080.

4. Faça o hub iniciar sozinho também: lampson --install (no Windows, ao entrar na sessão).

Seu endereço fica https://lampson.seudominio.com. Se o PC estiver desligado, o app avisa («Tu PC no responde») em vez de mostrar a página de erro do túnel.

Se preferir o terminal ao painel da Cloudflare:

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

Domínio próprio (VPS)§

Se o Lampson roda num servidor com IP público, não precisa de túnel: o Synsema serve o seu domínio com HTTPS diretamente.

lampson --domain lampson.seudominio.com --email voce@seudominio.com

Detalhes e requisitos em Docker e servidores.

2. Parear o celular§

1. No PC, abra http://127.0.0.1:8080 → dispositivos → emparejar dispositivo.

2. Cole o endereço https (o túnel ou o seu domínio; com --domain ele já está preenchido) e toque em Generar QR.

3. Leia o QR com a câmera do celular e toque em Crear passkey: digital, rosto ou o bloqueio de tela. O QR vale 5 minutos e funciona uma única vez.

A passkey fica no celular (ou no seu gerenciador de senhas, como o do Google ou do iCloud). O Lampson guarda só a chave pública.

Num VPS: pelo terminal§

Num servidor não há navegador para abrir 127.0.0.1:8080, e o pareamento só pode começar pela própria máquina (de propósito: ninguém consegue parear só entrando no seu domínio). Entre por SSH e rode:

lampson --pair

Aparece um QR no terminal: aponte a câmera do celular e toque em Crear passkey. Vale 5 minutos e serve uma única vez; embaixo fica o link, caso prefira abri-lo à mão. Com --domain o endereço já está configurado; senão, passe-o: lampson --pair https://seu-dominio. Funciona também no seu PC, com um túnel. Se o endereço salvo não responder — por exemplo um túnel do cloudflare que você já fechou: cada um vem com um endereço novo —, ele avisa em vez de mostrar um QR que não levaria a lugar nenhum.

Outra forma, sem --pair: um túnel SSH (ssh -L 8080:127.0.0.1:8080 usuario@seu-vps) e abrir http://127.0.0.1:8080 no seu PC — o servidor enxerga como local e os passos acima funcionam como estão.

3. Instalar como app§

  • Android (Chrome, Edge, Samsung): menu ⋮ → Instalar app.
  • iPhone / iPad (Safari): Compartilhar → Adicionar à Tela de Início.

Sessões e acesso§

  • O próprio PC entra sem nada, como sempre. Todo o resto — túnel, rede local, domínio — precisa de um dispositivo pareado.
  • Outro site nunca consegue usar o seu Lampson, nem a partir de um navegador no PC: uma requisição de outra origin é recusada (isso cobre uma página que tente chegar a 127.0.0.1:8080, terminal incluído).
  • Use um túnel HTTP (Synsema, cloudflared) para o hub. Um encaminhamento TCP cru (ssh -R, ngrok tcp) não deixa rastro de onde vem o visitante, então o Lampson não conseguiria distingui-lo do PC.
  • A sessão se renova sozinha enquanto você usa: expira depois de 30 dias sem uso, e a passkey é pedida de novo a cada 90 dias de qualquer forma.
  • Em dispositivos você vê os pareados, muda o nome, encerra a sessão ou remove um; remover o deixa de fora na hora.
  • Se o endereço mudar (outro túnel rápido, outro domínio), é preciso parear de novo: a passkey fica presa ao endereço.

Ver como Markdown