hotplug script to dynamically configure the local DNS (dnsmasq) to redirect game content servers to a LAN cache. Definitive list dynamically obtained from https://github.com/uklans/cache-domains.
The configuration file (/etc/cache-domains.json
) follows the same syntax as the upsteam file. The key for each cache_domains
member matches the name of one of the .txt
files in the upstream root directory, except for the default
key which matches the all the unreferenced .txt
files. The value of each cache_domains
member maps to one of the keys of the ips
members, Thus mapping a cached domain to a list of IP addresses/LAN cache server.
{
"ips": {
"server1": ["10.10.3.10", "10.10.3.11"],
"server2": "10.10.3.12",
"server3": "10.10.3.13"
},
"cache_domains": {
"default": "server1",
"blizzard": "server1",
"origin": "server1",
"steam": "server2",
"wsus": "server3",
"xboxlive": "server3"
}
}
/usr/bin/cache-domains configure
will configure the local DNS (dnsmasq) to redirect the configured cache domains. /usr/bin/cache-domains cleanup
will cleanup redirection. The hotplug script calls /usr/bin/cache-domains configure
when the WAN interface is brought up.
After configuring with the above example configuration, running nslookup lancache.steamcontent.com
would return 10.10.3.12