Many ways to go about it: host config in profile, gossip type of discovery, preconfigured mirrors/archives, special configurable proxy that does the discovery, etc. 🐶🐾🫡
Discussion
I actually thought about a caching proxy type layer a while back that would sit in front of the media hosts as an alternative to using commercial CDNs. I was thinking about it more from the point of view of improving performance but the same sort of concept could work. Proxy would serve the content locally if it has it, otherwise fetch from the media hosts using some sort of discovery mechanism. Clients could have a list of proxies in the same way as they have a list of relays so if one goes down it uses another one.
There can be many ways, and translation layers/methods I guess 🐶🐾🤷♂️