Wat erin zit
Verzonnen games voor Nintendo Switch, New 3DS, PS Vita en Android, met hun fiches en speciaal getekende afbeeldingen; homebrew voor Switch, 3DS en Linux, waarvan twee ondertekend; cheats in het formaat van de Switch. De games, studio's en mensen zijn verzonnen.
De bestanden zijn plaatsvervangers van een paar bytes tekst, en de homebrew-archieven bevatten alleen een README: niets ervan is software, en niets kan worden geïnstalleerd of gestart.
Een client erop richten
Geef je client dit adres. Hij vraagt de site eerst om /.well-known/lantern, vindt niets en leest dan lantern.json: een handshake met static (§ 21 van de specificatie), pagina's van vier items zodat een client er meerdere tegenkomt, en elk bestand via zijn SHA-256.
https://lantern.boreale.dev/demo/
lantern.json · v1/apps/switch/pages/1.json · v1/titles/switch/0100ABCD00010000.json
De conformiteitssuite controleert hem bij elke build van deze site, en hij haalt Lantern Static:
python3 conformance/run.py --static https://lantern.boreale.dev/demo/
…
Levels reached (SPEC.md § 17, draft 0.6): Lantern Static
Vanuit een browser
GitHub Pages, dat deze site serveert, beantwoordt elk bestand met Access-Control-Allow-Origin: *: een pagina van een andere site mag hem met fetch() lezen. Vraag zonder inloggegevens en zonder eigen headers (geen Lantern-Platform: het platform van een statische bibliotheek staat in haar paden), anders stuurt de browser eerst een preflight-verzoek, dat GitHub Pages niet beantwoordt.
const hello = await (await fetch("https://lantern.boreale.dev/demo/lantern.json")).json();
De handshake en de bestanden bevatten geen tracking: alleen de pagina's van deze site tellen hun bezoeken. Privacy
De variant met valkuilen
Ernaast staan statische bibliotheken die met opzet kapot zijn, met elk één fout, om clients te testen: een bestand dat niet zijn SHA-256 is, manifesten die uit hun map of buiten de roots van het platform gaan, een nieuwer schema, documenten die te groot of te diep genest zijn, handtekeningen die niet kloppen, een sleutel van kleine orde. Elk zegt wat een client moet doen, en de conformiteitssuite weigert ze allemaal.