裡面有什麼
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、過大或巢狀過深的文件、無法驗證的簽章、小階金鑰。每個都寫明用戶端應該怎麼做,一致性測試套件會全部拒絕。