Since we have to restart dnsmasq to reload the config anyway, this package doesn't need to run before anything. We do however need to wait for the network so I've changed this service to be a hotplug script and utility script. Signed-off-by: Gerard Ryan <G.M0N3Y.2503@gmail.com>
cache-domains
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.
Configuration
Configuration file follows the same syntax as the upsteam file. The key for each cache_domain 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_domain 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": "server2",
"blizzard": "server1",
"origin": "server1",
"steam": "server1",
"wsus": "server3",
"xboxlive": "server3"
}
}
Configure/Cleanup
/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.
Testing
With the above configuration set and the service running nslookup swcdn.apple.com would return 10.10.3.12