Bola vydaná prvá verzia projektu geoip, služby na získavanie informácií o polohe IP adresy prostredníctvom REST API. Cieľom projektu je zjednodušiť integráciu funkcií GeoIP do rôznych aplikácií a oslobodiť vývojárov od nutnosti manuálnej správy aktualizácií databázy a práce s formátom MMDB. Kód je napísaný v jazyku Rust a distribuovaný pod licenciou MIT. Podporuje... Linux и macOS, ako aj iné systémy podobné UNIXu.
Základné možnosti servisu:
- Vysoký výkon a nízka spotreba pamäte vďaka použitiu natívne kompilovaného jazyka bez garbage collectoru.
- Poskytovanie informácií o IP adrese (krajina, mesto, PSČ, súradnice, telekomunikačný operátor atď.) prostredníctvom REST API na základe údajov MaxMind GeoLite2 (bezplatná) a MaxMind GeoIP2 (platená).
- Definícia prúdu IP adresy používateľ (dostupný cez samostatný koncový bod; parameter ip hlavného koncového bodu je voliteľný).
- Konfigurovateľné automatické aktualizácie databázy (z oficiálnych zdrojov MaxMind pomocou ID účtu a licenčného kľúča, ako aj z vlastnej URL adresy s podporou autorizácie; môžete určiť interval kontroly aktualizácií).
- Webové rozhranie na manuálne odosielanie dopytov vrátane voliteľnej podpory pre zobrazenie na OpenStreetMap.

- Pre všetky výsledky obsahujúce pole časového pásma sa automaticky vygeneruje ďalšie pole posix_timezone (napríklad Europe/Paris sa skonvertuje na CET-1CEST,M3.5.0,M10.5.0/3). To umožňuje automatickú konfiguráciu časového pásma na vstavaných zariadeniach (napr. ESP32 a iné ciele newlib bez vstavaného tzdata). Táto funkcia je jedinečná a nie je dostupná v podobných riešeniach.
- Automatické aktualizácie databázy časových pásiem (interval, zdroj a autorizácia sú konfigurovateľné; predvolene sa používa oficiálna stránka IANA). Ak sú aktualizácie zakázané, použije sa systémová databáza.
- Možnosť sťahovať aktuálne archívy databázy cez HTTP priamo zo služby (čo umožňuje použiť jednu inštanciu ako proxy zdroj pre ostatné a znižuje spotrebu kvóty MaxMind).
- Podpora ochrany koncových bodov pomocou voliteľného kľúča API.
- Dostupnosť špecifikácie OpenAPI a vstavaného používateľského rozhrania Swagger pre jednoduchú integráciu s vašimi projektmi.
- Poskytnutie hotového obrazu Dockeru pre rýchle nasadenie: docker run \ -e MAXMIND_ACCOUNT_ID=XXXX \ -e MAXMIND_LICENCE_KEY=YYYY \ -e OSM_TILES_URL=»https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png» \ # voliteľné -v geoip_data:/data \ -p 8080:8080 \ ghcr.io/quoi-dev/geoip:latest
Zdroj: opennet.ru

