Menu Close

最新 v2rayN V4.12 windows 进阶版使用教程 | 附PAC模式路由规则 | 多个自定义路由规则

不少小伙伴留言:需要详细介绍“自定义路由规则的原理”、“分享一些常用的路由规则”、“能不能如何通过路由规则实现旧版客户端的PAC模式”等等。今天我们就来一起学习吧!

新旧版的不同点

旧版的PAC模式是由“本地的PAC文件/GFW LIST”对流量先进行分流;然后,再通过v2ray.exe去判断是否走代理出站,并配合”v2ray_privoxy.exe”进行流量转发;这也是为什么使用旧版客户端时, win10 UWP应用能正常工作的原因;新版的路由模式则是直接通过v2ray.exe 程序去分流和判断是否走代理的。(个人理解,如有错误,请帮忙留言指正,谢谢!

旧版客户端:

新版客户端: 

旧版PAC 模式消耗的内存更多一点(见下图),自定义灵活度也不高;

新版v2rayN 自定义灵活度高、使用的内存更小、有一定的速度提高,但有学习成本!

 

常说的 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 ”,谢谢他的分享。

综上:

  1. geo路由规则文件是”全球域名和 全球地区的 IP 数据库”
  2. 路由规则可以采用”数据库内任意域名或者IP的分类”或者”添加一个不在数据库的域名或者IP”,并选择“对应的出站标签”;然后 “xray.exe或者 v2ray.exe “(常说的核心) 自带的路由模式,会根据路由规则中”不同的出站标签”,来决定“出站标签”包含的域名和IP是否走代理出站、直连(本地网络访问)还是禁止访问。
  3. 那“路由规则集”就是”包含一个或者多个路由规则的集合”

 

如何添加/自定义路由规则集?

添加规则集的目的:不同的路由规则集对应不同的代理模式,可以分别对应“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 列表包含了 steameablizzardepicgames 和 nintendo 等常见的游戏厂商。设置类别 geosite:category-games@cn 为直连,即可节省大量服务器流量。

warning 注意:在 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文件来判断目标是否命中相关路由规则,从而决定是否走代理出站(局域网也已绕过)。

 

怎么在v2rayN 客户端自定义DNS?

最后修改日期: 5月 18, 2021

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注