Den första versionen av geoip-projektet, en tjÀnst för att hÀmta IP-adressinformation via ett REST API, har slÀppts. Projektet syftar till att förenkla integrationen av GeoIP-funktionalitet i olika applikationer, vilket frigör utvecklaren frÄn behovet av att manuellt hantera databasuppdateringar och arbeta med MMDB-formatet. Koden Àr skriven i Rust och distribueras under MIT-licensen. Den stöder Linux О macOS, sÄvÀl som andra UNIX-liknande system.
GrundlÀggande servicealternativ:
- Hög prestanda och lÄg minnesförbrukning tack vare anvÀndningen av ett inbyggt kompilerat sprÄk utan skrÀpinsamlare.
- TillhandahÄller IP-adressinformation (land, stad, postnummer, koordinater, teleoperatör etc.) via REST API baserat pÄ MaxMind GeoLite2 (gratis) och MaxMind GeoIP2 (betald) data.
- Definition av strömmen IP-adresser anvÀndare (tillgÀnglig via en separat slutpunkt; ip-parametern för huvudslutpunkten Àr valfri).
- Konfigurerbara automatiska databasuppdateringar (bÄde frÄn officiella MaxMind-resurser med konto-ID och licensnyckel, och frÄn en anpassad URL med auktoriseringsstöd; du kan ange uppdateringskontrollintervallet).
- Ett webbgrÀnssnitt för att manuellt skicka in frÄgor, inklusive valfritt stöd för visning pÄ OpenStreetMap.

- För alla resultat som innehÄller ett tidszonsfÀlt genereras ett ytterligare posix_timezone-fÀlt automatiskt (till exempel konverteras Europe/Paris till CET-1CEST,M3.5.0,M10.5.0/3). Detta möjliggör automatisk tidszonskonfiguration pÄ inbÀddade enheter (t.ex. ESP32 och andra newlib-mÄl utan inbyggd tzdata). Denna funktion Àr unik och Àr inte tillgÀnglig i liknande lösningar.
- Automatiska uppdateringar av tidszondatabasen (intervall, kÀlla och auktorisering Àr konfigurerbara; den officiella IANA-webbplatsen anvÀnds som standard). Om uppdateringar Àr inaktiverade anvÀnds systemdatabasen.
- Möjligheten att ladda ner aktuella databasarkiv via HTTP direkt frÄn tjÀnsten (vilket gör att en instans kan anvÀndas som proxykÀlla för andra och minskar MaxMind-kvotförbrukningen).
- Stöd för slutpunktsskydd med hjÀlp av en valfri API-nyckel.
- TillgÀnglighet av OpenAPI-specifikation och inbyggt Swagger-grÀnssnitt för enkel integration med dina projekt.
- TillhandahÄller en fÀrdig Docker-avbildning för snabb driftsÀttning: 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» \ # optional -v geoip_data:/data \ -p 8080:8080 \ ghcr.io/quoi-dev/geoip:latest
KĂ€lla: opennet.ru

