Skip to content

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 полей, задающее частоту обновления ресурсов. Опустите его, чтобы отключить обновления по расписанию.
outboundstring(default routing)<outbound tag>Тег исходящего, через который скачиваются ресурсы, — так обновления могут идти через прокси, а не напрямую.
assets[]*GeodataAssetConfig[][GeodataAssetConfig]Ресурсы, которые нужно скачивать и поддерживать в актуальном состоянии.

Исходный код: infra/conf/geodata.go:42-46 · зафиксировано на v26.7.28 (5ca6f4b)

assets[]

ПолеТипПо умолчаниюДопустимые значенияОписание
urlstring(required)https://…URL источника. Обязательно HTTPS — любая другая схема отклоняется на этапе сборки конфигурации.
filestring(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)

Core Tutorial от Argsment