Clash 中文网搜索

GeoIP 与 GeoSite 是什么?Clash 地理数据库详解(含更新与常用分类)

Clash 中文网编辑部 · 更新于 2026/10/22

GeoIP 和 GeoSite 是 Clash / Mihomo 内置分流规则依赖的两个数据库:GeoIP 记录“IP 属于哪个国家”,GeoSite 记录“域名属于哪个分类”。 规则 GEOIP,CN,DIRECT 和 GEOSITE,cn,DIRECT 就是靠它们来判断国内流量的。数据库需要定期更新,否则新出现的网站可能分流错误。

两者的区别

GeoIP GeoSite
判断依据 目标 IP 地址 目标域名
内容 每个国家 / 地区的 IP 段 按服务、地区分类的域名列表
规则写法 GEOIP,CN,DIRECT GEOSITE,cn,DIRECT
是否需要 DNS 解析 目标是域名时需要先解析(可加 no-resolve 跳过) 不需要
文件 geoip.dat 或 country.mmdb / geoip.metadb geosite.dat

另外还有 GeoLite2-ASN.mmdb,供 IP-ASN 规则按自治域(运营商 / 云服务商)匹配。

为什么两个都需要

访问一个网站时:

  1. 先用 GEOSITE,cn 按域名判断——速度快、不需要解析;
  2. 如果 GeoSite 没收录这个域名,再用 GEOIP,CN 按解析出的 IP 判断——服务器在国内就直连。

两者配合,覆盖面最全。

文件格式

文件 格式 说明
geoip.dat V2Ray dat 支持更多分类(如 private、telegram)
country.mmdb MaxMind mmdb 只按国家代码
geoip.metadb Meta 格式 Mihomo 专用的合并格式
geosite.dat V2Ray dat 域名分类
GeoLite2-ASN.mmdb mmdb ASN 数据

geodata-mode 决定 GeoIP 使用哪种文件:

geodata-mode: true    # true:使用 geoip.dat;false:使用 mmdb

使用 geoip.dat 时,GEOIP 规则可以使用更多分类,例如 GEOIP,private、GEOIP,telegram。

常用 GeoSite 分类

分类 内容
cn 中国大陆常见网站
geolocation-cn 中国大陆网站(另一种划分)
geolocation-!cn 非中国大陆网站
private 局域网、私有域名
category-ads-all 广告域名
google、youtube、github 对应服务
telegram、twitter、facebook 社交平台
openai、anthropic AI 服务
netflix、disney、spotify 流媒体
apple、microsoft 系统服务
steam、epicgames 游戏平台

完整分类以 MetaCubeX/meta-rules-dat 中的文件为准。

属性写法

GeoSite 分类中的部分域名带有属性标签,可以用 @ 筛选:

rules:
  - GEOSITE,apple@cn,DIRECT          # 苹果在中国大陆有服务器的域名直连
  - GEOSITE,category-games@cn,DIRECT # 游戏类中的国内域名

使用示例

rules:
  - GEOSITE,private,DIRECT
  - GEOIP,private,DIRECT,no-resolve
  - GEOSITE,category-ads-all,REJECT
  - GEOSITE,openai,美国节点
  - GEOSITE,apple@cn,DIRECT
  - GEOSITE,cn,DIRECT
  - GEOIP,CN,DIRECT,no-resolve
  - MATCH,节点选择

数据库从哪来、怎么更新

Mihomo 默认使用 MetaCubeX 维护的 meta-rules-dat 数据集。相关配置:

geodata-mode: true          # GeoIP 使用 dat 格式
geodata-loader: standard    # 低内存设备可改为 memconservative
geo-auto-update: true       # 自动更新
geo-update-interval: 24     # 更新间隔(小时)
geox-url:
  geoip: "https://testingcf.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/geoip.dat"
  geosite: "https://testingcf.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/geosite.dat"
  mmdb: "https://testingcf.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/country.mmdb"
  asn: "https://testingcf.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/GeoLite2-ASN.mmdb"
配置 说明
geodata-loader standard 标准加载;memconservative 节省内存,适合路由器等低配设备
geo-auto-update 是否自动更新
geo-update-interval 更新间隔(小时)
geox-url 各数据库下载地址,上例为 jsDelivr CDN,GitHub 访问困难时更容易成功

在客户端中更新

客户端 方法
Clash Verge Rev 「设置 → Clash 设置 → 更新 GeoData」
FlClash 「资源」页,可开启「Geo 低内存模式」
Clash Meta for Android 「设置 → Meta 特性 → GeoX 链接设置」,或导入数据库文件
Clash Party 「外部资源」中的 GeoIP / GeoSite / MMDB / ASN,可设置自动更新与间隔
Mihomo 面板 配置页的更新 GeoData 按钮

问题排查

现象 原因与解决
国内网站走了代理 数据库过旧或未收录:更新 GeoData,或添加 DOMAIN-SUFFIX,域名,DIRECT
首次启动卡住 / 报错下载失败 无法访问 GitHub:设置 CDN 的 geox-url,或手动放置数据库文件
GEOIP,private 无效 使用的是 mmdb(geodata-mode: false),改为 true 或用 IP-CIDR 规则
内存占用高 使用 geodata-loader: memconservative,或改用 mrs 格式的规则集合
分类名不存在报错 分类拼写错误,对照 meta-rules-dat 的分类列表

GeoSite 与规则集合怎么选

GEOSITE RULE-SET(规则集合)
数据来源 一个大数据库文件 每类一个小文件
更新 整体更新 按需单独更新
内存 加载整个数据库 只加载用到的
灵活性 依赖已有分类 可以使用任意第三方规则

两者可以混用。追求低内存的设备可以优先使用 mrs 格式的规则集合,见 代理集合与规则集合。

相关教程

常见问题

为什么有些国内网站走了代理?

可能是 GeoSite / GeoIP 数据库过旧,没有收录该网站。先更新 GeoData;仍有问题可以给该域名添加 DIRECT 规则。

GeoData 下载失败怎么办?

首次启动时内核需要从 GitHub 下载数据库,网络不通会失败。可以在 geox-url 中换成 CDN 镜像地址,或手动下载文件放到工作目录。

GEOSITE,cn 和 GEOIP,CN 都要写吗?

建议都写。GEOSITE,cn 按域名判断,不需要 DNS 解析;GEOIP,CN 兜底处理 GeoSite 没有收录、但服务器在国内的网站,以及直接用 IP 访问的连接。

GeoSite 分类名区分大小写吗?

不区分,GEOSITE,CN 与 GEOSITE,cn 效果相同,习惯上写小写。