Protocolo aberto · rascunho 0.2

Do seu servidor ao seu console, um protocolo aberto.

O Lantern é um contrato aberto e versionado entre os homebrews de console e os servidores de bibliotecas que cada um mantém em casa para os próprios jogos: navegar pela biblioteca, baixar com verificação de integridade, guardar backups de saves e cheats.

Rascunho 0.2

O texto ainda pode mudar antes da 1.0. Os comentários são bem-vindos, sobretudo de quem escreve clientes e servidores.

Feito para durar

O que o torna sólido

O Lantern começa do zero: não é compatível com nenhum protocolo anterior, então cada escolha serve à segurança e à duração.

O que é novo

O que acrescenta

O que os clientes tinham de adivinhar até agora, por escrito.

Implementá-lo

Para quem escreve servidores e clientes

A especificação é curta: poucas rotas, formas fixas, HTTP e JSON simples.

Escrever um servidor

Sirva o handshake e a biblioteca; adicione backups de saves, cheats ou pareamento quando quiser e declare-os nas funções. Um servidor cabe em um fim de semana.

GET /.well-known/lantern
GET /api/lantern/v1/apps?sort=added

Escrever um cliente

Encontre os servidores da rede local, leia as funções deles, percorra a biblioteca página por página e verifique o SHA-256 de cada download. Um cliente cabe em algumas centenas de linhas de C++.

User-Agent: ExampleClient/0.1
Range: bytes=0-1048575

Esquemas e exemplos

Um esquema JSON para cada documento, um exemplo de cada um e uma descrição OpenAPI das rotas, para verificar os seus.

schemas/v1 · examples/v1 · openapi.yaml

No repositório: uma suíte de conformidade para rodar contra um servidor (conformance/) e um pequeno servidor de referência que passa nela (server/). Só uma implementação que passe na suíte deve se dizer compatível com o Lantern.

O primeiro cliente será o PlayShelf, um gerenciador de pacotes homebrew para o Nintendo Switch. PlayShelf

Para os seus próprios jogos

O Lantern leva o que o seu servidor tem, entre ele e o seu console. Ele não encontra nada nem distribui nada: não é um jeito de conseguir jogos, e os servidores são para os jogos que você possui.

Licenças

Livre para implementar

Perguntas, comentários e propostas vão para as issues do repositório.

Este site

Privacidade

Este site não usa cookies e só guarda no seu navegador o idioma que você escolhe no cabeçalho. Ele não carrega nada de outro site: as fontes, as imagens e os scripts são servidos junto com ele.

Ele conta as visitas com Umami Cloud, na União Europeia (Frankfurt), sem cookies. Para cada página vista: a página, a página de onde você veio, seu navegador, sistema e tipo de dispositivo, o tamanho da sua tela, seu idioma e seu país. Seu endereço IP é usado para saber o país e distinguir as visitas, e não é guardado com elas. As contagens são mantidas por seis meses, usadas só para saber o que é lido, e nunca vendidas nem compartilhadas. A política da Umami: umami.is/privacy.

Quem publica este site, quem o hospeda e como perguntar sobre os seus dados: Privacidade e aviso legal

Leia e conte para a gente

O rascunho é o momento de mudar as coisas. Uma issue sobre uma rota, um campo ou um caso esquecido ajuda todos os servidores e clientes que virão.