Add cover proxy for external LAN media servers

- Implement new /covers/proxy endpoint to cache and rewrite external LAN cover URLs
- Add url/urlencoding dependencies for URL parsing/escaping in pmocontrol and pmocovers Cargo.toml
- Transform album_art_uri fields to use proxy endpoint for LAN URLs in REST and SSE handlers (browse_container, MetadataChanged)
- Add URL validation logic to detect LAN vs public URLs and avoid self-caching
- Update Cargo.lock with new dependencies
This commit is contained in:
2026-04-04 10:42:32 +02:00
parent 718c0d2aed
commit bdaee820ad
7 changed files with 304 additions and 5 deletions

9
Cargo.lock generated
View File

@@ -4016,6 +4016,8 @@ dependencies = [
"tracing-log 0.1.4",
"tracing-subscriber",
"ureq",
"url",
"urlencoding",
"utoipa",
"xmltree 0.11.0",
]
@@ -4038,6 +4040,7 @@ dependencies = [
"tempfile",
"tokio",
"tracing",
"url",
"utoipa",
"webp",
]
@@ -6550,6 +6553,12 @@ dependencies = [
"serde",
]
[[package]]
name = "urlencoding"
version = "2.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da"
[[package]]
name = "users"
version = "0.11.0"