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 规则按自治域(运营商 / 云服务商)匹配。
为什么两个都需要
访问一个网站时:
- 先用
GEOSITE,cn按域名判断——速度快、不需要解析; - 如果 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 效果相同,习惯上写小写。