Esimene geoip projekti vĂ€ljaanne, mis rakendab teenust IP-aadresside asukoha teabe saamiseks REST API kaudu, on toimunud. Projekt on suunatud GeoIP-funktsionaalsuse integreerimise lihtsustamisele erinevatesse rakendustesse, vabastades arendajad vajadusest ise andmebaaside vĂ€rskendusi hallata ja MMDB-formaadiga töötada. Kood on kirjutatud Rusti keeles ja jaotatakse MIT litsentsi alusel. Toetatakse Linuxi, macOS-i ning ka muid UNIX-taolisi sĂŒsteeme.
Teenuse pÔhifunktsioonid:
- KĂ”rge tootlikkus ja madal mĂ€lutarbimine, tĂ€nu kompileeritavale masinakeele keelele, millel ei ole prĂŒgikoristajat.
- IP-aadressi teabe (riik, linn, postiindeks, koordinaadid, sideoperaator jne) pakkumine REST API kaudu, pÔhinedes MaxMind GeoLite2 (tasuta) ja MaxMind GeoIP2 (tasuline) andmetel.
- Praeguse IP-aadressid kasutaja mÀÀramine (saadaval eraldi lÔpp-punktina; peamise lÔpp-punkti ip parameeter on valikuline).
- Kohandatavad automaatsed andmebaasi uuendused (kas MaxMind ametlikest allikatest kasutades Account ID ja Licence Key vÔi kasutaja URL kaudu, toetanud autoriseerimist; uuenduste kontrollimise intervalli mÀÀramine on vÔimalik).
- Veebi-liides kÀsitsi pÀringute saatmiseks, sealhulgas valikuline tugi OpenStreetMap kaardile kuvamiseks.

- KÔigi tulemuste puhul, mis sisaldavad timezone vÀlja, genereeritakse automaatselt tÀiendav posix_timezone vÀli (nÀiteks Europe/Paris muutub CET-1CEST,M3.5.0,M10.5.0/3). See tagab automaatse ajavööndi seadistamise sisseehitatud seadmetes (nt ESP32 ja muudes newlib sihtides, kus ei ole olemas sisse ehitatud tzdata). See funktsioon on ainulaadne ja puudub sarnastes lahendustes.
- Ajavööndite andmebaasi automaatne uuendamine (intervall, allikas ja autoriseerimine on kohandatavad; vaikimisi kasutatakse IANA ametlikku veebisaiti). Uuenduste vĂ€ljalĂŒlitamisel rakendatakse sĂŒsteemi andmebaasi.
- VĂ”imalus laadida alla seaduslikke andmebaasi arhiive HTTP kaudu otse teenusest (mis vĂ”imaldab kasutada ĂŒht nĂ€idet proksiallikana teiste jaoks ja vĂ€hendada MaxMind kvotaid).
- Toetab lÔpp-punktide kaitset valikulise API-vÔtmega.
- OpenAPI spetsifikatsiooni olemasolu ja sisseehitatud Swagger UI, et lihtsustada integreerimist oma projektidega.
- Valmis Docker-pilt kiireks seadistamiseks: 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" \ # valikuline -v geoip_data:/data \ -p 8080:8080 \ ghcr.io/quoi-dev/geoip:latest
Allikas: opennet.ru

