A public, read-only web view of the directory (#215)

The directory renders its own pages from the store: the most subscribed, categories, A to Z,
search, and a page per feed with its address and a Copy button. No token, nothing that writes; /v1
keeps its token check. The publisher's HTML is shown as text, item links only when http(s), with
a strict Content-Security-Policy; covers load from their publishers with no referrer.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-12 17:16:41 +00:00
parent bc650153ce
commit 1c6f4eb321
9 changed files with 483 additions and 0 deletions

View File

@@ -8,6 +8,7 @@ name = "ipx-directory"
path = "src/main.rs"
[dependencies]
ammonia.workspace = true
anyhow.workspace = true
axum.workspace = true
clap.workspace = true
@@ -15,6 +16,7 @@ ipx-feed.workspace = true
opentelemetry.workspace = true
opentelemetry-otlp.workspace = true
opentelemetry_sdk.workspace = true
percent-encoding.workspace = true
reqwest.workspace = true
sea-orm.workspace = true
serde.workspace = true