v2ray-rules-dat README

The project's README from github.com/Loyalsoldier/v2ray-rules-dat. As one markdown file: README.md.

简介 GitHub Downloads (all assets, all releases) GitHub Downloads (all assets, latest release) jsdelivr stats

V2Ray 路由规则文件加强版,可代替 V2Ray 官方 geoip.dat 和 geosite.dat,适用于 V2Ray、Xray-core、mihomo、hysteria、Trojan-Go、leaf 和所有使用上述内核的图形用户界面(GUI)版代理软件。使用 GitHub Actions 北京时间每天早上 6 点自动构建,保证规则最新。

规则文件生成方式

geoip.dat

希望定制 geoip.dat 文件?需要适用于其他代理软件的 GeoIP 格式文件?查看项目 @Loyalsoldier/geoip。

geosite.dat

规则文件下载地址

如果无法访问域名 raw.githubusercontent.com,可以使用第二个地址 cdn.jsdelivr.net。 如果无法访问域名 cdn.jsdelivr.net,可以将其替换为 fastly.jsdelivr.net。

*.sha256sum 为校验文件。

规则文件使用方式

geoip.dat

点击查看在 V2Ray 和 Xray-core 中的使用方法

需要先下载 geoip.dat 格式文件,并放置在程序目录内。

"routing": {
  "rules": [
    {
      "type": "field",
      "outboundTag": "Direct",
      "ip": [
        "geoip:cn",
        "geoip:private",
        "ext:cn.dat:cn",
        "ext:private.dat:private",
        "ext:geoip-only-cn-private.dat:cn",
        "ext:geoip-only-cn-private.dat:private"
      ]
    },
    {
      "type": "field",
      "outboundTag": "Proxy",
      "ip": [
        "geoip:us",
        "geoip:jp",
        "geoip:facebook",
        "geoip:telegram",
        "ext:geoip-asn.dat:facebook",
        "ext:geoip-asn.dat:telegram"
      ]
    }
  ]
}
点击查看在 mihomo 中的使用方法
geodata-mode: true
geox-url:
  geoip: "https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/geoip.dat"
点击查看在 hysteria 中的使用方法

需要先下载 geoip.dat 格式文件,并放置在 hysteria 程序目录内。

direct(geoip:cn)
proxy(geoip:telegram)
proxy(geoip:us)
点击查看在 Trojan-Go 中的使用方法

需要先下载 geoip.dat 格式文件,并放置在 Trojan-Go 程序目录内。

"router": {
  "enabled": true,
  "bypass": ["geoip:cn"],
  "proxy": ["geoip:telegram", "geoip:us"],
  "block": ["geoip:jp"],
  "default_policy": "proxy",
  "geoip": "./geoip.dat"
}

geosite.dat

跟 V2Ray 官方 geosite.dat 配置方式相同。相比官方 geosite.dat 文件,本项目特有的类别:

⚠️ 注意:在 Routing 配置中,类别越靠前(上),优先级越高,所以 geosite:apple-cn 和 geosite:google-cn 要放置在 geosite:geolocation-!cn 前(上)面才能生效。

高级用法

v2fly/domain-list-community 项目 data 目录中某些列表里的规则会被标记诸如 @cn 的 attribute(如下所示),意为该域名在中国大陆有接入点,可直连。

steampowered.com.8686c.com @cn
steamstatic.com.8686c.com @cn

对于玩 Steam 国区游戏,想要直连的用户,可以设置类别 geosite:steam@cn 为直连,意为将 steam 列表内所有被标记了 @cn attribute 的规则(域名)设置为直连。同理,由于 category-games 列表包含了 steam、ea、blizzard、epicgames 和 nintendo 等常见的游戏厂商。设置类别 geosite:category-games@cn 为直连,即可节省大量服务器流量。

⚠️ 注意:在 Routing 配置中,类别越靠前(上),优先级越高,所以 geosite:category-games@cn 等所有带有 @cn attribute 的规则都要放置在 geosite:geolocation-!cn 前(上)面才能生效。

category-games 列表内的规则(域名)可能会有疏漏,请留意规则命中情况。如发现遗漏,欢迎到项目 v2fly/domain-list-community 提 issue 反馈。

配置参考下面 👇👇👇

白名单模式 Routing 配置方式:

"routing": {
  "rules": [
    {
      "type": "field",
      "outboundTag": "Reject",
      "domain": ["geosite:category-ads-all"]
    },
    {
      "type": "field",
      "outboundTag": "Direct",
      "domain": [
        "geosite:private",
        "geosite:apple-cn",
        "geosite:google-cn",
        "geosite:tld-cn",
        "geosite:category-games@cn"
      ]
    },
    {
      "type": "field",
      "outboundTag": "Proxy",
      "domain": ["geosite:geolocation-!cn"]
    },
    {
      "type": "field",
      "outboundTag": "Direct",
      "domain": ["geosite:cn"]
    },
    {
      "type": "field",
      "outboundTag": "Proxy",
      "network": "tcp,udp"
    }
  ]
}

黑名单模式 Routing 配置方式:

"routing": {
  "rules": [
    {
      "type": "field",
      "outboundTag": "Reject",
      "domain": ["geosite:category-ads-all"]
    },
    {
      "type": "field",
      "outboundTag": "Proxy",
      "domain": ["geosite:gfw"]
    },
    {
      "type": "field",
      "outboundTag": "Proxy",
      "ip": ["geoip:telegram"]
    },
    {
      "type": "field",
      "outboundTag": "Direct",
      "network": "tcp,udp"
    }
  ]
}

DNS 配置方式:

"dns": {
  "hosts": {
    "dns.google": "8.8.8.8",
    "dns.pub": "119.29.29.29",
    "dns.alidns.com": "223.5.5.5",
    "geosite:category-ads-all": "127.0.0.1"
  },
  "servers": [
    {
      "address": "https://1.1.1.1/dns-query",
      "domains": ["geosite:geolocation-!cn"],
      "expectIPs": ["geoip:!cn"]
    },
    "8.8.8.8",
    {
      "address": "114.114.114.114",
      "port": 53,
      "domains": ["geosite:cn", "geosite:category-games@cn"],
      "expectIPs": ["geoip:cn"],
      "skipFallback": true
    },
    {
      "address": "localhost",
      "skipFallback": true
    }
  ]
}

自用 V2Ray v4 版本客户端配置(不适用于 V2Ray v5 及更新的版本)

注意事项:

{
  "log": {
    "loglevel": "warning"
  },
  "dns": {
    "hosts": {
      "dns.google": "8.8.8.8",
      "dns.pub": "119.29.29.29",
      "dns.alidns.com": "223.5.5.5",
      "geosite:category-ads-all": "127.0.0.1"
    },
    "servers": [
      {
        "address": "https://1.1.1.1/dns-query",
        "domains": ["geosite:geolocation-!cn", "geosite:google@cn"],
        "expectIPs": ["geoip:!cn"]
      },
      "8.8.8.8",
      {
        "address": "114.114.114.114",
        "port": 53,
        "domains": [
          "geosite:cn",
          "geosite:icloud",
          "geosite:category-games@cn"
        ],
        "expectIPs": ["geoip:cn"],
        "skipFallback": true
      },
      {
        "address": "localhost",
        "skipFallback": true
      }
    ]
  },
  "inbounds": [
    {
      "protocol": "socks",
      "listen": "0.0.0.0",
      "port": 1080,
      "tag": "Socks-In",
      "settings": {
        "ip": "127.0.0.1",
        "udp": true,
        "auth": "noauth"
      },
      "sniffing": {
        "enabled": true,
        "destOverride": ["http", "tls"]
      }
    },
    {
      "protocol": "http",
      "listen": "0.0.0.0",
      "port": 2080,
      "tag": "Http-In",
      "sniffing": {
        "enabled": true,
        "destOverride": ["http", "tls"]
      }
    }
  ],
  "outbounds": [
    {
      //下面这行,协议类别要改为socks、shadowsocks、vmess或vless等(记得删除本行文字说明)
      "protocol": "协议类别",
      "settings": {},
      //下面这行,tag的值对应Routing里的outboundTag,这里为Proxy(记得删除本行文字说明)
      "tag": "Proxy",
      "streamSettings": {},
      "mux": {}
    },
    {
      "protocol": "dns",
      "tag": "Dns-Out"
    },
    {
      "protocol": "freedom",
      "tag": "Direct",
      "settings": {
        "domainStrategy": "UseIPv4"
      }
    },
    {
      "protocol": "blackhole",
      "tag": "Reject",
      "settings": {
        "response": {
          "type": "http"
        }
      }
    }
  ],
  "routing": {
    "domainStrategy": "IPIfNonMatch",
    "domainMatcher": "mph",
    "rules": [
      {
        "type": "field",
        "outboundTag": "Direct",
        "protocol": ["bittorrent"]
      },
      {
        "type": "field",
        "outboundTag": "Dns-Out",
        "inboundTag": ["Socks-In", "Http-In"],
        "network": "udp",
        "port": 53
      },
      {
        "type": "field",
        "outboundTag": "Reject",
        "domain": ["geosite:category-ads-all"]
      },
      {
        "type": "field",
        "outboundTag": "Proxy",
        "domain": [
          "full:www.icloud.com",
          "domain:icloud-content.com",
          "geosite:google"
        ]
      },
      {
        "type": "field",
        "outboundTag": "Direct",
        "domain": [
          "geosite:tld-cn",
          "geosite:icloud",
          "geosite:category-games@cn"
        ]
      },
      {
        "type": "field",
        "outboundTag": "Proxy",
        "domain": ["geosite:geolocation-!cn"]
      },
      {
        "type": "field",
        "outboundTag": "Direct",
        "domain": ["geosite:cn", "geosite:private"]
      },
      {
        "type": "field",
        "outboundTag": "Direct",
        "ip": ["geoip:cn", "geoip:private"]
      },
      {
        "type": "field",
        "outboundTag": "Proxy",
        "network": "tcp,udp"
      }
    ]
  }
}

