Checkpoint peering identity and opt-in discovery
This commit is contained in:
1 parent
eba9b50e30
commit
47de081721
44 files changed
+1557
-55
No files matched your search
+9
-3
@@ -81,7 +81,13 @@ require administrator-supervised re-pairing; there is no automatic key rotation
|
||||
direction needs its own approvals and grant. The server stores only a hash of a
|
||||
grant it issued; the receiver stores its imported token server-side.
|
||||
4. An admin browses the permitted catalog, selects missing/newest/last-five or an exact
|
||||
chapter, and queues it through the normal scraper. The peer adapter downloads up
|
||||
chapter, and queues it through the normal scraper. The queue carries a validated
|
||||
stable work identity: AniList first, then MangaDex/WeebCentral IDs, then another
|
||||
known hoster ID. If none exists, the owning server supplies an opaque origin ID
|
||||
that follows the work across peers without exposing its folder name. Imports retain
|
||||
that identity, so a round trip resolves to the original library title; `sync missing`
|
||||
skips chapters already present and fetches only additions. Titles alone are never
|
||||
used to merge works. The peer adapter downloads up
|
||||
to the configured pages in flight, validates size and SHA-256, resumes a partial
|
||||
page with HTTP Range, checkpoints between batches, and atomically publishes each
|
||||
complete chapter into the ordinary library. Existing-chapter policy is applied
|
||||
@@ -102,9 +108,9 @@ an admin can distinguish pairing from permission.
|
||||
| --- | --- |
|
||||
| `GET /peer/v1/hello` with one-use invitation headers | Protocol version and server identity fingerprint; no catalog |
|
||||
| `GET /peer/v1/access` | Pairing state, certificate expiry and current grant status/scopes; no catalog |
|
||||
| `GET /peer/v1/catalog?cursor=N` | Up to 50 approved opaque title IDs, safe metadata and cover availability |
|
||||
| `GET /peer/v1/catalog?cursor=N` | Up to 50 approved opaque title IDs, safe metadata, a stable work identity and cover availability |
|
||||
| `GET /peer/v1/covers/{mangaId}` | Approved cover image only; bounded to 5 MiB and charged to peer byte quota |
|
||||
| `GET /peer/v1/manga/{id}?cursor=N` | Up to 100 complete chapter IDs and public metadata |
|
||||
| `GET /peer/v1/manga/{id}?cursor=N` | Up to 100 complete chapter IDs, public metadata and the same stable work identity |
|
||||
| `GET /peer/v1/manga/{id}/chapters/{id}` | Ordered page IDs, MIME, byte size, SHA-256 and ETag |
|
||||
| `GET /peer/v1/blobs/{id}` | One image, optional `Range: bytes=N-` and `If-Match`; 206 on resume |
|
||||
|
||||
|
||||
Reference in new issue
Block a user