I have been using Glasswire for a while now, and one of my favorite features has to be the categorization of IPs by country. However Ive seen that Glasswire uses a Maxmind Geolite2 Country database. While Maxmind is fairly accurate, there are other sources out there that are much more accurate, mainly Ipinfo. Ipinfo offers a free lite database similar to Maxmind, with country data for ips. See this example here :
> mmdbctl read -f json-pretty 129.250.7.55 .\GeoLite2-Country.mmdb
{
"ip": "129.250.7.55",
"registered_country": {
"geoname_id": 6252001,
"iso_code": "US",
"names": {
"de": "USA",
"en": "United States",
"es": "Estados Unidos",
"fr": "États Unis",
"ja": "アメリカ",
"pt-BR": "EUA",
"ru": "США",
"zh-CN": "美国"
}
}
}
> mmdbctl read -f json-pretty 129.250.7.55 .\ipinfo_lite.mmdb
{
"as_domain": "ntt.com",
"as_name": "NTT America, Inc.",
"asn": "AS2914",
"continent": "Asia",
"continent_code": "AS",
"country": "Japan",
"country_code": "JP",
"ip": "129.250.7.55"
}
> nslookup 129.250.7.55 1.1.1.1
Server: one.one.one.one
Address: 1.1.1.1
Name: ae-15.r32.tokyjp05.jp.bb.gin.ntt.net
Address: 129.250.7.55
The Ipinfo db has the true country here.
So I would like to be able to configure my own datasource for GeoIP. As of now I can inject a custom db in \ProgramData\glasswire\service-full\geo but its not convenient and has to be redone everytime a new database is downloaded. Here I do not mean Glasswire to go ahead and download from a custom source but rather read a db stored on the local disk. If I want to update that db, Ill do it myself.