Che cosa contiene
Giochi immaginari per Nintendo Switch, New 3DS, PS Vita e Android, con le loro schede e illustrazioni disegnate apposta; homebrew per Switch, 3DS e Linux, due dei quali firmati; trucchi nel formato della Switch. Giochi, studi e persone sono inventati.
I suoi file sono segnaposto di pochi byte di testo, e gli archivi dei suoi homebrew contengono solo un README: niente di tutto ciò è software, e nulla si può installare o avviare.
Puntarci un client
Dai questo indirizzo al tuo client. Prima chiede al sito /.well-known/lantern, non lo trova, poi legge lantern.json: un handshake con static (§ 21 della specifica), pagine di quattro elementi perché un client ne incontri diverse, e ogni file tramite il suo SHA-256.
https://lantern.boreale.dev/demo/
lantern.json · v1/apps/switch/pages/1.json · v1/titles/switch/0100ABCD00010000.json
La suite di conformità la verifica a ogni build di questo sito, e raggiunge Lantern Static:
python3 conformance/run.py --static https://lantern.boreale.dev/demo/
…
Levels reached (SPEC.md § 17, draft 0.6): Lantern Static
Da un browser
GitHub Pages, che serve questo sito, risponde per ogni file con Access-Control-Allow-Origin: *: una pagina di un altro sito può leggerla con fetch(). Chiedi senza credenziali e senza intestazioni tue (niente Lantern-Platform: la piattaforma di una libreria statica è nei suoi percorsi), altrimenti il browser invia prima una richiesta preliminare, a cui GitHub Pages non risponde.
const hello = await (await fetch("https://lantern.boreale.dev/demo/lantern.json")).json();
Il suo handshake e i suoi file non contengono alcun tracciamento: solo le pagine di questo sito contano le visite. Privacy
La variante trappola
Accanto, librerie statiche rotte di proposito, con un difetto ciascuna, per mettere alla prova i client: un file che non corrisponde al suo SHA-256, manifesti che escono dalla loro cartella o dalle radici della piattaforma, uno schema più recente, documenti troppo grandi o troppo annidati, firme che non si verificano, una chiave di ordine piccolo. Ognuna dice che cosa deve fare un client, e la suite di conformità le rifiuta tutte.