The directory is at directory.ipxreader.app (#214)

The zone is in Cloudflare and the rays-unraid tunnel routes the name to ipx-directory, as it
does ipx-dir.sdf1.net, which keeps answering until every server using it has moved: a redirect
to another host would drop the Authorization header. Production ipx shares with the new name.
CLAUDE.md, docs/directory.md, the prod-check skill and the dashboard name it; the admin page's
placeholder and the settings' hint use directory.example.net.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-12 17:06:06 +00:00
parent 954399ed5d
commit bc650153ce
7 changed files with 7 additions and 7 deletions

View File

@@ -42,7 +42,7 @@ pub struct General {
/// How much artwork iPX keeps on disk, in MB, so the page loads it from iPX rather than from
/// every publisher; the least recently shown goes first. 0 keeps none.
pub art_cache_mb: u64,
/// The directory service the Directory shows (#205), as `https://ipx-dir.sdf1.net`. Empty
/// The directory service the Directory shows (#205), as `https://directory.ipxreader.app`. Empty
/// for none: then the Directory says so, and feeds are added by their address.
pub directory_url: String,
/// The token the directory gave this server. Never sent to the page: it says only whether

View File

@@ -2177,7 +2177,7 @@ async fn patch_settings(
if let Some(v) = body.directory_url {
let v = v.trim().trim_end_matches('/').to_owned();
if !v.is_empty() && !url::Url::parse(&v).is_ok_and(|u| matches!(u.scheme(), "http" | "https")) {
return Err(ApiError::bad_request(format!("{v:?} is not a web address; try https://ipx-dir.example.net")));
return Err(ApiError::bad_request(format!("{v:?} is not a web address; try https://directory.example.net")));
}
cfg.general.directory_url = v;
}