Uscita geoip 0.1.0, implementazione di un'API REST per la geolocalizzazione attraverso l'IP

È stata rilasciata la prima versione del progetto geoip, che implementa un servizio per ottenere informazioni sulla posizione degli indirizzi IP tramite REST API. Il progetto è orientato a semplificare l'integrazione della funzionalità GeoIP in diverse applicazioni, liberando gli sviluppatori dalla necessità di gestire autonomamente gli aggiornamenti delle banche dati e di lavorare con il formato MMDB. Il codice è scritto in Rust ed è distribuito sotto licenza MIT. Sono supportati Linux e macOS, oltre ad altri sistemi operativi simili a UNIX.

Caratteristiche principali del servizio:

  • Elevate prestazioni e basso consumo di memoria, grazie all'uso di un linguaggio compilato in codice macchina senza garbage collector.
  • Fornitura di informazioni sull'indirizzo IP (paese, città, codice postale, coordinate, operatore telefonico, ecc.) tramite REST API basata su dati MaxMind GeoLite2 (gratuiti) e MaxMind GeoIP2 (a pagamento).
  • Identificazione dell'utente attuale Indirizzi IP (disponibile tramite un endpoint separato; il parametro ip dell'endpoint principale è facoltativo).
  • Aggiornamenti automatici personalizzati del database (sia da fonti ufficiali MaxMind utilizzando Account ID e Licence Key, sia da URL utente con supporto per l'autenticazione; possibilità di impostare l'intervallo di controllo degli aggiornamenti).
  • Interfaccia web per inviare richieste manualmente, inclusa la supporto opzionale per la visualizzazione su mappa OpenStreetMap.
    Uscita geoip 0.1.0, implementazione di un'API REST per la geolocalizzazione attraverso l'IP
  • Per tutti i risultati contenenti il campo timezone, viene generato automaticamente un campo aggiuntivo posix_timezone (ad esempio, Europe/Paris diventa CET-1CEST,M3.5.0,M10.5.0/3). Questo consente la configurazione automatica dei fusi orari su dispositivi integrati (ad esempio, ESP32 e altri target newlib senza tzdata incorporato). Questa funzionalità è unica e non è presente in soluzioni simili.
  • Aggiornamento automatico del database dei fusi orari (intervallo, fonte e autorizzazione configurabili; per impostazione predefinita viene utilizzato il sito ufficiale IANA). Quando gli aggiornamenti sono disabilitati, viene utilizzato il database di sistema.
  • Possibilità di scaricare archivi di database aggiornati tramite HTTP direttamente dal servizio (il che consente di utilizzare un'istanza come fonte proxy per altre e ridurre il consumo della quota MaxMind).
  • Supporto per la protezione degli endpoint tramite un'opzione di chiave API.
  • Disponibilità di una specifica OpenAPI e di un'interfaccia Swagger UI integrata per facilitare l'integrazione nei propri progetti.
  • Fornitura di un'immagine Docker pronta per un rapido dispiegamento: 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" \ # opzionale -v geoip_data:/data \ -p 8080:8080 \ ghcr.io/quoi-dev/geoip:latest

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster