The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

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

04.12.2025 21:53

Состоялся первый релиз проекта 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
    


  1. Главная ссылка к новости (https://github.com/quoi-dev/ge...)
  2. OpenNews: Mozilla закрывает общедоступный сервис определения местоположения
  3. OpenNews: Выпуск zeronet-conservancy 0.7.8, платформы для децентрализованных сайтов
  4. OpenNews: Представлен gps-share, инструмент для организации совместного доступа к GPS
  5. OpenNews: Выпуск GeoClue 2.3.0, фреймворка для определения местоположения
Автор новости: KivApple
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/64372-geoip
Ключевые слова: geoip
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (22) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, Аноним (2), 22:19, 04/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А как технически это устроено? Мне нужен список, хватит качества cidr и страна.
     
     
  • 2.3, Аноним (2), 22:19, 04/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Другие поля не обязательны.
     
  • 2.4, Аноним (4), 22:28, 04/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Есть несколько баз GeoIP. MaxMind одна из самых популярных. У MaxMind есть платная база (получше) и бесплатная (похуже). Если что, они с РФ вообще не хотят работать, даже бесплатные базы не дают. Блокируют по GeoIP, да.

    Альтернативы:
    https://github.com/sapics/ip-location-db
    https://ipapi.is/geolocation.html
    Ну и еще на гитхабе есть всякие проекты, которые перераздают MaxMind в разных видах.

    Если вы оператор, то РКН бесплатно раздает GeoIP базы в формате MaxMind.

     
     
  • 3.17, Аноним (-), 00:59, 05/12/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > они с РФ вообще не хотят работать, даже бесплатные базы не дают
    > РКН бесплатно раздает GeoIP базы в формате MaxMind

    Т.е. РКН по заветам верховного просто цап-царап?
    Не то чтобы я был сильно удивлен, но все-таки...

    Или речь идет про базы, которые РКН сам насобирал?

     
     
  • 4.20, Аноним (4), 01:22, 05/12/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Не знаю, откуда берет базы РКН. По их утверждению, базы РКН для России лучше и полнее чем у MaxMind.
    На самом деле все эти базы с дефектами - у части адресов неправильное гео, часть адресов не входит в базы. Например, некоторые российские операторы покупали CIDR-блоки через европейские компании, а пользуются ими в РФ. И так происходит по всему миру.

    Мне кажется лучший способ собирать GeoIP - это быть гигантом вроде поисковой машины, на которую все ходят. Там можно увидеть соответствие языка браузера с IP адресом и на больших числах получить более-менее корректную базу (совместив с другими источниками типа AS).
    Возможно, РКН берет что-то у Яндекса. Но это предположение, может быть и не берут.

    Формат очевидно выбрали потому что большинство софта умеет работать с MaxMind форматом. Зачем еще что-то изобретать.

     
  • 3.22, Аноним (2), 02:57, 05/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Есть несколько баз GeoIP. MaxMind одна из самых популярных.

    А откуда они эти адреса сами берут?

     
     
  • 4.30, BJ (ok), 09:49, 05/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Галочку на телефонах "поделится аналитикой" видели? Вот это оно.
     

  • 1.5, Птичкомуж (?), 22:33, 04/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Нет, это не для слежки. Открытый проект. Я уже поделился с ними всеми своими IP. Задонатить не могу, потому что моя валюта плохо конвертируется в ихнюю, но чем могу..
     
     
  • 2.23, Аноним (23), 04:33, 05/12/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Как будто открытый проект не может быть для слежки!
     
     
  • 3.28, Надгробный (?), 09:27, 05/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Конечно не может. Открытый - значит Свобода!
     

  • 1.6, Sadok (ok), 23:51, 04/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    непонятно, на кой фиг это надо в ХаХаИ веке. все под впнами сидят
     
     
  • 2.7, 12yoexpert (ok), 00:09, 05/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    вообще-то никто не сидит
     
     
  • 3.9, Sadok (ok), 00:12, 05/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > вообще-то никто не сидит

    даже если и так. какой диапазон ip выделен твоему хутору?

     
     
  • 4.10, 12yoexpert (ok), 00:14, 05/12/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    не знаю, у местных провайдеров бесплатные белые v4 и v6, включаются в личных кабинетах

    из каких там телеграм-помоек орут про дефицит v4 - ума не приложу

     
     
  • 5.13, Птичкомуж (?), 00:20, 05/12/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ты переписал комментарий.
    А почему "включаются"? Должны быть изначально включены, как бесплатная услуга.
     
  • 5.24, Аноним (23), 04:34, 05/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    У моего провайдера нет белых в4. В6 случайные и обновляются раз в сутки.
     
     
  • 6.25, 12yoexpert (ok), 05:47, 05/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    чемодан, вокза, цивилизация
     
     
  • 7.29, Надгробный (?), 09:30, 05/12/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 5.27, Аноним (27), 07:39, 05/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > v4 - ума не приложу

    если это правда:
    - в свое время Вашему хутору выделили сильно больше "белых v4" IP чем требовалось.
    - бесплатный "белый v4" IP это промо-акция.
    - Вы VIP или поставщик контента.

     

  • 1.21, Аноним (21), 01:23, 05/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Как он работает за прокси серверами?

    У echoip есть ключик -H "Header to trust for remote IP, if present (e.g. X-Real-IP)".

    Ещё бы проверку порта и опции по v4/6 и можно думать о переезде.

    Спасибо и успехов!

     
  • 1.26, Аноним (27), 07:00, 05/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Сегментация ПО по регионам. Для одних одно обновление - для других другое.
     
  • 1.31, Аноним (31), 10:39, 05/12/2025 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2025 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру