You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Auto-update anyone_hosts from the .anyone DNS service (v2)
Reworked from PR #145 per its production-readiness review.
The client fetches a fresh anyone_hosts mapping when new directory
information arrives and on a periodic (jittered) schedule. Fetches are
routed by .anyone name over hidden-service circuits: linked directory
streams for this purpose now go through the same rewrite/attach path as
SOCKS client streams (connection_ap_make_link_onion), which is where
.anyone names are resolved -- the v1 approach attached them as general
exit streams and could never complete.
Fetched files are installed only if they are non-empty, within
DNSMappingFileMaxSize, carry a valid signature from a trusted DNS signer
(not configurable), are unexpired per valid-until, contain at least one
mapping, and are not older (by published time) than the installed
mapping. Byte-identical refetches skip the rewrite.
Configuration is deliberately minimal: AnyoneHostsUpdate,
AnyoneHostsUpdateInterval (floored at 1 hour, jittered +/-10%), and
AnyoneHostsURL. Target selection tries configured URLs then built-in
defaults, advancing only past failing servers.
0 commit comments