Geoip 0.1.0 Launches: New REST API for IP Location

The first release of the project geoip has taken place, introducing a service that allows users to retrieve information about the location of IP addresses via a REST API. This project aims to streamline the integration of GeoIP functionality into various applications by removing the need for developers to manage database updates and work with the MMDB format directly. The code, written in Rust, is distributed under the MIT license. It is compatible with Linux, macOS, and other UNIX-like systems.

Main features of the service:

  • High performance and low memory consumption due to the use of a compiled language without a garbage collector.
  • Information retrieval about the IP address (including country, city, postal code, coordinates, telecom operator, etc.) via REST API based on MaxMind GeoLite2 data (free) and MaxMind GeoIP2 (paid).
  • Determination of the user’s current IP address through a separate endpoint (the ip parameter of the main endpoint is optional).
  • Configurable automatic database updates from official MaxMind resources using Account ID and License Key, or from a custom URL with authorization support (update check interval can be specified).
  • Web interface for manual requests, with optional support for displaying results on an OpenStreetMap map.

  • Automatic generation of posix_timezone field for results containing the timezone field, enabling automatic time zone configuration on embedded devices without built-in tzdata. This feature is unique and not found in similar solutions.
  • Automatic update of the time zone database, with configurable interval, source, and authorization (official IANA website is default). System base is used when updates are disabled.
  • Ability to download database archives directly via HTTP from the service, reducing MaxMind quota consumption and enabling use as a proxy source for other instances.
  • Endpoint protection using an optional API key.
  • OpenAPI specification and built-in Swagger UI for seamless integration with projects
/Reports, release notes, official announcements.