Open protocol · concept 0.2

Van je server naar je console, één open protocol.

Lantern is een open contract met versies tussen console-homebrews en de bibliotheekservers die mensen thuis draaien voor hun eigen games: door de bibliotheek bladeren, downloaden met integriteitscontrole, back-ups van saves en cheats bewaren.

Concept 0.2

De tekst kan voor 1.0 nog veranderen. Opmerkingen zijn welkom, vooral van wie clients en servers schrijft.

Gemaakt om te blijven

Wat het solide maakt

Lantern begint opnieuw: het is met geen enkel eerder protocol compatibel, dus elke keuze dient de veiligheid en de lange termijn.

Wat nieuw is

Wat het toevoegt

Wat clients tot nu toe moesten raden, zwart op wit.

Implementeren

Voor wie servers en clients schrijft

De specificatie is kort: weinig routes, vaste vormen, gewoon HTTP en JSON.

Een server schrijven

Lever de handshake en de bibliotheek; voeg back-ups van saves, cheats of koppelen toe wanneer je wilt en geef ze op in de functies. Een server past in een weekend.

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

Een client schrijven

Vind servers op het lokale netwerk, lees hun functies, blader pagina voor pagina door de bibliotheek en controleer de SHA-256 van elke download. Een client past in een paar honderd regels C++.

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

Schema's en voorbeelden

Een JSON-schema voor elk document, van elk een voorbeeld en een OpenAPI-beschrijving van de routes, om je eigen werk aan te toetsen.

schemas/v1 · examples/v1 · openapi.yaml

In de repository: een conformiteitssuite om tegen een server te draaien (conformance/) en een kleine referentieserver die haar doorstaat (server/). Alleen een implementatie die de suite doorstaat, mag zich Lantern-compatibel noemen.

De eerste client wordt PlayShelf, een homebrew-pakketbeheerder voor de Nintendo Switch. PlayShelf

Voor je eigen games

Lantern brengt wat je server heeft heen en weer tussen hem en je console. Het vindt niets en verspreidt niets: het is geen manier om aan games te komen, en de servers zijn voor de games die je bezit.

Licenties

Vrij te implementeren

Vragen, opmerkingen en voorstellen horen in de issues van de repository.

Deze site

Privacy

Deze site plaatst geen cookies en bewaart in je browser alleen de taal die je bovenaan de pagina kiest. Hij laadt niets van een andere site: de lettertypen, afbeeldingen en scripts worden met de site meegeleverd.

De site telt bezoeken met Umami Cloud, in de Europese Unie (Frankfurt), zonder cookies. Voor elke bekeken pagina: de pagina, de pagina waar je vandaan komt, je browser, systeem en soort apparaat, je schermgrootte, je taal en je land. Je IP-adres wordt gebruikt om je land te bepalen en bezoeken van elkaar te onderscheiden, en wordt niet bij de bezoeken bewaard. De tellingen worden zes maanden bewaard, alleen gebruikt om te weten wat er gelezen wordt, en nooit verkocht of gedeeld. Het beleid van Umami: umami.is/privacy.

Wie deze site publiceert, wie hem host en hoe je naar je gegevens vraagt: Privacy en juridische informatie

Lees het en laat het ons weten

Het concept is het moment om dingen te veranderen. Een issue over een route, een veld of een vergeten geval helpt alle servers en clients die nog komen.