Demo · a static library

A library to point your client at

Games, homebrew and cheat sets that do not exist, served with this site as a Lantern static library: try a client without a server of your own.

What it holds

Fictional games on the Nintendo Switch, the New 3DS, the PS Vita and Android, with their sheets and artwork drawn for them; homebrew for the Switch, the 3DS and Linux, two of them signed; cheat sets in the Switch's format. Its games, studios and people are invented.

Its files are placeholders of a few bytes of text, and its homebrew archives hold a README and nothing else: none of it is software, and nothing in it can be installed or run.

Point a client at it

Give your client this address. It asks the site for /.well-known/lantern first, finds none, then reads lantern.json: a handshake with static (§ 21 of the specification), pages of four items so that a client meets several, and every file by its SHA-256.

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

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

The conformance suite checks it at every build of this site, and it reaches Lantern Static:

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

From a browser

GitHub Pages, which serves this site, answers every file with Access-Control-Allow-Origin: *: a page on another site may read it with fetch(). Ask without credentials and without headers of your own (no Lantern-Platform: a static library's platform is in its paths), or the browser first sends a preflight request, which GitHub Pages does not answer.

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

Its handshake and files carry no tracking: only this site's pages count their visits. Privacy

The trapped variant

Beside it, static libraries broken on purpose, one fault each, for testing clients: a file that is not its SHA-256, manifests that climb out of their folder or leave the platform's roots, a newer schema, documents too big or too deep, signatures that do not verify, a key of small order. Each one says what a client must do, and the conformance suite refuses them all.