Automatically fetching GeoIP "free" databases ============================================== On January 2, 2019, Maxmind, the company behind the geoip database, discontinued the GeoLite Legacy databases, which are no longer available for download. (https://support.maxmind.com/geolite-legacy-discontinuation-notice/) Free geolocation data is still available through the GeoLite2 databases. However, due to some legal changes (https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-using-geolite2-databases/) starting December 30, 2019, the Geolite2 database users are required to register for a MaxMind account and obtain a license key in order to download GeoLite2 databases. The following packages are introduced to work with the new database format and distribution: libmaxminddb is the library for working with the geolite2 format. It doesn't download any data, just works with a local .mmdb database. geoipupdate is the official Maxmind's tool for downloading the geo database. Users need to fill in its configuration file with their Maxmind account details. It's possible to generate the entire config from the Maxmind web page, once one has an account. geolite2legacy is a script for converting geolite2 data to the old geoip format. Accepts only the CSV format as input. We also ship a geoipupdate-legacy subpackage, which is a wrapper around geoipupdate. It downloads the data and converts them to the old format using geolite2legacy. The data will be stored at the usual place (/var/lib/GeoIP), so this should be transparent to existing applications. It's basically a re-implementation of geoip-fetch which was shipped within GeoIP package (but no longer works). How to get the latest GeoIP data ================================ (1) Register a MaxMind account at https://www.maxmind.com/en/geolite2/signup (2) Fill in the account information in /etc/GeoIP.conf (3) Install geoipupdate package # zypper in geoipupdate (4) Download the latest GeoIP data # geoipupdate Local libmaxminddb is up-to-date and packages are to work with the geo data. Optional: (5) Install geoipupdate-legacy package # zypper in geoipupdate-legacy (6) Download and export the data to the old format # geoipupdate-legacy Local GeoIP database is up-to-date and packages are ready to work with the new geo data using the old GeoIP library. Tips ==== These databases can become out-of-date quite quickly unless the user manually fetches and replaces them regularly. Maxmind generally release updates every couple of weeks. Script can be called manually (as root), but the best solution is to add a crontab entry or a systemd timer such as the one shipped with the package.