Protocolo aberto · rascunho 0.2

Do seu servidor à sua consola, um protocolo aberto.

O Lantern é um contrato aberto e versionado entre os homebrews de consola e os servidores de bibliotecas que cada um mantém em casa para os seus próprios jogos: percorrer a biblioteca, transferir com verificação de integridade, guardar cópias de jogos guardados e batotas.

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, por isso cada escolha serve a segurança e a 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; acrescente cópias de jogos guardados, batotas ou emparelhamento quando quiser, e declare-os nas suas funções. Um servidor cabe num 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 suas funções, percorra a biblioteca página a página e verifique o SHA-256 de cada transferência. 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 suite de conformidade para correr contra um servidor (conformance/) e um pequeno servidor de referência que passa nela (server/). Só uma implementação que passe a suite se deve dizer compatível com o Lantern.

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

Para os seus próprios jogos

O Lantern leva o que o seu servidor tem, entre ele e a sua consola. Não encontra nada nem distribui nada: não é uma forma de obter jogos, e os seus servidores são para os jogos que 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 teu navegador o idioma que escolhes no cabeçalho. Não carrega nada de outro site: os tipos de letra, as imagens e os scripts são servidos com ele.

Conta as visitas com Umami Cloud, na União Europeia (Frankfurt), sem cookies. Por cada página vista: a página, a página de onde vens, o teu navegador, sistema e tipo de dispositivo, o tamanho do ecrã, o teu idioma e o teu país. O teu endereço IP serve para saber o país e distinguir as visitas, e não é guardado com elas. As contagens são guardadas seis meses, usadas só para saber o que é lido, e nunca vendidas nem partilhadas. A política da Umami: umami.is/privacy.

Quem publica este site, quem o aloja e como perguntar pelos seus dados: Privacidade e aviso legal

Leia-o e diga-nos

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.