Apps/GeoCountryApp/README.md
A DNS App for Technitium DNS Server that returns country-specific answers based on the client's geolocation country.
dnsApp.configdefault entry when no country match existsIDnsApplication, IDnsAppRecordRequestHandlerdnsApp.config is not used by this app.
This app depends on the geolocation database to determine the client's country.
A MaxMind GeoIP2/GeoLite2 Country 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 Country database is missing, this app cannot resolve the client country and the app will throw errors instead of answering requests successfully.
.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 GeoCountry app only requires the Country database to map clients to countries. However, you may also install and maintain:
These optional databases are not required for country-based responses in this app, but they are useful for the Autonomous System Number (ASN) based mapping feature and for selecting optimal EDNS Client Subnet scope prefix length value.
The APP record payload is a JSON object keyed by country code, with an optional default entry.
{
"US": { },
"DE": { },
"AS1234": { },
"default": { }
}
The exact per-country payload is interpreted by the app/runtime. The important part is the country-key mapping.
default when available.default is not provided, unmatched clients may receive no app-specific answer.default entry for clients whose country cannot be determined.