GeoSite 提供域名分类,GeoIP 提供 IP 地址段分类;它们是路由规则引用的数据,不是节点订阅。本文适合已经能够连接、但需要更新分流数据或排查网站走错出口的用户。按“确认内核与数据源、更新文件、重启服务、检查规则命中”的顺序操作,比反复更新订阅更有针对性。
两个 dat 文件分别解决什么问题
路由分流可以理解为一张连接分配表:哪些请求直连,哪些交给代理,哪些直接阻止。geosite.dat 和 geoip.dat 是这张表背后的分类资料。文件更新后,分类内容可能改变,但客户端中的规则顺序与出口选择不会自动重写。
| 文件 | 保存的内容 | 规则引用示例 | 使用条件 |
|---|---|---|---|
geosite.dat | 按标签组织的域名条目,可能包含域名、完整域名或正则等匹配类型 | geosite:cn | 内核取得目标域名,且数据源提供对应标签 |
geoip.dat | 按标签组织的 IPv4、IPv6 地址段 | geoip:cn | 目标本身是 IP,或路由策略允许解析域名后匹配 IP |
geosite:cn 的意思是“引用当前 GeoSite 文件里名为 cn 的集合”,不是“匹配所有以 .cn 结尾的域名”。集合可以收录其他后缀的域名,具体范围由数据维护者决定。同样,geoip:cn 是地址段分类,不保证某个网站的业务归属,也不能代替延迟测试。
节点订阅解决的是“连接到哪个服务端、使用什么协议与参数”。Geo 文件解决的是“这个域名或 IP 属于哪一组”。VMess、VLESS 等节点协议与这两个分类文件不是同一层设置,因此更新订阅不等于更新分流数据库。
更新前先确认内核、来源与回退文件
先确认正在使用的数据格式。本文讨论 Xray、V2Fly 使用的传统 dat 路由数据。v2rayNG 使用 Xray 内核,v2flyNG 使用 V2Fly 内核;桌面的 v2rayN 则应以当前配置实际调用的内核为准。若当前配置使用其他规则格式,不能只改扩展名就套用本文方法。
- 记录活动路由。在 v2rayN 的路由设置中记下当前方案、规则顺序及默认出口;安卓端也要记下正在启用的路由模式。更新数据时不要同时更换路由模板。
- 保留已有数据。桌面端停止核心后,备份实际生效位置的两个 dat 文件。安卓端优先使用应用内更新入口,不依靠文件管理器强行修改应用私有目录。
- 核对数据来源。若使用自定义 Geo 更新地址,确认响应确实是二进制数据文件,而不是下载介绍页、登录页面或错误页面。带有
.dat文件名不代表内容一定正确。 - 检查标签兼容。不同数据源的标签不一定相同。规则引用的
cn、private或其他集合必须在所选文件里存在。
v2rayN:更新 Geo 文件并重新加载
v2rayN 不同版本、桌面版与经典界面的菜单布局可能不同。常见入口是主窗口「检查更新」→「更新 Geo 文件」,部分版本会将 GeoIP 与 GeoSite 拆为单独更新项。以下按这个常见入口说明;若菜单名称不同,应找 Geo 数据更新项,而不是用“更新订阅”替代。
-
记录当前配置
记下当前节点、活动路由与核心类型。若准备手动替换,先退出程序并备份原文件;优先尝试客户端自带的更新功能。
-
执行数据更新
打开「检查更新」→「更新 Geo 文件」。若 GeoIP、GeoSite 分开列出,依次更新两项,分别确认结果,不要把其中一项成功视作全部完成。
-
处理下载失败
先确认普通网络与当前代理是否可用。若该版本提供通过代理更新的选项,可在代理已连通后重试;不要在本来不可用的代理上反复下载。
-
重启核心服务
完成更新后重启核心服务。若不确定对应按钮的位置,可从托盘菜单退出 v2rayN,再重新启动程序,避免只关闭窗口而核心仍在后台运行。
-
检查启动结果
打开日志区域,确认没有数据文件读取失败、标签缺失或规则加载失败。保持原路由方案,再进行网站访问测试。
需要手动更新时,不要默认“程序目录下同名文件”就是核心使用的文件。安装方式、核心目录与资源目录设置都可能影响实际位置。先查客户端配置及启动日志中的资源路径;停止核心后替换正确位置的文件,再启动检查。文件名应准确保留为 geoip.dat 和 geosite.dat,避免系统隐藏扩展名后形成重复后缀。
结论:先用内置更新,再排查路径
内置更新提示成功但行为没变时,先检查活动路由和核心重载;只有确认读取路径错误,才进行手动替换。把同一文件复制到多个目录会增加后续定位难度。
v2rayNG:在应用内更新 Geo 资源
v2rayNG 的 Geo 更新入口随版本调整,常见位置在主界面右上角的更多菜单,名称可能显示为「更新 Geo 文件」或「更新 Geo 资源」。有些版本在「路由设置」页面的更多菜单中提供该操作。先查主界面,再查「路由设置」;以当前版本实际显示的 Geo 更新项为准。
-
确认连接方式
保留当前可用节点。若数据源在当前网络无法直接访问,先启动代理连接;更新是否经过代理仍取决于应用设置与实际网络接管范围。
-
打开更新入口
在主界面右上角更多菜单查找 Geo 更新项;若没有,进入「路由设置」→右上角更多菜单查找。不要点击订阅分组的更新按钮代替。
-
等待更新完成
执行更新并留意应用反馈。如果两种文件分别操作,逐一确认。失败时先检查网络与可用存储空间,不要连续点击制造并行任务。
-
停止后再连接
更新完成后,点击主界面连接按钮停止服务,再重新连接,使核心重新加载资源。随后到「路由设置」确认活动规则仍是预期方案。
如果当前安装版本找不到 Geo 更新功能,先在应用的版本信息中记录版本,再核对该版本提供的操作入口,必要时通过客户端下载页选择合适安装包。不要把桌面端文件路径照搬到安卓端,也不要为了替换数据而随意清除应用存储;清除操作可能同时移除节点、订阅与自定义规则。
geosite:cn 与 geoip:cn 应该怎样写
下面是 Xray、V2Fly 风格的路由片段,不是可以独立运行的完整配置。示例先匹配 cn 域名集合,再匹配私有地址及 cn 地址段。direct 必须对应完整配置中实际存在的出站标签;若你的直连出站使用其他名称,应同步替换。
{
"routing": {
"domainStrategy": "IPIfNonMatch",
"rules": [
{
"type": "field",
"domain": [
"geosite:cn"
],
"outboundTag": "direct"
},
{
"type": "field",
"ip": [
"geoip:private",
"geoip:cn"
],
"outboundTag": "direct"
}
]
}
}
规则从前往后检查,先匹配的规则决定出口。上面的域名规则不需要先把域名解析为 IP;后面的 IP 规则是否参与域名请求匹配,则与 domainStrategy 有关。这是路由对象里的字段,不要与 DNS 设置或出站中的同名字段混为一谈。
| 策略 | 域名请求的处理方式 | 排查重点 |
|---|---|---|
AsIs | 路由阶段不主动为 IP 规则解析域名;原本就是 IP 的目标仍能参与 IP 匹配 | 只写 GeoIP 规则,不能保证域名请求命中 |
IPIfNonMatch | 域名未匹配到规则时,尝试解析为 IP 后继续匹配 | 前面的兜底规则可能让解析机会不再出现 |
IPOnDemand | 匹配过程中需要 IP 信息时尝试解析 | 规则顺序和 DNS 结果都可能影响最终出口 |
示例没有写最终兜底出站。完整配置里,请结合默认出站与其他规则明确未命中请求的去向。尤其不要在这些规则前面放一个覆盖全部 TCP、UDP 连接的代理规则,再期待后面的 cn 规则生效。
结论:先检查规则是否有机会命中
某个网站持续走错出口时,先看前面是否已有宽泛规则,再看域名是否进入内核,最后查集合内容。只有最后一项确实过期,更新 dat 文件才是直接修复办法。
更新后如何验证,出现错误怎样回退
验证要同时覆盖核心启动与连接行为。浏览器打开页面成功,只能说明存在可用路径,不能证明它经过了指定出口。页面缓存、连接复用及 DNS 缓存也可能掩盖变化,测试前应重建连接,而不是只刷新同一个页面。
- 第一轮看加载。重启核心后查看日志,检查文件读取和规则初始化是否成功。遇到文件缺失,先查资源路径;遇到标签不存在,查数据源与规则标签的对应关系。
- 第二轮看目标。选择一个你已确认属于目标集合的域名,并记录实际请求的主机名。一个网页可能同时连接多个域名,不能用主页面出口推断全部资源。
- 第三轮看出口。若客户端日志提供路由或出站标签,结合请求时间核对;需要时临时提高日志详细程度,排查后恢复,避免长期记录不必要的访问细节。
- 最后做回退。若更新后核心无法启动,停止服务并恢复原文件;安卓端优先使用应用支持的资源更新方式恢复已知可用来源。恢复后再次重连,暂时不要同时修改 DNS 与路由。
更新订阅了,为什么分流还是没变?
订阅主要更新节点连接配置。请单独执行 Geo 文件更新,并确认当前启用的路由确实引用了这些集合。若路由只有手写域名规则,更新 dat 文件不会改变这些手写条目。
提示某个 geosite 标签不存在,怎么办?
先记录完整标签,例如规则里冒号后面的集合名称,再查当前数据源是否提供它。将规则改为该数据源实际支持的标签,或恢复配套数据源;反复下载同一份文件不能生成缺失的集合。
更新成功,国内网站仍然走代理?
依次检查活动路由、前置兜底规则和目标域名是否可见。若连接只向核心提交 IP,GeoSite 域名规则可能无法参与;此时应检查接入方式及嗅探设置,而不是直接认定 cn 集合失效。
两个文件需要每天更新吗?
不必为了日期变化频繁更新。可以定期维护,并在出现明确的分类变化或数据缺失时更新。每次保留一个已知可用版本,更新后完成启动和出口检查,比只追求最新日期更重要。
处理 Geo 数据问题时,一次只改变一个环节:先换数据,再验证;确需修改规则时,再单独调整规则。把节点、DNS、路由模板和数据源同时更换,即使恢复连接,也难以确认真正原因。需要补齐系统代理、订阅与路由的先后关系,可继续阅读入门指南或查阅术语表。