Esimene geoip projekti vĂ€ljaanne on toimunud, mis rakendab teenust IP-aadresside asukoha teabe saamiseks REST API kaudu. Projekt on suunatud GeoIP- funktsionaalsuse integreerimise lihtsustamisele erinevatesse rakendustesse, vabastades arendaja vajadusest hallata andmebaaside uuendusi ja töötada MMDB formaadiga. Kood on kirjutatud Rust keeles ja levitatakse MIT litsentsi alusel. Toetatakse tööd Linuxi ja macOS-i ning teiste UNIX- sarnaste sĂŒsteemidega.
Teenuse peamised omadused:
- KĂ”rge jĂ”udlus ja madal mĂ€lu kasutus, kasutades kompileeritavat masinkoodi keelt, mis ei omista prĂŒgi.
- IP-aadressi teabe pakkumine (riik, linn, postiindeks, koordinaadid, teenusepakkuja jne) REST API kaudu, pÔhinedes MaxMind GeoLite2 (tasuta) ja MaxMind GeoIP2 (tasuline) andmetele.
- Praeguse IP-aadressid kasutaja mÀÀramine (saadaval eraldi lÔpp-punkti kaudu; pÔhjaliku lÔpp-punkti ip parameeter on valikuline).
- Konfigureeritavad automaatsed andmebaasi uuendused (nii ametlikelt MaxMind ressurssidelt koos Account ID ja Licence Key, kui ka kasutaja URL-ilt autentimise toega; vÔib seada kontrolliuuenduste intervalli).
- Veebiliides manuaalsete pÀringute esitamiseks, sealhulgas valikulise OpenStreetMap kaardile kuvamise toe pakkumine.

- KÔikide tulemuste kohta, mis sisaldavad timezone vÀlja, luuakse 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 konfigureerimise sisse ehitatud seadmetes (nt ESP32 ja muudes newlibi sihtmÀrkides, kus pole sisseehitatud tzdata). See funktsioon on ainulaadne ja puudub analoogsetes lahendustes.
- Ajavahe andmebaasi automaatne uuendamine (intervall, allikas ja autentimine on konfigureeritavad; vaikimisi kasutatakse IANA ametlikku veebisaiti). Uuenduste keelamisel rakendatakse sĂŒsteemi andmebaasi.
- VĂ”ime laadida andmebaasi arhiive HTTP kaudu otse teenusest (mis vĂ”imaldab kasutada ĂŒhte eksemplari teiste jaoks proksi-allikana ja vĂ€hendada MaxMindi kvota kulutusi).
- LÔpp-punktide kaitse toetamine valikulise API vÔtmega.
- OpenAPI spetsifikatsiooni ja sisseehitatud Swagger UI olemasolu, et lihtsustada integreerimist oma projektidega.
- Valmis Docker-pildi pakkumine kiireks juurutamiseks: 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

