Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 21 additions & 1 deletion config/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -240,8 +240,28 @@ func init() {
}
Cfg.AntiAbuseOracles = []string{"https://anti-abuse-oracle.audius.engineering"}
Cfg.ArchiverNodes = []string{"https://archiver.audius.engineering"}
// Registered on chain but not serving content. Rendezvous ranks by
// eth registration, which says a node is entitled to serve — not
// that it does — so these keep getting handed out as image hosts.
// Clients recover via artwork.mirrors and StoreAllNodes, so nothing
// breaks; this just stops those loads from burning a request on a
// host that can't answer.
//
// Every entry below is also absent from core's non-jailed validator
// set (`/core/nodes`), which is the same conclusion the network has
// already reached on its own. See the discussion on #1017 — that
// list is the durable fix; this one is the stopgap.
//
// Verified 2026-08-11:
Cfg.DeadNodes = []string{
"https://content.grassfed.network",
"https://content.grassfed.network", // connection refused
"https://audius.zeogrid.com", // connection refused
"https://cn0.mainnet.audiusindex.org", // 521 on health + content
"https://cn3.mainnet.audiusindex.org", // 521 on health + content
"https://cn4.mainnet.audiusindex.org", // 521 on health + content
// health_check 200 but 502 on every content CID tried — the case
// a naive health probe would wave through.
"https://audius-nodes.com",
}
Cfg.BlacklistedNodes = []string{
"https://audius-discovery-2.cultur3stake.com",
Expand Down
Loading