Ce qu'elle contient
Des jeux fictifs sur Nintendo Switch, New 3DS, PS Vita et Android, avec leurs fiches et des illustrations dessinées pour eux ; des homebrews pour la Switch, la 3DS et Linux, dont deux signés ; des codes de triche au format de la Switch. Ses jeux, ses studios et ses personnes sont inventés.
Ses fichiers sont des substituts de quelques octets de texte, et les archives de ses homebrews ne contiennent qu'un README : rien de tout cela n'est un logiciel, et rien ne peut y être installé ni lancé.
Y pointer un client
Donnez cette adresse à votre client. Il demande d'abord /.well-known/lantern au site, n'en trouve pas, puis lit lantern.json : une poignée de main avec static (§ 21 de la spécification), des pages de quatre éléments pour qu'un client en rencontre plusieurs, et chaque fichier par son SHA-256.
https://lantern.boreale.dev/demo/
lantern.json · v1/apps/switch/pages/1.json · v1/titles/switch/0100ABCD00010000.json
La suite de conformité la vérifie à chaque construction de ce site, et elle atteint Lantern Static :
python3 conformance/run.py --static https://lantern.boreale.dev/demo/
…
Levels reached (SPEC.md § 17, draft 0.6): Lantern Static
Depuis un navigateur
GitHub Pages, qui sert ce site, répond pour chaque fichier avec Access-Control-Allow-Origin: * : une page d'un autre site peut la lire avec fetch(). Faites la requête sans identifiants et sans en-têtes à vous (pas de Lantern-Platform : la plateforme d'une bibliothèque statique est dans ses chemins), sinon le navigateur envoie d'abord une requête préalable, à laquelle GitHub Pages ne répond pas.
const hello = await (await fetch("https://lantern.boreale.dev/demo/lantern.json")).json();
Sa poignée de main et ses fichiers ne portent aucun suivi : seules les pages de ce site comptent leurs visites. Confidentialité
La variante piégée
À côté, des bibliothèques statiques cassées exprès, une faute chacune, pour tester les clients : un fichier qui n'est pas son SHA-256, des manifestes qui sortent de leur dossier ou des racines de la plateforme, un schéma plus récent, des documents trop gros ou trop profonds, des signatures qui ne se vérifient pas, une clé d'ordre faible. Chacune dit ce qu'un client doit faire, et la suite de conformité les refuse toutes.