Apps/GeoDistanceApp/README.md
A DNS App for Technitium DNS Server that serves answers based on geographic distance.
dnsApp.configIDnsApplication, IDnsAppRecordRequestHandlerdnsApp.config is not used by this app.
This app depends on the geolocation database to determine the client's geo distance from the servers.
A MaxMind GeoIP2/GeoLite2 City database in .mmdb format must be installed. The app includes the GeoLite2 version for trial. For production usage, it is required that you purchase the GeoIP2 database from MaxMind (https://www.maxmind.com/).
*.mmdb)*.mmdb)If the City database is missing, this app cannot resolve the client's geo distance and the app will throw errors instead of answering requests successfully.
WARNING: Latitude and longitude are not precise and should not be used to identify a particular street address or household.
.mmdb database from MaxMind..mmdb file without renaming it.Keep the database updated on a regular schedule by downloading the latest MaxMind release and updating it for the app.
The Geo Distance app only requires the City database to find client's geo distance. However, you may also install and maintain:
These optional databases are not required for distance-based responses in this app, but they are useful for selecting optimal EDNS Client Subnet scope prefix length value.
The app consumes APP record JSON that defines targets/coordinates/addresses. The exact schema is interpreted by the app/runtime; the key point is that the configuration is stored in the APP record payload, not in root app settings.