Gateway · lantern-bridge

The Bridge: your library, spoken in Lantern

A gateway that presents an Ownfoil or AeroFoil server, a Tinfoil shop or plain folders of games as a Lantern server, so that Lantern clients can browse it, download from it and sync with it.

Under construction, nothing released yet. Today the bridge serves an empty library; the sources, the web interface and the image come next, following the latest draft.

What it will read

It runs next to your library and changes nothing in it. Several sources at once, merged by SHA-256.

How it works

A library the clients already understand, with none of the work on their side.

  1. Hashes

    Lantern asks for the SHA-256 of every file. With the games mounted read-only, the bridge hashes them on disk and serves them itself; a slower remote mode hashes what it downloads, once.

  2. Pairing and tokens

    Everything the SDK's server toolkit does: pairing with a code or a QR code, device-bound tokens, invitations, a rating cap carried by the token.

  3. A small web interface

    The state of the sources and of the hashing queue, the devices to approve, live logs and the configuration.

Try it

Nothing is released yet, so the bridge runs from a checkout (Python 3.12 or later, uv).

  1. Start the bridge

    Clone it with its SDK submodule and serve it.

    git clone --recurse-submodules https://github.com/JigSawFr/lantern-bridge
    cd lantern-bridge && uv sync
    uv run lantern-bridge serve --port 8080
  2. Shake hands

    Any Lantern client, or curl, can already read its handshake.

    curl -s http://127.0.0.1:8080/.well-known/lantern

It serves an empty library for now.

Distrustful by design

Bring your library to Lantern

Follow the work, or build your own server with the SDK.