Demo · una biblioteca estática

Una biblioteca a la que apuntar tu cliente

Juegos, homebrew y trucos que no existen, servidos con este sitio como una biblioteca estática de Lantern: prueba un cliente sin tener tu propio servidor.

Qué contiene

Juegos ficticios para Nintendo Switch, New 3DS, PS Vita y Android, con sus fichas e ilustraciones dibujadas para ellos; homebrew para Switch, 3DS y Linux, dos de ellos firmados; trucos en el formato de Switch. Sus juegos, estudios y personas son inventados.

Sus archivos son sustitutos de unos pocos bytes de texto, y sus archivos de homebrew solo contienen un README: nada de ello es software, y nada se puede instalar ni ejecutar.

Apuntar un cliente

Dale esta dirección a tu cliente. Primero pide al sitio /.well-known/lantern, no lo encuentra y luego lee lantern.json: un saludo inicial con static (§ 21 de la especificación), páginas de cuatro elementos para que un cliente vea varias, y cada archivo por su SHA-256.

https://lantern.boreale.dev/demo/

lantern.json · v1/apps/switch/pages/1.json · v1/titles/switch/0100ABCD00010000.json

La suite de conformidad la comprueba en cada compilación de este sitio, y alcanza Lantern Static:

python3 conformance/run.py --static https://lantern.boreale.dev/demo/
…
Levels reached (SPEC.md § 17, draft 0.6): Lantern Static

Desde un navegador

GitHub Pages, que sirve este sitio, responde a cada archivo con Access-Control-Allow-Origin: *: una página de otro sitio puede leerla con fetch(). Pide sin credenciales y sin cabeceras propias (sin Lantern-Platform: la plataforma de una biblioteca estática está en sus rutas); si no, el navegador envía antes una solicitud previa, que GitHub Pages no responde.

const hello = await (await fetch("https://lantern.boreale.dev/demo/lantern.json")).json();

Su saludo inicial y sus archivos no llevan ningún rastreo: solo las páginas de este sitio cuentan sus visitas. Privacidad

La variante trampa

Junto a ella, bibliotecas estáticas rotas a propósito, con un fallo cada una, para probar clientes: un archivo que no es su SHA-256, manifiestos que salen de su carpeta o de las raíces de la plataforma, un esquema más reciente, documentos demasiado grandes o profundos, firmas que no se verifican, una clave de orden pequeño. Cada una dice qué debe hacer un cliente, y la suite de conformidad las rechaza todas.