Happ VPN

GEO-файлы: GeoIP и GeoSite в Happ

Автор
Екатерина Лебедева, редактор раздела knowledge base
Проверил:
Артём Волков
Проверено:
Опубликовано:
, обновлено
Версия гайда:
1.0

Коротко

geoip.dat и geosite.dat — базы данных с привязкой IP-адресов и доменов к странам и категориям сервисов. Happ поставляется с предустановленными geo-файлами из репозитория Loyalsoldier/v2ray-rules-dat и использует их в профиле маршрутизации через категории вида geosite:название и geoip:код.

Профиль маршрутизации ссылается не на отдельные адреса, а на целые категории из geo-файлов, поэтому один пункт списка вроде geosite:google охватывает сразу множество доменов сервиса. Актуальность самих файлов поддерживается вместе с обновлением ядра внутри приложения, а ссылки на них в профиле можно заменить на свои. Отдельная функция useChunkFiles вырезает из geo-файлов только нужные по тегам профиля секции — это экономит память на устройствах со строгими ограничениями. Если загрузка geo-файлов не укладывается в отведённое время, Happ показывает ошибку и помечает проблемный профиль восклицательным знаком.

Что за файлы geoip.dat и geosite.dat

GeoIP — база соответствий диапазонов IP-адресов странам и отдельным сервисам. GeoSite — похожая база, но для доменных имён, сгруппированных по категориям. Happ поставляется с предустановленными файлами обоих типов, поэтому приложение готово к работе сразу после установки, без отдельного шага «скачать базы».

По умолчанию оба файла берутся из репозитория Loyalsoldier/v2ray-rules-dat, а их актуальность обновляется вместе с обновлением ядра внутри приложения. Ссылки на источники этих файлов — поля Geoipurl и Geositeurl — прописаны в каждом профиле маршрутизации и при желании их можно заменить на свои.

Как их использует профиль маршрутизации

В списках DirectSites, ProxySites и BlockSites профиля можно указать не только конкретный домен, но и целую категорию из geo-файла — например geosite:google для сервисов Google или geoip:cn для диапазонов адресов, зарегистрированных в Китае. Один такой пункт может охватывать тысячи адресов или доменов сразу.

Это удобнее, чем перечислять каждый ресурс отдельно, но и менее точечно: список внутри категории зависит от того, что в неё включили составители базы, а не от настроек самого Happ.

Урезанные GEO-файлы

Полные geo-файлы занимают заметный объём, и на устройствах со строгими лимитами памяти это может стать проблемой — например у Apple TV лимит памяти туннеля составляет около 50 МБ, и превышение может привести к его аварийному завершению. Функция useChunkFiles решает это иначе: она вырезает из geo-файлов только секции с тегами, которые действительно упомянуты в активном профиле маршрутизации, и передаёт ядру уже урезанный файл вместо полного.

Если конфигурация сервера передана в виде JSON, нарезка секций всё равно опирается на теги профиля маршрутизации, а не на содержимое самого JSON-файла — стоит убедиться, что теги совпадают.

Если загрузка не завершилась

Загрузкой geo-файлов занимается фоновый менеджер. Если она не укладывается в 3 минуты, процесс останавливается: на главном экране появляется сообщение об ошибке, а рядом с проблемным профилем в списке — красный восклицательный знак. Состояние сбрасывается только после успешной загрузки файлов или удаления проблемного профиля.

Причины такого сбоя и пошаговые решения для конкретной платформы — на страницах ошибка загрузки GEO-файлов, решение для Windows и решение для Android.

Главное

  • geoip.dat и geosite.dat по умолчанию берутся из репозитория Loyalsoldier/v2ray-rules-dat и предустановлены в приложении с первого запуска.
  • В профиле маршрутизации значения вида geosite:категория и geoip:код указывают на целые группы доменов или IP-адресов, а не на один адрес.
  • Функция useChunkFiles вырезает из geo-файлов только секции с нужными тегами — это помогает на устройствах с ограниченной памятью, например на iOS.
  • Если загрузка geo-файлов не завершается за 3 минуты, процесс останавливается, а рядом с профилем появляется красный восклицательный знак.
  • Проблемное состояние профиля с geo-файлами снимается только после успешной загрузки или удаления самого профиля.

Частые вопросы

Можно ли использовать свои geo-файлы вместо стандартных?

Да, поля Geoipurl и Geositeurl в профиле маршрутизации можно заменить на любые другие ссылки, если файл по ним имеет совместимый с Xray-core формат .dat. Это удобно, если нужны более узкие или, наоборот, более полные списки категорий, чем в стандартном репозитории Loyalsoldier. После смены ссылок Happ скачает файлы заново при следующем сохранении профиля или его принудительном обновлении.

Что если geosite:название не покрывает нужный сайт?

Значит, конкретный домен не попал в эту категорию у составителей базы geosite.dat, и точность зависит от актуальности самого файла, а не от настроек Happ. В таком случае домен можно добавить в список DirectSites, ProxySites или BlockSites профиля маршрутизации отдельной строкой — это сработает независимо от того, есть он в категории geosite или нет.

Зачем нужна функция useChunkFiles?

Полные geoip.dat и geosite.dat занимают заметный объём памяти, а на устройствах со строгими ограничениями, например на iOS с лимитом памяти туннеля около 50 МБ, загрузка полного файла может привести к падению ядра при старте. useChunkFiles вырезает из geo-файлов только те секции, теги которых реально используются в текущем профиле маршрутизации, и передаёт ядру уже урезанный файл.

Что произойдёт, если у меня подписка с JSON-конфигурацией и включён useChunkFiles?

Нарезка секций в этом случае всё равно опирается на теги профиля маршрутизации, а не на содержимое самого JSON-файла. Если теги в вашем профиле не совпадают с тегами, которые использует JSON-конфигурация провайдера, часть правил внутри JSON может не найти нужную секцию geo-файла. Разбор JSON-конфигураций и того, что в них остаётся под управлением Happ, — на отдельной странице.

Как понять, что именно у меня не загрузились geo-файлы?

На главном экране появится сообщение об ошибке, а в списке профилей маршрутизации рядом с проблемным профилем — красный восклицательный знак. Это состояние держится до тех пор, пока загрузка не завершится успешно или проблемный профиль не будет удалён; если в списке не осталось других проблемных профилей, уведомление об ошибке исчезает само. Разбор причин и решений — на странице «Ошибка загрузки GEO-файлов».

Упомянутые темы

Разделы по теме

Источники

  1. Документация Happ: маршрутизация — обращение 28 сентября 2026
  2. Документация Happ: ошибки — обращение 28 сентября 2026
  3. Loyalsoldier/v2ray-rules-dat на GitHub — обращение 27 сентября 2026