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

Новости мира unix. Хотите узнать секрет вечного счастья? Откройте страницу 246.
Ответить
acolyte
Аватара пользователя
Сообщения: 730
Зарегистрирован: 20.08.2022

#

Выпуск geoip 0.1.0, реализации REST API для определения местоположения по IP
Дата публикации:Thu, 04 Dec 2025 21:53:49 +0300

Состоялся первый релиз проекта geoip, реализующего сервис для получения информации о местоположении IP-адресов через REST API. Проект ориентирован на упрощение интеграции GeoIP-функциональности в различные приложения, освобождая разработчика от необходимости самостоятельно управлять обновлениями баз данных и работать с форматом MMDB. Код написан на языке Rust и распространяется под лицензией MIT. Поддерживается работа в Linux и macOS, а также других UNIX-подобных системах.
Основные возможности сервиса:
  • Высокая производительность и низкое потребление памяти, благодаря использованию компилируемого в машинный код языка без сборoщика мусора. Предоставление информации об IP-адресе (страна, город, почтовый индекс, координаты, оператор связи и др.) через REST API на основе данных MaxMind GeoLite2 (бесплатно) и MaxMind GeoIP2 (платно). Определение текущего IP-адреса пользователя (доступно через отдельный эндпойнт; параметр ip основного эндпойнта является необязательным). Настраиваемые автоматические обновления баз данных (как с официальных ресурсов MaxMind с использованием Account ID и Licence Key, так и с пользовательского URL с поддержкой авторизации; возможно указание интервала проверки обновлений). Веб-интерфейс для ручной отправки запросов, включая опциональную поддержку отображения на карте OpenStreetMap.
    Изображение
    Для всех результатов, содержащих поле 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
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=64372

Жизнь за Нер'зула!

Ответить