Lëshimi i parë i projektit geoip, i cili implementon një shërbim për marrjen e informacionit mbi vendndodhjen e adresave IP përmes REST API, u realizua. Projekti është orientuar për thjeshtimin e integrimit të funksionalitetit GeoIP në aplikacione të ndryshme, duke çliruar zhvilluesin nga nevoja për të menaxhuar vetë azhurnimet e bazave të të dhënave dhe për të punuar me formatin MMDB. Kodi është i shkruar në gjuhën Rust dhe shpërndahet nën licencën MIT. Mbështetet operimi në Linux dhe macOS, si dhe sisteme të tjera UNIX të ngjashme.
Aftësitë kryesore të shërbimit:
- Performancë e lartë dhe konsum të ulët të memories, falë përdorimit të një gjuhe që përkthehet në kod makine pa mbledhës mbetjeje.
- Ofrimi i informacionit në lidhje me adresën IP (shteti, qyteti, kodi postar, koordinatat, operatori i komunikimit etj.) përmes REST API bazuar në të dhënat MaxMind GeoLite2 (falas) dhe MaxMind GeoIP2 (me pagesë).
- Përcaktimi i përdoruesit aktual Adresa IP (i disponueshëm përmes një endpointi të veçantë; parametri ip në endpointin kryesor është i obligueshëm).
- PĂ«rditĂ«sime automatike tĂ« bazave tĂ« tĂ« dhĂ«nave tĂ« konfigurueshme (si nga burime zyrtare MaxMind duke pĂ«rdorur ID-nĂ« e LlogarisĂ« dhe ĂelĂ«sin e LicencĂ«s, ashtu edhe nga njĂ« URL pĂ«rdoruesi me mbĂ«shtetje pĂ«r autorizim; Ă«shtĂ« e mundur tĂ« specifikohet intervali i kontrollit tĂ« pĂ«rditĂ«simeve).
- Ndërfaqja web për dërgimin manual të kërkesave, duke përfshirë mbështetje opsionale për shfaqjen në hartën OpenStreetMap.

- Për të gjitha rezultatet që përmbajnë fushën timezone, formohet automatikisht një fushë shtesë posix_timezone (për shembull, Europe/Paris konvertohet në CET-1CEST,M3.5.0,M10.5.0/3). Kjo siguron konfugurimin automatik të zonës kohore në pajisjet e integruara (për shembull, ESP32 dhe objekte të tjera që përdorin newlib pa të dhënat e ndërtuara tzdata). Kjo mundësi është unike dhe mungon në zgjidhje të ngjashme.
- Përditësimi automatik i bazës së të dhënave të zonave kohore (intervali, burimi dhe autorizimi janë të konfigurueshme; si parazgjedhje përdoret faqja zyrtare IANA). Pasi të çaktivizohen përditësimet, aplikohet baza e sistemit.
- Mundësia për shkarkimin e arkivave aktuale të bazave të të dhënave përmes HTTP direkt nga shërbimi (e cila lejon përdorimin e një instance si një burim proxy për të tjerët dhe redukton konsumimin e kuotës MaxMind).
- Mbështetje për mbrojtjen e endpointëve nëpërmjet një çelësi API opsional.
- Disponueshmëria e specifikacionit OpenAPI dhe Swagger UI të integruar për të lehtësuar integrimin me projektet tuaja.
- Sigurimi i një imazhi Docker të gatshëm për shpërndarje të shpejtë: 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" \ # e opcionale -v geoip_data:/data \ -p 8080:8080 \ ghcr.io/quoi-dev/geoip:latest
Burimi: opennet.ru

