新旧版的不同点
旧版的PAC模式是由“本地的PAC文件/GFW LIST”对流量先进行分流;然后,再通过v2ray.exe去判断是否走代理出站,并配合”v2ray_privoxy.exe”进行流量转发;这也是为什么使用旧版客户端时, win10 UWP应用能正常工作的原因;新版的路由模式则是直接通过v2ray.exe 程序去分流和判断是否走代理的。(个人理解,如有错误,请帮忙留言指正,谢谢!)
旧版客户端:
新版客户端:
那
常说的 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 等,
以上内容来自于“网友 ycdm ”,谢谢他的分享。
综上:
- geo路由规则文件是”全球域名和 全球地区的 IP 数据库”
- 路由规则可以采用”数据库内任意域名或者IP的分类”或者”添加一个不在数据库的域名或者IP”,并选择“对应的出站标签”;然后 “xray.exe或者 v2ray.exe “(常说的核心) 自带的路由模式,会根据路由规则中”不同的出站标签”,来决定“出站标签”包含的域名和IP是否走代理出站、直连(本地网络访问)还是禁止访问。
- 那“路由规则集”就是”包含一个或者多个路由规则的集合”
如何添加/自定义路由规则集?
添加规则集的目的:不同的路由规则集对应不同的代理模式,可以分别对应“PAC 模式”、“绕过大陆”、“全局代理”等等,来满足自己不同的“科学上网”或者“其他特殊的需求”。
1、下载 Geo 路由规则文件(推荐 V2ray路由加强版):点击跳转
2、普通用户: 直接启用“默认的基础路由规则”,并按照自己的需求和格式要求,在对应的对话框输入内容。
3. 路由规则输入的格式
默认的“基础功能”—“一键导入基础规则”
- 可以在对应的对话框,输入单个网址或者 IP,多个选项,用英文输入方法下的逗号”,” 隔开。比如,在”阻止的Domian或 IP” 输入“domian:jamesdailylife.com”;此时,就不能访问该网址。
- 启用 “geoip.data” 和 “geosite.data”中,已经包含常用的域名和IP。使用方式:
geosite:filename
,如geosite:google
表示对文件内符合google
内包含的域名,按照自身需求录入到“代理、直连、阻止” ,就行了。
"代理的Domian或 IP":此对话框的域名或者IP 走代理 "直连的Domian或 IP":此对话框的域名或者IP 不走代理 "阻止的Domian或 IP":此对话框的域名或者IP 不能访问
相关域名和IP分类名的解释
category-ads:包含了常见的广告域名。
category-ads-all:包含了常见的广告域名,以及广告提供商的域名。
cn:相当于 geolocation-cn 和 tld-cn 的合集。
apple:包含了 Apple 旗下绝大部分域名。
google:包含了 Google 旗下绝大部分域名。
microsoft:包含了 Microsoft 旗下绝大部分域名。
facebook:包含了 Facebook 旗下绝大部分域名。
twitter:包含了 Twitter 旗下绝大部分域名。
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 目录 。
4. “启用路由高级功能”后,自定义路由规则集的方法有点不同。
A. 添加已经编写好/在使用的路由规则集:
- “从文件中导入规则”: 导入本地的”路由规则集文件”
- “从剪贴板中导入规则”: 复制“其他人分享的路由规则集范本”(文章末尾有)
- “从订阅Url中导入规则”: 粘贴“别人分享的、含有路由规则集的url链接”
订阅url地址,不是机场的订阅地址,而是含规则集的 url 地址 除了规则以外的请求,都走“代理”就是白名单模式;都走“直连”就是黑名单模式
B.添加单个或者多个路由规则:
- “Proxy” : 走代理的域名或者IP
- “Direct” :不走代理的域名或者IP
- “Block”: 不能访问的域名或者IP
- “Port”:目标端口范围,当目标端口落在此范围内时,此规则生效
5. 特别注意:
–越靠前的规则,优先级越高;简单来说,优先使用“排在前面的路由规则”对产生的流量进行删选!!!
–使用加强版 v2ray 路由规则文件,一定特别“设置geoip.dat和geosite.dat文件不跟随core更新”
–高级用法
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 反馈。
路由规则集范本
请先“启用高级路由规则”
谢谢网友“ANGIANAPR”的分享:点击跳转 GitHub 2dust 大佬分享的白名单和黑名单规则集范例 在4.14、4.13 版客户端中,在电脑能“富强/科学上网”的前提下, 才能通过黑白名单范例的 URL 添加规则集!(见下图)
白名单范例:https://raw.githubusercontent.com/2dust/v2rayCustomRoutingList/master/custom_routing_rules_whitelist
黑名单范例:https://raw.githubusercontent.com/2dust/v2rayCustomRoutingList/master/custom_routing_rules_blacklist
1. PAC模式/GFW 模式,带广告屏蔽的:
[
{
"outboundTag": "block",
"domain": [
"geosite:category-ads-all",
]
},
{
"outboundTag": "proxy",
"ip": [
"geoip:telegram"
],
"domain": [
"geosite:gfw"
]
},
{
"port": "0-65535",
"outboundTag": "direct"
}
]
2. PAC模式/GFW 模式,不带广告屏蔽:
[
{
"outboundTag": "proxy",
"ip": [
"geoip:telegram"
],
"domain": [
"geosite:gfw"
]
},
{
"port": "0-65535",
"outboundTag": "direct"
}
]
3. 全局代理:
[ { "outboundTag": "proxy", "port": "0-65535", } ]
4. “解决Mirosoft Store等UWP软件无法访问”:点击跳转
延伸阅读:
什么是路由规则?
是将入站数据(用户请求)按需求由不同的出站连接发出,以达到按需求进行代理的目的。
常见用法是分流国内外流量,V2Ray 可以通过内部机制判断不同地区的流量,然后将它们发送到不同的出站代理。
简单地说,先设置相关路由规则, 经过 geo文件来判断目标是否命中相关路由规则,从而决定是否走代理出站(局域网也已绕过)。