致谢

v2ray-rules-dat (Loyalsoldier/v2ray-rules-dat)

Searching Database…

这是干什么用的?它是官方 V2Ray 的 geoip.dat 和 geosite.dat 路由规则文件的增强版替代品,供 V2Ray、Xray-core、mihomo(Clash-Meta)、hysteria、Trojan-Go、leaf 以及基于这些内核的图形界面客户端使用,用来决定哪些流量直连、哪些走代理、哪些被拦截。
所以这是我放进代理客户端的数据,不是要运行的程序?对——geoip.dat 按国家和按服务(Google、Netflix、Telegram、Tor 等)存放 IP 段,geosite.dat 存放分类好的域名列表;两个文件都放进代理程序的目录。域名列表的纯文本版本也会一并发布。
怎么配置?从发布链接下载 geoip.dat 和 geosite.dat,放到你的代理客户端的程序目录里;geosite.dat 的配置方式和官方文件完全一样。如果访问不了 raw.githubusercontent.com,可以用 cdn.jsdelivr.net 或 fastly.jsdelivr.net 镜像,并用 .sha256sum 文件校验。
这些文件对代理客户端有要求吗?任何使用 V2Ray、Xray-core、mihomo(Clash-Meta)、hysteria、Trojan-Go 或 leaf 内核的客户端都可以,包括基于这些内核的图形界面应用。这些文件只提供路由规则,本身不做代理。作者提供的现成客户端配置需要 V2Ray v4.37.2 或更高版本,不支持 v5+。
写路由规则时有什么要注意的坑?分类的顺序很重要:geosite:apple-cn、geosite:google-cn 以及所有带 @cn 的规则,只有放在 geosite:geolocation-!cn 上面才会生效。win-spy、win-update 和 win-extra 这几个分类被标注为需谨慎使用。
这主要是给中国大陆用户用的吗?是的——这套规则是围绕中国分流来设计的:中国大陆 IP 和可在中国访问的域名直连,被 GFWList 屏蔽的域名走代理,广告被拦截。其中的去广告分类和大型服务的 IP 分类,对其他地区的用户同样有用。
这些文件比官方的多出什么?增加了额外的 geosite 分类和合并的数据源:GFWList 域名(geosite:gfw),来自 EasyList China、AdGuard DNS Filter、Peter Lowe 和 Dan Pollock hosts 的广告域名(都归入 geosite:category-ads-all),Google、Netflix、Telegram、Twitter、Cloudflare 和 Tor 的额外 geoip 分类,以及 Windows 遥测和更新域名列表(win-spy、win-update、win-extra)。
这些规则更新得勤吗?非常勤——GitHub Actions 每天北京时间早上 6 点自动重建所有文件,所以发布的下载内容最多只滞后一天。
我可以添加或排除自己的域名吗?可以——隐藏分支里有 direct.txt、proxy.txt 和 reject.txt,里面是自定义域名,会被合并进 geosite:cn、geosite:geolocation-!cn 和 geosite:category-ads-all,另外还有配套的 need-to-remove 文件,用来从这些列表中剔除条目。
能把 Steam 或游戏流量设成直连,省点代理流量吗?可以——在中国有接入点的域名带有 @cn 属性;把 geosite:steam@cn 或 geosite:category-games@cn(包含 Steam、EA、暴雪、Epic Games、任天堂)设为直连,能省下不少服务器流量。不过游戏域名列表可能有遗漏,建议检查一下它覆盖了哪些。
Size
20 MB
Stars
20.9K
Age
6y
Commits · 90 Days