Xray и V2Ray используют бинарные геоданные для маршрутизации по группам IP-сетей и доменов. Название geoip.dat не означает, что файл обязан содержать только страны: тот же контейнер может хранить собственные теги выбранных сервисов. Аналогично geosite.dat может содержать тематические доменные группы.
Эти файлы дополняют друг друга. Домен может менять адреса, а общий CDN-адрес способен обслуживать разные сайты, поэтому выбор только одного уровня зависит от вашей задачи и стратегии DNS.
Кодирование выполняется локальным protobuf-кодеком PHP. Внешний конвертер не вызывается. Теги строятся из имён выбранных сервисов и групп, приводятся к верхнему регистру и включаются в один файл.
Официальный синтаксис Xray позволяет обращаться к доменному тегу как ext:custom-geosite.dat:TAG. Для IP используются ext:custom-geoip.dat:TAG или ext-ip:custom-geoip.dat:TAG. Файл должен находиться в каталоге ресурсов, а указанный тег — существовать внутри него.
{
"type": "field",
"domain": ["ext:custom-geosite.dat:VIDEO"],
"outboundTag": "selected-outbound"
}
Имя outbound в примере условное. Не копируйте его без проверки своей конфигурации и порядка routing rules: Xray применяет первое подходящее правило.
Suffix соответствует домену и его поддоменам и обычно является безопасным выбором для обычного перечня. Full требует точного совпадения. Keyword и regex меняют смысл исходных строк и нужны только для специально подготовленных наборов.
В отличие от текстовых и SRS-выгрузок, DAT — единый protobuf-контейнер с кодами и вложенными значениями. Деление готового файла на байтовые или строковые части разрушило бы структуру. Если DAT получается слишком большим, сузьте выбор групп и сервисов либо создайте несколько отдельных файлов разными запросами.
Актуальный синтаксис и порядок сопоставления сверяйте с официальной документацией Xray Routing. После замены файла проверьте запуск ядра и несколько ожидаемых совпадений, а не только наличие файла на диске.
geoip.dat содержит IP-адреса и CIDR, а geosite.dat — доменные правила. Они применяются в разных полях маршрутизации и не заменяют друг друга.
Для внешнего файла Xray использует форму ext:file:tag для доменов и ext:file:tag либо ext-ip:file:tag для IP. Тег должен реально присутствовать в DAT.
DAT содержит общий protobuf-контейнер и таблицу тегов. Простое деление по строкам создаст повреждённые файлы, поэтому генератор собирает каждый DAT целиком.
Материал подготовлен редакцией 3check.ru. Проверяйте актуальные значения по первичным источникам; принципы диагностики описаны в методологии.