其中有什么
Nintendo Switch、New 3DS、PS Vita 和 Android 上的虚构游戏,附带资料卡和专门绘制的图像;适用于 Switch、3DS 和 Linux 的自制软件,其中两个带有签名;Switch 格式的金手指。游戏、工作室和人物都是虚构的。
其中的文件是只有几字节文本的占位文件,自制软件的压缩包里只有一个 README:没有任何软件,也没有任何东西可以安装或运行。
让客户端指向它
把这个地址交给客户端。它先向站点请求 /.well-known/lantern,找不到后再读取 lantern.json:一个带有 static 的握手(规范 § 21),每页四项以便客户端遇到多页,以及按 SHA-256 提供的每个文件。
https://lantern.boreale.dev/demo/
lantern.json · v1/apps/switch/pages/1.json · v1/titles/switch/0100ABCD00010000.json
一致性测试套件在本站每次构建时都会检查它,它达到了 Lantern Static:
python3 conformance/run.py --static https://lantern.boreale.dev/demo/
…
Levels reached (SPEC.md § 17, draft 0.6): Lantern Static
从浏览器访问
提供本站的 GitHub Pages 会为每个文件返回 Access-Control-Allow-Origin: *:其他站点的页面可以用 fetch() 读取它。请求时不要带凭据,也不要加自定义标头(不要 Lantern-Platform:静态库的平台已写在路径里),否则浏览器会先发送预检请求,而 GitHub Pages 不会响应它。
const hello = await (await fetch("https://lantern.boreale.dev/demo/lantern.json")).json();
它的握手和文件不含任何跟踪:只有本站的页面会统计访问。 隐私
陷阱版本
旁边是一些故意弄坏的静态库,每个只有一处问题,用于测试客户端:与其 SHA-256 不符的文件、跑出自身文件夹或平台根目录的清单、更新的 schema、过大或嵌套过深的文档、无法验证的签名、小阶密钥。每个都写明客户端应当怎么做,一致性测试套件会全部拒绝它们。