V2Ray 路由规则文件加强版,可代替 V2Ray 官方 geoip.dat 和 geosite.dat,适用于 V2Ray、Xray-core、mihomo、hysteria、Trojan-Go、leaf。使用 GitHub Actions 北京时间每天早上 6 点自动构建,保证规则最新。
- 通过仓库 @Loyalsoldier/geoip 生成
- 默认使用 MaxMind GeoLite2 Country CSV 数据生成各个国家和地区的 GeoIP 文件。所有可供使用的国家和地区 geoip 类别(如
geoip:cn,两位英文字母表示国家或地区),请查看:https://www.iban.com/country-codes - 中国大陆 (
geoip:cn) IPv4 地址数据融合了 IPIP.net 和 @gaoyifan/china-operator-ip - 中国大陆 (
geoip:cn) IPv6 地址数据融合了 MaxMind GeoLite2 和 @gaoyifan/china-operator-ip - 新增类别(方便有特殊需求的用户使用):
geoip:cloudflaregeoip:cloudfrontgeoip:facebookgeoip:fastlygeoip:googlegeoip:netflixgeoip:telegramgeoip:twitter
希望定制
geoip.dat文件?需要适用于其他代理软件的 GeoIP 格式文件?查看项目 @Loyalsoldier/geoip。
- 基于 @v2fly/domain-list-community/data 数据,通过仓库 @Loyalsoldier/domain-list-custom 生成
- 加入大量中国大陆域名、Apple 域名和 Google 域名:
- @felixonmars/dnsmasq-china-list/accelerated-domains.china.conf 加入到
geosite:china-list和geosite:cn类别中 - @felixonmars/dnsmasq-china-list/apple.china.conf 加入到
geosite:geolocation-!cn类别中(如希望本文件中的 Apple 域名直连,请参考下面 geosite 的 Routing 配置方式) - @felixonmars/dnsmasq-china-list/google.china.conf 加入到
geosite:geolocation-!cn类别中(如希望本文件中的 Google 域名直连,请参考下面 geosite 的 Routing 配置方式)
- @felixonmars/dnsmasq-china-list/accelerated-domains.china.conf 加入到
- 加入 GFWList 域名:
- 基于 @gfwlist/gfwlist 数据,通过仓库 @cokebar/gfwlist2dnsmasq 生成
- 加入到
geosite:gfw类别中,供习惯于 PAC 模式并希望使用 GFWList 的用户使用 - 同时加入到
geosite:geolocation-!cn类别中
- 加入 EasyList 和 EasyListChina 广告域名:通过 @AdblockPlus/EasylistChina+Easylist.txt 获取并加入到
geosite:category-ads-all类别中 - 加入 AdGuard DNS Filter 广告域名:通过 @AdGuard/DNS-filter 获取并加入到
geosite:category-ads-all类别中 - 加入 Peter Lowe 广告和隐私跟踪域名:通过 @PeterLowe/adservers 获取并加入到
geosite:category-ads-all类别中 - 加入 Dan Pollock 广告域名:通过 @DanPollock/hosts 获取并加入到
geosite:category-ads-all类别中 - 加入 Windows 操作系统相关的系统升级和隐私跟踪域名:
- 基于 @crazy-max/WindowsSpyBlocker 数据
- [慎用] Windows 操作系统使用的隐私跟踪域名 @crazy-max/WindowsSpyBlocker/hosts/spy.txt 加入到
geosite:win-spy类别中 - [慎用] Windows 操作系统使用的系统升级域名 @crazy-max/WindowsSpyBlocker/hosts/update.txt 加入到
geosite:win-update类别中 - [慎用] Windows 操作系统附加的隐私跟踪域名 @crazy-max/WindowsSpyBlocker/hosts/extra.txt 加入到
geosite:win-extra类别中 - 关于这三个类别的使用方式,请参考下面 geosite 的 Routing 配置方式
- 可添加自定义直连、代理和广告域名:由于上游域名列表更新缓慢或缺失某些域名,所以引入需要添加的域名列表。
hidden 分支里的三个文件direct.txt、proxy.txt和reject.txt,分别存放自定义的需要添加的直连、代理、广告域名,最终分别加入到geosite:cn、geosite:geolocation-!cn和geosite:category-ads-all类别中 - 可移除自定义直连、代理和广告域名:由于上游域名列表存在需要被移除的域名,所以引入需要移除的域名列表。
hidden 分支里的三个文件direct-need-to-remove.txt、proxy-need-to-remove.txt和reject-need-to-remove.txt,分别存放自定义的需要从direct-list(直连域名列表)、proxy-list(代理域名列表)和reject-list(广告域名列表) 移除的域名
如果无法访问域名
raw.githubusercontent.com,可以使用第二个地址cdn.jsdelivr.net。 如果无法访问域名cdn.jsdelivr.net,可以将其替换为fastly.jsdelivr.net。*.sha256sum 为校验文件。
- geoip.dat:
- geosite.dat:
- 直连域名列表 direct-list.txt:
- 代理域名列表 proxy-list.txt:
- 广告域名列表 reject-list.txt:
- @felixonmars/dnsmasq-china-list 仓库收集的在中国大陆可直连的域名列表 china-list.txt:
- Apple 在中国大陆可直连的域名列表 apple-cn.txt:
- Google 在中国大陆可直连的域名列表 google-cn.txt:
- GFWList 域名列表 gfw.txt:
- Windows 操作系统使用的隐私跟踪域名列表 win-spy.txt:
- Windows 操作系统使用的系统升级域名列表 win-update.txt:
- Windows 操作系统使用的附加隐私跟踪域名列表 win-extra.txt:
点击查看在 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"
}跟 V2Ray 官方 geosite.dat 配置方式相同。相比官方 geosite.dat 文件,本项目特有的类别:
geosite:china-list:包含 @felixonmars/dnsmasq-china-list/accelerated-domains.china.conf 文件里的域名,供有特殊 DNS 分流需求的用户使用。geosite:apple-cn:包含 @felixonmars/dnsmasq-china-list/apple.china.conf 文件里的域名,供希望 Apple 域名直连(不走代理)的用户使用。geosite:google-cn:包含 @felixonmars/dnsmasq-china-list/google.china.conf 文件里的域名,供希望 Google 域名直连(不走代理)的用户使用。- [慎用]
geosite:win-spy:包含 @crazy-max/WindowsSpyBlocker/hosts/spy.txt 文件里的域名,供希望屏蔽 Windows 操作系统隐私跟踪域名的用户使用。 - [慎用]
geosite:win-update:包含 @crazy-max/WindowsSpyBlocker/hosts/update.txt 文件里的域名,供希望屏蔽 Windows 操作系统自动升级的用户使用。 - [慎用]
geosite:win-extra:包含 @crazy-max/WindowsSpyBlocker/hosts/extra.txt 文件里的域名,供希望屏蔽 Windows 操作系统附加隐私跟踪域名的用户使用。
⚠️ 注意:在 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等所有带有@cnattribute 的规则都要放置在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
}
]
}注意事项:
- 由于下面客户端配置的 DNS 使用了
skipFallback选项,所以必须使用 v4.37.2 或更新版本的 V2Ray - 下面客户端配置使 V2Ray 在本机开启 SOCKS 代理(监听 1080 端口)和 HTTP 代理(监听 2080 端口),允许局域网内其他设备连接并使用代理
- BT 流量统统直连(实测依然会有部分 BT 流量走代理,如果服务商禁止 BT 下载,请不要为下载软件设置代理)
- 最后,不命中任何路由规则的请求和流量,统统走代理
outbounds里的第一个大括号内的配置,即为 V2Ray 代理服务的配置。请根据自身需求进行修改,并参照 V2Ray 官网配置文档中的 配置 > Outbounds > OutboundObject 部分进行补全
{ "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" } ] } }