Skip to content

Geodata — Xray-core

geodata 是一个顶层块,用于让 Xray 的外部数据文件 —— geoip.datgeosite.dat,即 geoip: / geosite: 路由和 DNS 规则背后的文件 —— 自动保持更新。每个资源从 HTTPS url 下载到本地 file,可选地按 cron 计划并经选定的 outbound 进行。

选项

字段类型默认值允许值描述
cron*string(no schedule)<cron expression>标准 5 字段 cron 表达式,控制资源刷新的频率。省略则禁用计划更新。
outboundstring(default routing)<outbound tag>用于下载资源的出站 tag,从而让更新走代理而非直连。
assets[]*GeodataAssetConfig[][GeodataAssetConfig]要抓取并保持更新的资源。

源码: infra/conf/geodata.go:42-46 · 锚定版本 v26.6.1 (94ffd50)

assets[]

字段类型默认值允许值描述
urlstring(required)https://…来源 URL。必须是 HTTPS —— 任何其他协议都会在配置构建时被拒绝。
filestring(required)<file name>要写入并加载的本地资源文件。必须能在 Xray 的资源搜索路径上解析到。

源码: infra/conf/geodata.go:13-16 · 锚定版本 v26.6.1 (94ffd50)

示例

每天 04:00 刷新 geoip.datgeosite.dat,经 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 使用标准 5 字段 cron 语法;无效表达式属于启动错误。省略 cron 以禁用计划刷新。
  • 这些文件内部的类目(cnprivateapple 等)驱动路由 —— 参见 Routing 页面。

跨内核说明

  • 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.6.1 (94ffd50)

由 Argsment 出品的 Core Tutorial