mirror of
https://github.com/domainaware/parsedmarc.git
synced 2026-04-24 06:19:29 +00:00
Replace DB-IP Country Lite with IPinfo Lite (9.8.0) (#711)
Switch the bundled IP-to-country database from DB-IP Country Lite to IPinfo Lite for greater lookup accuracy. The download URL, cached filename, and packaged module path all move from dbip/dbip-country-lite.mmdb to ipinfo/ipinfo_lite.mmdb. IPinfo Lite uses a different MMDB schema (flat country_code) that is incompatible with geoip2's Reader.country() helper, so get_ip_address_country() now uses maxminddb directly and handles both the IPinfo schema and the MaxMind/DBIP nested country.iso_code schema so users who drop in their own MMDB from any of these providers continue to work. Drop the geoip2 dependency (it was only used for the incompatible helper) and add maxminddb as a direct dependency — it was already installed transitively through geoip2. Callers that imported parsedmarc.resources.dbip directly need to switch to parsedmarc.resources.ipinfo. Old parsedmarc versions downloading from the dbip/ GitHub raw URL will 404 and fall back to their bundled copy — this is the documented behavior of load_ip_db(). Co-authored-by: Sean Whalen <seanthegeek@users.noreply.github.com> Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -44,19 +44,20 @@ least:
|
||||
### geoipupdate setup
|
||||
|
||||
:::{note}
|
||||
Starting in `parsedmarc` 7.1.0, a static copy of the
|
||||
[IP to Country Lite database] from IPDB is distributed with
|
||||
`parsedmarc`, under the terms of the
|
||||
[Creative Commons Attribution 4.0 International License].
|
||||
Starting in `parsedmarc` 9.8.0, a static copy of the
|
||||
[IPinfo Lite] database is distributed with `parsedmarc`, under the
|
||||
terms of the [Creative Commons Attribution-ShareAlike 4.0 License],
|
||||
as a fallback if the [MaxMind GeoLite2 Country database] is not
|
||||
installed.
|
||||
installed. Prior versions bundled the DB-IP Country Lite database
|
||||
instead; both share the same MMDB format, so users who have installed
|
||||
either (or a MaxMind GeoLite2) database locally will continue to work
|
||||
without changes.
|
||||
|
||||
Starting in `parsedmarc` 9.6.0, the bundled DB-IP database is
|
||||
automatically updated at startup by downloading the latest copy from
|
||||
GitHub, unless the `offline` flag is set. The database is cached
|
||||
locally and refreshed on each run (or on `SIGHUP` in watch mode).
|
||||
If the download fails, a previously cached copy or the bundled
|
||||
database is used as a fallback.
|
||||
The bundled database is automatically updated at startup by downloading
|
||||
the latest copy from GitHub, unless the `offline` flag is set. The
|
||||
database is cached locally and refreshed on each run (or on `SIGHUP`
|
||||
in watch mode). If the download fails, a previously cached copy or the
|
||||
bundled database is used as a fallback.
|
||||
|
||||
The download URL can be overridden with the `ip_db_url` setting, and
|
||||
the location of a local database file can be overridden with the
|
||||
@@ -203,7 +204,8 @@ sudo apt-get install libemail-outlook-message-perl
|
||||
[Component "contrib"]: https://wiki.debian.org/SourcesList#Component
|
||||
[geoipupdate]: https://github.com/maxmind/geoipupdate
|
||||
[geoipupdate releases page on github]: https://github.com/maxmind/geoipupdate/releases
|
||||
[ip to country lite database]: https://db-ip.com/db/download/ip-to-country-lite
|
||||
[ipinfo lite]: https://ipinfo.io/lite
|
||||
[creative commons attribution-sharealike 4.0 license]: https://creativecommons.org/licenses/by-sa/4.0/deed.en
|
||||
[license keys]: https://www.maxmind.com/en/accounts/current/license-key
|
||||
[maxmind geoipupdate page]: https://dev.maxmind.com/geoip/updating-databases/
|
||||
[maxmind geolite2 country database]: https://dev.maxmind.com/geoip/geolite2-free-geolocation-data
|
||||
|
||||
@@ -133,7 +133,7 @@ The full set of configuration options are:
|
||||
- `forensic_json_filename` - str: filename for the forensic
|
||||
JSON output file
|
||||
- `ip_db_path` - str: An optional custom path to a MMDB file
|
||||
from MaxMind or DBIP
|
||||
from IPinfo, MaxMind, or DBIP
|
||||
- `ip_db_url` - str: Overrides the default download URL for the
|
||||
IP-to-country database (env var: `PARSEDMARC_GENERAL_IP_DB_URL`)
|
||||
- `offline` - bool: Do not use online queries for geolocation
|
||||
|
||||
Reference in New Issue
Block a user