GeoIP и Geosite в правилах маршрутизации
Geosite сопоставляет домены, GeoIP — диапазоны IP. Это разные базы, а не взаимозаменяемые справочники стран.
Стандартные файлы
geosite.dat поступает из domain-list-community, geoip.dat — из v2fly/geoip. Управление: Дополнительно → Xray → данные маршрутизации. Обновляются вместе.
| Назначение | Домены | IP |
|---|---|---|
| Частные/локальные | geosite:PRIVATE | geoip:PRIVATE |
| Материковый Китай | geosite:CN | geoip:CN |
| Apple | geosite:APPLE | В этом рецепте не требуется |
| Microsoft | geosite:MICROSOFT, geosite:BING | Не требуется |
| Исключение GitHub | geosite:GITHUB | Не требуется |
| Реклама | geosite:CATEGORY-ADS-ALL | Не требуется |
Не создавайте geosite:WINDOWS или geosite:OFFICE; рецепт использует Microsoft/Bing.
Код страны не гарантирует одноимённую Geosite-категорию. Для России домены соответствуют CATEGORY-RU, IP — RU. Снимок сопоставления регионов отражает карту приложения, а не гарантирует категории во всех установленных/будущих DAT. У многих стран есть только IP.
Окончательный источник — список категорий/автодополнение установленного файла. Не угадывайте категорию по имени файла и не придумывайте URL.
Собственные файлы
Используйте ext:filename.dat:category в подходящем доменном/IP-поле. Безопасные имена .dat, плоская директория, без родительских путей и подпапок.
Полный Custom может включать следующий фрагмент; сам по себе это не импортируемая конфигурация:
{
"geodata": {
"assets": [
{
"file": "company-domains.dat",
"url": "https://rules.example.com/company-domains.dat"
}
]
}
}URL — заглушка. Получите настоящий HTTPS файл и категорию. Только file/url; не перечисляйте стандартные geosite.dat/geoip.dat и не переобъявляйте их собственными ресурсами.
Custom загружает объявленные зависимости; каждый файл должен использоваться в поддерживаемом смысловом поле. Кроме routing, продвинутый Custom проверяет ключи DNS hosts, домены и ожидаемые/неожидаемые IP серверов, исключения sniffing и домены правил DNS outbound. Произвольные строки, например пароли, не считаются зависимостями. Конфликт имён отклоняется без перезаписи. Перед хранением geodata удаляется; при обмене зависимости восстанавливаются по зарегистрированным собственным источникам, включая ожидающие загрузки после восстановления копии. Запись источника не доказывает наличие файла или категории.
Raw отличается: обычный Raw JSON не загружает файлы по корневому geodata.assets. Сначала установите их через данные маршрутизации либо используйте обмен Raw в приложении: отдельные App Links /dat/add рядом со ссылкой конфигурации. Экспорт Raw сохраняет исходник, runtime удаляет корневой geodata. Не обещайте загрузку зависимостей Raw добавлением этого поля. См. обмен.
Восстановление копии отличается от импорта
Копия конфигураций содержит метаданные источников, а не файлы. Восстановление повторно использует совпадающие исправные локальные файлы, остальные источники отмечает ожидающими загрузки, не скачивая их. Записи можно восстановить без интернета, но маршрут с отсутствующим файлом не запустится до установки данных. Не удаляйте зависимость ради подключения.
Обновления
Автоматическое обновление Geodata — только при подключённом VPN. Запуск, возврат на экран и таймер в отключённом состоянии не скачивают файлы. Ошибка сохраняет старые данные и не меняет состояние VPN/не переподключает.
Ручное обновление и загрузка зависимостей импорта независимы. Для проверки/запуска нужные локальные файлы уже должны существовать; отсутствие — ошибка, не скачивание через ещё не запущенный VPN. Категории upstream могут меняться.
Управление данными · Диагностика
Использование данных в маршруте
Выбирайте существующие категории для JSON собственного маршрута. Для полного Raw JSON подготовьте нужные файлы до запуска. Управляйте их загрузкой отдельно на странице Geodata.