Wydanie geoip 0.1.0, realizacja REST API do określania lokalizacji na podstawie IP

Zrealizowano pierwszą wersję projektu geoip, który implementuje usługę uzyskiwania informacji o lokalizacji adresów IP poprzez REST API. Projekt ma na celu uproszczenie integracji funkcji GeoIP w różnych aplikacjach, zwalniając programistów z konieczności zarządzania aktualizacjami baz danych oraz pracy z formatem MMDB. Kod napisano w języku Rust i jest udostępniany na licencji MIT. Obsługuje działanie w systemach Linux i macOS, a także w innych systemach podobnych do UNIX.

Główne możliwości usługi:

  • Wysoka wydajność i niskie zużycie pamięci, dzięki wykorzystaniu języka kompilowanego do kodu maszynowego bez zbieracza śmieci.
  • Dostarczenie informacji o adresie IP (kraj, miasto, kod pocztowy, współrzędne, operator telekomunikacyjny itp.) za pośrednictwem REST API na podstawie danych MaxMind GeoLite2 (darmowe) oraz MaxMind GeoIP2 (płatne).
  • Określenie bieżącego adresy IP użytkownika (dostępne przez oddzielny punkt końcowy; parametr ip w głównym punkcie końcowym jest opcjonalny).
  • Konfigurowalne automatyczne aktualizacje baz danych (zarówno z oficjalnych zasobów MaxMind przy użyciu Account ID i License Key, jak i z użytkowników URL z obsługą autoryzacji; możliwość określenia interwału sprawdzania aktualizacji).
  • Interfejs webowy do ręcznego wysyłania zapytań, w tym opcjonalne wsparcie dla wyświetlania na mapie OpenStreetMap.
    Wydanie geoip 0.1.0, realizacja REST API do określania lokalizacji na podstawie IP
  • Dla wszystkich wyników, które zawierają pole timezone, automatycznie generowane jest dodatkowe pole posix_timezone (np. Europe/Paris zamienia się na CET-1CEST,M3.5.0,M10.5.0/3). Zapewnia to automatyczną konfigurację strefy czasowej w urządzeniach wbudowanych (np. ESP32 i innych celach newlib bez wbudowanego tzdata). Ta możliwość jest unikalna i nie występuje w podobnych rozwiązaniach.
  • Automatyczne aktualizacje bazy danych stref czasowych (interwał, źródło i autoryzacja są konfigurowalne; domyślnie używana jest oficjalna strona IANA). Po wyłączeniu aktualizacji stosowana jest baza systemowa.
  • Możliwość pobierania aktualnych archiwów baz danych przez HTTP bezpośrednio z usługi (co pozwala na używanie jednego egzemplarza jako proxy Źródła dla innych i zmniejsza zużycie kwoty MaxMind).
  • Wsparcie dla ochrony punktów końcowych za pomocą opcjonalnego klucza API.
  • Obecność specyfikacji OpenAPI oraz wbudowanego Swagger UI ułatwiającego integrację z własnymi projektami.
  • Dostarczenie gotowego obrazu Docker do szybkiego wdrożenia: 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" \ # opcjonalnie -v geoip_data:/data \ -p 8080:8080 \ ghcr.io/quoi-dev/geoip:latest

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster