axum served from inside the daemon so it reads SQLite and the event bus directly: browse feeds, read show notes, play with seeking, download and delete files, mark read/flag, and edit feed settings. Config is now hot-reloadable (Ctx.cfg behind RwLock<Arc<Config>>), so UI edits apply without a daemon restart. Access is a shared token minted from /dev/urandom, carried in a cookie because an <audio> element cannot send headers. Show notes are untrusted feed HTML and are sanitized with ammonia server-side. read/flagged finally have a writer, which retention has needed since it started ordering by them. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RPyeapneuXrCdojsaiXGbe
32 lines
1.2 KiB
TOML
32 lines
1.2 KiB
TOML
[package]
|
|
name = "ipx"
|
|
version = "0.1.0"
|
|
edition = "2024"
|
|
|
|
[dependencies]
|
|
ammonia = "4.1.4"
|
|
anyhow = "1.0.104"
|
|
atom_syndication = "0.12.10"
|
|
axum = "0.8.9"
|
|
chrono = { version = "0.4.45", default-features = false, features = ["std", "clock"] }
|
|
clap = { version = "4.6.6", features = ["derive"] }
|
|
dirs = "7.0.0"
|
|
futures-util = { version = "0.3.34", default-features = false, features = ["std"] }
|
|
infer = "0.22.0"
|
|
librqbit = { version = "9.0.1", default-features = false, features = ["rust-tls", "http-api-client"] }
|
|
opml = "1.1.6"
|
|
percent-encoding = "2.3.2"
|
|
reqwest = { version = "0.13.5", default-features = false, features = ["rustls", "http2", "gzip", "stream", "json", "charset", "system-proxy"] }
|
|
rss = "2.1.1"
|
|
rusqlite = { version = "0.40.2", features = ["bundled"] }
|
|
serde = { version = "1.0.229", features = ["derive"] }
|
|
serde_json = "1.0.151"
|
|
tokio = { version = "1.53.1", features = ["rt-multi-thread", "macros", "fs", "io-util", "net", "sync", "time", "signal"] }
|
|
tokio-stream = { version = "0.1.19", features = ["sync"] }
|
|
toml = "1.1.5"
|
|
tower = { version = "0.5.3", features = ["util"] }
|
|
tower-http = { version = "0.7.1", features = ["fs"] }
|
|
tracing = "0.1.44"
|
|
tracing-subscriber = { version = "0.3.23", features = ["env-filter"] }
|
|
url = "2.5.8"
|