Модуль подключает к штатной геолокации 1С-Битрикс (Настройки → Настройки продукта → Геолокация) обработчик «Sypex Geo City (локальная база)». Страна, регион и город посетителя определяются по файлу базы на вашем сервере — без запросов к внешним API, без ключей и без ограничений на число запросов.
Какие задачи решает
- Штатный обработчик SypexGeo ходит в онлайн-API: без регистрации доступно 10 000 запросов в месяц, при превышении лимита или недоступности сервиса город перестаёт определяться. С модулем определение работает на сервере и не зависит от внешнего сервиса.
- Автоопределение города в региональности готовых решений (например, Аспро), подстановка местоположения в оформлении заказа модуля «Интернет-магазин» и любой код, использующий \Bitrix\Main\Service\GeoIp\Manager, начинают работать от локальной базы без доработок и правки шаблонов.
Возможности
- Страна, регион, город и координаты на русском и английском языках.
- Поиск занимает сотые доли миллисекунды; база читается с диска частями и не загружается в память целиком.
- Автоматическое обновление: раз в сутки агент проверяет, не вышла ли новая версия базы на sypexgeo.net, и скачивает её только при изменении. Новая база проверяется контрольным поиском и лишь затем заменяет старую — сайт не остаётся без базы.
- Страница настроек: состояние базы (дата сборки, размер, дата последней проверки и загрузки), кнопки «Проверить обновление» и «Скачать заново», проверка любого IP-адреса (ответ локальной базы и итоговый ответ геолокации сайта), порядок опроса обработчиков.
- Установка в два шага: при установке можно сразу скачать базу и (по желанию) отключить штатный онлайн-обработчик SypexGeo. При удалении можно сохранить базу и настройки, а отключённый онлайн-обработчик — включить обратно.
- Работает в многосайтовой конфигурации: геолокация общая для всех сайтов установки.
Особенности и ограничения
- Требования: PHP 8.2 и выше, главный модуль с поддержкой геолокации (\Bitrix\Main\Service\GeoIp), около 40 МБ свободного места в /upload, исходящие HTTPS-запросы к sypexgeo.net для загрузки базы, расширение PHP zip (ZipArchive) для распаковки архива базы.
- База Sypex Geo City загружается с сайта sypexgeo.net (бесплатная база, лицензия BSD) и не входит в архив модуля. Данные посетителей и сайта никуда не передаются: модуль только скачивает файл базы.
- Поддерживаются IPv4-адреса. IPv6 и локальные адреса не определяются — для них геолокация передаётся следующему обработчику в списке.
- Точность определения по IP ограничена самой технологией: у мобильного интернета и некоторых провайдеров город может определяться по месту их узла (часто Москва).
- Код модуля открыт, закодированных частей нет. Дополнительные платные сервисы и модули не нужны.
- Модуль прошёл проверку по методике marketplace-security-skills 1С-Битрикс: security-journal.json со статусом ready_for_submission.