V2RayN 配置高级路由 | GFWList 黑名单模式
写在前面(更新)
推荐用 Clash
前言
自从 V2RayN 4.x 版本删除 PAC 模式后,很多习惯该代理模式的朋友不习惯路由功能。
新旧版的不同点
旧版的 PAC 模式是由本地的 PAC 文件对流量先进行分流,然后再通过
v2ray.exe
去判断是否走代理出站,并配合v2ray_privoxy.exe
进行流量转发;新版的路由模式则是直接通过v2ray.exe
去分流和判断是否走代理的。
旧版客户端:
新版客户端:
旧版 PAC 模式消耗的内存更多一点,自定义灵活度也不高;
新版路由功能自定义灵活度高、使用的内存更小、有一定的速度提高。
关于 Geo 文件
Geo 文件即路由规则文件:
“geosite.dat”:提供一个预定义好的 「全球域名」 列表;
“geoip.dat” :提供一个预定义好的 「全球 IP 地区」 列表。
“.dat文件”里面有无数个分类,比如,中国的域名和IP都在 geosite:cn
和 geoip:cn
GFWList 的网址(也就是经典的 PAC 文件)在 geosite:gfw
广告域名在 geosite:category-ads-all
国外域名在 geosite:geolocation-!cn
本地IP在 geoip:private
里;
还有一千多种分类细分,比如 geosite:steam
geosite:google
等
综上:
- Geo 路由规则文件是”全球域名和 全球地区的 IP 数据库”
- 路由规则可以采用”数据库内任意域名或者IP的分类”或者”添加一个不在数据库的域名或者IP”,并选择“对应的出站标签”;然后
xray.exe
或者v2ray.exe
(常说的核心) 自带的路由模式,会根据路由规则中”不同的出站标签”,来决定“出站标签”包含的域名和IP是否走代理出站、直连(本地网络访问)还是禁止访问。 - “路由规则集”就是”包含一个或者多个路由规则的集合”
相关域名和IP分类名的解释
category-ads
:包含了常见的广告域名。
category-ads-all
:包含了常见的广告域名,以及广告提供商的域名。
cn
:相当于 geolocation-cn 和 tld-cn 的合集。
apple
:包含了 Apple 旗下绝大部分域名。
microsoft
:包含了 Microsoft 旗下绝大部分域名。
telegram
:包含了 Telegram 旗下绝大部分域名。
geolocation-cn
:包含了常见的大陆站点域名。
geolocation-!cn
:包含了常见的非大陆站点域名,同时包含了 tld-!cn。
tld-cn
:包含了 CNNIC 管理的用于中国大陆的顶级域名,如以.cn
、.中国 结尾的域名。
tld-!cn
:包含了非中国大陆使用的顶级域名,如以.hk
(香港)、.tw
(台湾)、.jp
(日本)、.sg
(新加坡)、.us
(美国).ca
(加拿大)等结尾的域名。
category-games
: 包含了steam
、ea
、blizzard
、epicgames
和nintendo
等常见的游戏厂商。
更多域名类别,请查看 data 目录。
更新 Geo 文件
- 下载 Geo 路由规则文件(推荐 V2ray 路由加强版,项目地址:https://github.com/Loyalsoldier/v2ray-rules-dat)
geoip.dat
:
https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geoip.dat
https://cdn.jsdelivr.net/gh/Loyalsoldier/[email protected]/geoip.dat
geosite.dat
:
https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geosite.dat
https://cdn.jsdelivr.net/gh/Loyalsoldier/[email protected]/geosite.dat
- 把下载下来的
geoip.dat
和geosite.dat
放入到客户端的规则文件目录,替换掉原来的geoip.dat
和geosite.dat
下面分享的是自用的代理规则集
使用方法:打开 V2RayN ,打开”设置——路由设置”,启用路由高级功能后,复制下面代码,点击添加规则集,并在规则集设置中,从剪贴板中导入规则即可。最后右键将该规则集设为活动路由。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86[
{
"inboundTag": [],
"outboundTag": "proxy",
"ip": [
"geoip:telegram",
"geoip:netflix"
]
},
{
"port": "",
"inboundTag": [],
"outboundTag": "proxy",
"ip": [],
"domain": [
"github.com",
"githubassets.com",
"githubusercontent.com"
],
"protocol": []
},
{
"port": "",
"inboundTag": [],
"outboundTag": "direct",
"ip": [],
"domain": [
"# 下两行谷歌广告",
"googleads.g.doubleclick.net",
"adservice.google.com",
"# 【以下全部是geo预定义域名列表】",
"# 下一行是所有私有域名",
"geosite:private",
"# 下一行包含常见大陆站点域名和CNNIC管理的大陆域名,即geolocation-cn和tld-cn的合集",
"geosite:cn",
"# 下一行包含所有Adobe旗下域名",
"geosite:adobe",
"# 下一行包含所有Adobe正版激活域名",
"geosite:adobe-activation",
"# 下一行包含所有微软旗下域名",
"geosite:microsoft",
"# 下一行包含微软msn相关域名少数与上一行微软列表重复",
"geosite:msn",
"# 下一行包含所有苹果旗下域名",
"geosite:apple",
"# 下一行包含所有广告平台、提供商域名",
"geosite:category-ads-all",
"# 下一行包含可直连访问谷歌网址,需要替换为加强版GEO文件,如已手动更新为加强版GEO文件,删除此行前面的# 号使其生效",
"geosite:google-cn",
"# 下一行包含可直连访问苹果网址,需要替换为加强版GEO文件,如已手动更新为加强版GEO文件,删除此行前面的# 号使其生效",
"geosite:apple-cn",
"geosite:category-games"
],
"protocol": []
},
{
"type": "field",
"port": "",
"inboundTag": [],
"outboundTag": "proxy",
"ip": [],
"domain": [
"geosite:gfw",
"geosite:greatfire"
],
"protocol": []
},
{
"type": "field",
"port": "0-65535",
"outboundTag": "direct"
},
{
"outboundTag": "block",
"domain": [
"geosite:category-ads-all"
]
},
{
"outboundTag": "direct",
"ip": [
"geoip:private",
"geoip:cn"
]
}
]
说明
- 上面 V2Ray 高级路由规则集,完美实现了 PAC 代理模式,效果完全一样。其原理是,GFW 黑名单中的域名走代理,剩余的其他连接 0-65535 所有端口的所有国内、外网站流量全部直连。
- 缺点是类似 Proxy SwitchyOmega 等扩展无法起作用,因为此类扩展使用规则的逻辑是:先经过扩展中添加的规则,再到客户端的规则,客户端的规则优先级大于扩展的规则。例如上面的规则集中定义了黑名单外的其他连接全部直链,因此无论再怎么在扩展中添加规则,这些连接都是直连的。所以若想要使用扩展,解决方法很简单:只要删除 0-65535 直连的规则就行了。
- “# 号”开头的为注释行,不必删除。
参考资料:
https://www.jamesdailylife.com/new_v2rayn_c
https://baiyunju.cc/7523