Версия geoip 0.1.0, реализация на REST API за определяне на местоположението по IP

Състоя се първият релийз на проекта geoip, реализиращ услуга за получаване на информация за местоположението на IP адреси чрез REST API. Проектът е насочен към опростяване на интеграцията на GeoIP функционалността в различни приложения, освобождавайки разработчиците от необходимостта да управляват сами актуализациите на базите данни и да работят с формата MMDB. Кодът е написан на езика Rust и се разпространява под MIT лиценз. Поддържа работа в Linux и macOS, както и в други UNIX-подобни системи.

Основни възможности на услугата:

  • Висока производителност и ниско потребление на памет, благодарение на използването на компилиран към машинен код език без събирател на боклук.
  • Предоставяне на информация за IP адреса (страна, град, пощенски код, координати, оператор на свързване и др.) чрез REST API на базата на данни MaxMind GeoLite2 (безплатно) и MaxMind GeoIP2 (платно).
  • Определяне на текущия IP адреси потребител (достъпно чрез отделна крайна точка; параметър ip на основната крайна точка е незадължителен).
  • Настройваеми автоматични актуализации на бази данни (както от официалните ресурси на MaxMind с използването на Account ID и Licence Key, така и от потребителски URL с поддръжка на удостоверяване; възможно е задаване на интервал на проверка на актуализациите).
  • Уеб интерфейс за ръчно изпращане на заявки, включително опционална поддръжка за показване на картата OpenStreetMap.
    Версия geoip 0.1.0, реализация на REST API за определяне на местоположението по IP
  • За всички резултати, съдържащи поле timezone, автоматично се формира допълнителното поле posix_timezone (например, Europe/Paris се преобразува в CET-1CEST,M3.5.0,M10.5.0/3). Това осигурява автоматична конфигурация на часовия пояс на вградени устройства (например, ESP32 и други мишени newlib без вградена tzdata). Тази функция е уникална и отсъства в аналогични решения.
  • Автоматично обновление на базата данни за часовите пояси (интервал, източник и удостоверяване са настраиваеми; по подразбиране се използва официалния сайт на IANA). При деактивиране на актуализациите се използва системната база.
  • Възможност за изтегляне на актуални архиви на бази данни по HTTP директно от услугата (което позволява използването на един екземпляр като прокси източник за други и намалява разхода на квотата на MaxMind).
  • Поддръжка на защита на крайните точки чрез опционален API ключ.
  • Наличие на OpenAPI спецификация и вградения Swagger UI за улеснение на интеграцията с вашите проекти.
  • Предоставяне на готов Docker образ за бързо разгръщане: 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" \ # незадължителен -v geoip_data:/data \ -p 8080:8080 \ ghcr.io/quoi-dev/geoip:latest

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster