Clash GeoIP和GeoSite数据库使用指南:精准分流的基础

立即下载Clash入门 全平台支持 · 官方最新版

Clash GeoIP和GeoSite数据库使用指南

在 Clash 的分流规则体系中,除了基于域名和关键词的规则外,GeoIP 和 GeoSite 是实现大规模、自动化分流的两大利器。它们让配置者无需手动维护成千上万条规则,只需依靠成熟的数据库即可完成精准的国内外流量分流。本文将深入讲解这两项技术的原理、数据源选择以及实战配置方法。

GeoIP与GeoSite的基本概念

什么是GeoIP

GeoIP 是一种根据 IP 地址判断其所属地理位置的技术。在 Clash 中,GeoIP 数据库通常包含以下信息:

Clash 规则中常见的 GEOIP,CN,DIRECT 就是利用 GeoIP 数据库,将目标 IP 位于中国的流量直接连接。

什么是GeoSite

GeoSite 则是根据域名判断其所属类别或服务类型的数据库。与 GeoIP 基于 IP 不同,GeoSite 基于域名规则,常见分类包括:

通过 GeoSite,可以实现“所有大陆网站直连、所有海外网站走代理”这样简洁而高效的规则。

两者的核心区别

对比维度 GeoIP GeoSite
判断依据 目标 IP 地址 目标域名
适用阶段 域名解析后的连接阶段 域名解析前的规则匹配阶段
精度特点 对 IP 归属判断准确 对服务类型分类准确
主要用途 兜底分流、IP 归属判断 精细化分流、按服务类型路由
典型规则 GEOIP,CN,DIRECT GEOSITE,cn,DIRECT

常用GeoIP/GeoSite数据源

Loyalsoldier分支

目前国内 Clash 用户最常用的数据源是 Loyalsoldier 维护的 v2ray-rules-dat 项目,特点包括:

ACL4SSR

ACL4SSR 是国内另一个知名的规则项目,主要提供:

官方v2fly数据库

v2fly 社区维护的数据库更加国际化,特点:

如何选择

选择数据源时可以考虑以下因素:

  1. 更新频率:数据越新,分流效果越好
  2. 覆盖范围:是否包含你常用的服务和网站
  3. 分类粒度:是否需要广告过滤、流媒体解锁等专项分类
  4. 内核兼容性:确认数据库格式与当前 Clash 内核匹配

在Clash中配置GeoIP和GeoSite

基本规则写法

在 Clash 配置文件的 rules 部分,可以这样使用:

rules:
  # GeoSite 规则:中国大陆域名直连
  - GEOSITE,cn,DIRECT
  # GeoSite 规则:常见广告域名拒绝
  - GEOSITE,category-ads,REJECT
  # GeoIP 规则:中国大陆 IP 直连
  - GEOIP,CN,DIRECT
  # 兜底规则:其他全部走代理
  - MATCH,PROXY

数据库路径配置

默认情况下,Clash 会自动下载并使用内置的数据库。但如果你希望使用自定义数据库,可以在配置中指定:

geodata-mode: true
geox-url:
  geoip: "https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/geoip.dat"
  geosite: "https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/geosite.dat"

在Clash Meta/Mihomo中的增强配置

新版 Mihomo 内核支持更灵活的数据库配置:

geox-url:
  geoip: "https://fastly.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/geoip.dat"
  geosite: "https://fastly.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/geosite.dat"
  mmdb: "https://fastly.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/geoip.metadb"

geo-auto-update: true
geo-update-interval: 24

上述配置表示:

GeoIP与GeoSite分流策略实战

策略一:简洁的国内外分流

适合大多数用户的标准配置:

rules:
  - GEOSITE,private,DIRECT
  - GEOSITE,cn,DIRECT
  - GEOSITE,geolocation-cn,DIRECT
  - GEOSITE,geolocation-!cn,PROXY
  - GEOIP,private,DIRECT,no-resolve
  - GEOIP,CN,DIRECT,no-resolve
  - MATCH,PROXY

这种写法的逻辑是:

  1. 私网地址直接连接
  2. 中国大陆域名直接连接
  3. 非中国大陆域名走代理
  4. 对中国大陆 IP 兜底直连
  5. 其他流量全部走代理

策略二:广告过滤优先

如果你希望先拦截广告,可以这样排列:

rules:
  - GEOSITE,category-ads-all,REJECT
  - GEOSITE,category-ads,REJECT
  - GEOSITE,cn,DIRECT
  - GEOSITE,geolocation-!cn,PROXY
  - GEOIP,CN,DIRECT,no-resolve
  - MATCH,PROXY

将广告规则放在前面,可以确保广告域名被优先拦截,不会进入后续的分流判断。

策略三:流媒体单独分流

针对 Netflix、Disney+ 等流媒体服务,可以设置专门策略组:

proxy-groups:
  - name: Streaming
    type: select
    proxies:
      - 香港节点
      - 美国节点
      - 日本节点

rules:
  - GEOSITE,netflix,Streaming
  - GEOSITE,disney,Streaming
  - GEOSITE,hulu,Streaming
  - GEOSITE,bilibili,DIRECT
  - GEOSITE,youku,DIRECT

常见问题与注意事项

GeoIP判断不准确

GeoIP 数据库并非实时更新,可能出现以下情况:

解决方法:

no-resolve参数的作用

在 GeoIP 规则后添加 no-resolve 非常重要:

- GEOIP,CN,DIRECT,no-resolve

它的作用是:如果域名还没有被解析为 IP,就跳过这条 GeoIP 规则,避免产生不必要的 DNS 查询。这样可以提高匹配效率,也能减少 DNS 泄漏风险。

数据库文件过大

如果使用的是完整版数据库,文件可能达到几十 MB,会带来以下影响:

优化建议:

总结

GeoIP 和 GeoSite 是 Clash 分流规则体系中的基础设施。掌握它们的使用方法,可以让你的配置文件从几百条臃肿的域名规则,简化为几十条清晰的分流策略。

对于普通用户,建议采用“GeoSite 为主、GeoIP 兜底”的策略:先用 GeoSite 判断域名类型,再用 GeoIP 处理那些无法通过域名判断的连接。同时注意选择更新及时、覆盖全面的数据源,并定期更新数据库,以保证分流规则的准确性和时效性。

这篇教程有帮助吗?立即下载Clash入门试试吧!

全平台支持 · 安全无毒 · 官方最新版

下载Clash入门