Ler a biblioteca de demonstração
A demonstração é uma biblioteca estática servida com este site: nada a instalar, nenhuma conta.
-
Ler o seu handshake
Cada biblioteca diz num só documento o que é, que funcionalidades oferece e quais são os seus limites.
curl -s https://lantern.boreale.dev/demo/lantern.json -
Listar as suas apps
Uma página de apps de uma plataforma: cada uma traz o seu tamanho, o seu sha256 e o caminho do seu ficheiro.
curl -s https://lantern.boreale.dev/demo/v1/apps/vita/pages/1.json -
Transferir e verificar
O SHA-256 do ficheiro é o que a app anunciou. Um cliente recusa o que não corresponde.
curl -s https://lantern.boreale.dev/demo/v1/blobs/sha256/fa75492f7b78cad7ca4044e8fb548ac67bfd7fbf05242ceecb29ebe492218a0d | sha256sum
Mais testes, incluindo bibliotecas feitas para quebrar um cliente: Biblioteca de demonstração
Falar com um servidor seu
Um servidor com contas pede primeiro que o dispositivo emparelhe. Estas chamadas usam um endereço inventado.
-
Encontrá-lo
Numa rede local, um cliente descobre-o com um datagrama UDP; com um endereço, lê o handshake num caminho conhecido.
curl -s https://shelf.example.org/.well-known/lantern -
Emparelhar
O servidor responde com um código a introduzir noutro dispositivo, onde o proprietário inicia sessão e aprova.
curl -s -X POST https://shelf.example.org/api/lantern/v1/pairing \ -H 'Content-Type: application/json' \ -d '{"schema":1,"device":"My console","scopes":["library"]}' -
Chamá-lo
Com o token recebido, como bearer; um dispositivo emparelhado com chave assina também cada pedido.
curl -s https://shelf.example.org/api/lantern/v1/apps?page_size=5 \ -H 'Authorization: Bearer et_…'
Todo o caminho
Percorra-o passo a passo: cada pressão ilumina um passo e atenua os restantes.
- Dispositivo → Servidor: UDP 47115 {"lantern":"discover"}
- Servidor → Dispositivo: {"lantern":"server", uid, port, base}
- Apenas uma pista: a confiança vem do TLS e do emparelhamento
- Dispositivo → Servidor: GET /.well-known/lantern
- Servidor → Dispositivo: handshake: uid, versions, platforms, features, limits
- Emparelhamento (§ 5.2)
- Dispositivo → Servidor: POST /v1/pairing {device, scopes, key}
- Servidor → Dispositivo: code KQ4M-7TXD, verify_complete, poll, interval
- Mostra o código, um QR code e a impressão digital curta da chave
- Telemóvel do utilizador → Servidor: Abre a ligação, inicia sessão, compara a impressão digital e aprova
- Dispositivo → Servidor: GET <poll> (every interval)
- Servidor → Dispositivo: 202 … then 200 {token: et_…} or 410 gone · 429 slow_down
- Fixa a chave do servidor para este uid (§ 5.3)
- Depois, em cada chamada
- Dispositivo → Servidor: Authorization: Bearer et_… + request signature
- Servidor → Dispositivo: 200 · 401 · 403