Geo-данные — Xray-core
geodata — блок верхнего уровня, который автоматически поддерживает в актуальном состоянии внешние файлы данных Xray — geoip.dat и geosite.dat, лежащие в основе правил маршрутизации и DNS вида geoip: / geosite:. Каждый ресурс скачивается с HTTPS-адреса url в локальный файл file, опционально по расписанию cron и через выбранный исходящий outbound.
Параметры
| Поле | Тип | По умолчанию | Допустимые значения | Описание |
|---|---|---|---|---|
cron | *string | (no schedule) | <cron expression> | Стандартное cron-выражение из 5 полей, задающее частоту обновления ресурсов. Опустите его, чтобы отключить обновления по расписанию. |
outbound | string | (default routing) | <outbound tag> | Тег исходящего, через который скачиваются ресурсы, — так обновления могут идти через прокси, а не напрямую. |
assets | []*GeodataAssetConfig | [] | [GeodataAssetConfig] | Ресурсы, которые нужно скачивать и поддерживать в актуальном состоянии. |
Исходный код: infra/conf/geodata.go:42-46 · зафиксировано на v26.7.28 (5ca6f4b)
assets[]
| Поле | Тип | По умолчанию | Допустимые значения | Описание |
|---|---|---|---|---|
url | string | (required) | https://… | URL источника. Обязательно HTTPS — любая другая схема отклоняется на этапе сборки конфигурации. |
file | string | (required) | <file name> | Локальный файл ресурса, в который выполняется запись и из которого идёт загрузка. Должен находиться на пути поиска ресурсов Xray. |
Исходный код: infra/conf/geodata.go:13-16 · зафиксировано на v26.7.28 (5ca6f4b)
Пример
Обновлять geoip.dat и geosite.dat каждый день в 04:00, скачивая их через исходящий proxy:
json
{
"geodata": {
"cron": "0 4 * * *",
"outbound": "proxy",
"assets": [
{
"url": "https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geoip.dat",
"file": "geoip.dat"
},
{
"url": "https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geosite.dat",
"file": "geosite.dat"
}
]
}
}Примечания
urlобязан использовать HTTPS; любая другая схема приводит к ошибке на этапе сборки конфигурации.fileдолжен находиться на пути поиска ресурсов Xray (каталог рядом с исполняемым файлом или путь, заданный переменнойXRAY_LOCATION_ASSET). Это те же имена файлов, которые загружают правилаgeoip:/geosite:.cronиспользует стандартный cron-синтаксис из 5 полей; некорректное выражение — ошибка при запуске. Опуститеcron, чтобы отключить обновление по расписанию.- Категории внутри этих файлов (
cn,private,apple, …) управляют маршрутизацией — см. страницу Маршрутизация.
Сравнение с другими ядрами
- mihomo настраивает аналог через блок верхнего уровня
geox-url(URL ресурсов) вместе сgeo-auto-update/geo-update-interval. См. GeoX URL — mihomo. - sing-box загружает наборы правил по требованию через
route.rule_setвместо поддержания файлов.dat, поэтому прямого аналога у него нет.
Исходный код: infra/conf/geodata.go:13-46 · v26.7.28 (5ca6f4b)
