V2rayn: [Wiki Feature Update] 更新Wiki上的关于PAC的指南

Created on 20 Sep 2019  ·  45Comments  ·  Source: 2dust/v2rayN

关于使用全局模式和PAC代理模式的指南

0 准备

如图1,在任务栏小图标中点击启动HTTP代理``开启代理。 如果成功,第一行启动HTTP代理`会打√。

image 1

按照道理,完成步骤0后已经可以Google。

1 使用全局模式

但是为了开启全局模式,如图2,设置全局模式,并且点击确认。

image 2

注释:1,如果将上图中的Asls调整为IPIfNotMatch,并且第二行调整为`跳过局域网,大陆地址等,那么相当于在全局模式中进行PAC过滤,详细过滤规则按照指示可以进行自己添加,有自动生成选项

点击确认使得设置被应用到程序中。

其次,在图3中点击全局模式 (第一项),如果成功,会打√。

image 3

2 PAC模式

自动生成 PAC文件

如下图所示,点击检查更新+PAC,则会从github下载gfwlist文件,保存在软件目录中,名字为pac.txt

image

其次,在图3中点击PAC模式 (第二项),如果成功,会打√。

image

修改PAC,可以直接在本地修改,会实时更新。

测试网址 ip.cn

3 直连模式

调整 上图中的模式为直连模式

good first issue

Most helpful comment

PAC简单规则

||example.com,  意思是所有 example.com域名下的网址都走代理(注意:后面需要半角逗号,即英文输入法下逗号)

@@||example.com, 例外规则,意思是所有  example.com域名下的网址都不走代理

|http://example.com, 起止规则, 意思是以http://example.com 开始地址都走代理

All 45 comments

请大佬放到wiki上,感觉比较user-friendly.

PAC failed to start. Pls with an administrator.
如果选择PAC模式出现上面的信息是怎么会啊?(PAC已经更新)

一直没搞懂 ”AsIs” | “IPIfNonMatch” | “IPOnDemand” 这3种有什么区别,分别需要怎么设置

一直没搞懂 ”AsIs” | “IPIfNonMatch” | “IPOnDemand” 这3种有什么区别,分别需要怎么设置

我觉得,asis应该是全局统统代理,ipifnon 是如果没有匹配,就走代理,ipondemand和上一个相反。

PAC failed to start. Pls with an administrator.
如果选择PAC模式出现上面的信息是怎么会啊?(PAC已经更新)

用管理员模式运行v2rayN程序。

一直没搞懂 ”AsIs” | “IPIfNonMatch” | “IPOnDemand” 这3种有什么区别,分别需要怎么设置

我觉得,asis应该是全局统统代理,ipifnon 是如果没有匹配,就走代理,ipondemand和上一个相反。

3种都试过,好像也不是你说的这样。官方的解释跟没说差不多。。

域名解析策略,根据不同的设置使用不同的策略。

"AsIs": 只使用域名进行路由选择。默认值。
"IPIfNonMatch": 当域名没有匹配任何规则时,将域名解析成 IP(A 记录或 AAAA 记录)再次进行匹配;
当一个域名有多个 A 记录时,会尝试匹配所有的 A 记录,直到其中一个与某个规则匹配为止;
解析后的 IP 仅在路由选择时起作用,转发的数据包中依然使用原始域名;
"IPOnDemand": 当匹配时碰到任何基于 IP 的规则,将域名立即解析为 IP 进行匹配;

问一下,这个PAC模式,能像SS那样使用user-rule吗?因为SS封的太厉害了所以刚转来使用v2ray,发现没有user-rule模式很麻烦啊,有些小众网址是不会更新到pacList里面去的。如果人工更新到PAC文件,自动更新时又会替换掉。

问一下,这个PAC模式,能像SS那样使用user-rule吗?因为SS封的太厉害了所以刚转来使用v2ray,发现没有user-rule模式很麻烦啊,有些小众网址是不会更新到pacList里面去的。如果人工更新到PAC文件,自动更新时又会替换掉。

+1,之前我记得也提过这个建议,自动更新覆盖掉手动添加的pac,没有ss用户添加独立文件不受影响方便

问一下,这个PAC模式,能像SS那样使用user-rule吗?因为SS封的太厉害了所以刚转来使用v2ray,发现没有user-rule模式很麻烦啊,有些小众网址是不会更新到pacList里面去的。如果人工更新到PAC文件,自动更新时又会替换掉。

+1,之前我记得也提过这个建议,自动更新覆盖掉手动添加的pac,没有ss用户添加独立文件不受影响方便

然后呢?开发者怎么答复的,有说后续准备支持这个功能吗。。。

问一下,这个PAC模式,能像SS那样使用user-rule吗?因为SS封的太厉害了所以刚转来使用v2ray,发现没有user-rule模式很麻烦啊,有些小众网址是不会更新到pacList里面去的。如果人工更新到PAC文件,自动更新时又会替换掉。

user-rule:自定义pac文件,在pac模式下运行,具体文件地址 v2rayN-core/pac.txt,按照adblock模式写就行了。但是自己修改了之后不能再使用软件上的PAC更新,这样会把你自定义的覆盖掉。

问一下,这个PAC模式,能像SS那样使用user-rule吗?因为SS封的太厉害了所以刚转来使用v2ray,发现没有user-rule模式很麻烦啊,有些小众网址是不会更新到pacList里面去的。如果人工更新到PAC文件,自动更新时又会替换掉。

你可以用全局模式,把要代理/直连的域名写在v2ray内置路由里面

问一下,这个PAC模式,能像SS那样使用user-rule吗?因为SS封的太厉害了所以刚转来使用v2ray,发现没有user-rule模式很麻烦啊,有些小众网址是不会更新到pacList里面去的。如果人工更新到PAC文件,自动更新时又会替换掉。

你可以用全局模式,把要代理/直连的域名写在v2ray内置路由里面

其实他的意思要的是,我想用PAC持续更新,然后用自己的规则自动添加到pac.txt里面去.这样既有有pac自动更新,也不担心覆盖掉自己的添加域名,其实这个问题我很奇怪,因为我是用mac下的v2rayU的客户端
他们就提供了这个功能,但是windows就没有这个功能,我也希望开发者能开发一下这个功能.就像下图一样的.
image

https://github.com/2dust/v2rayN/releases/tag/3.1
支持pac用户自定义规则

https://github.com/2dust/v2rayN/releases/tag/3.1
支持pac用户自定义规则

啊哈哈哈,非常感谢作者添加这个功能。非常有用。再次感谢!

内置PAC是不是把维基百科的图片服务器屏蔽了?这几天维基百科的latex公式都显示不出来

PAC简单规则

||example.com,  意思是所有 example.com域名下的网址都走代理(注意:后面需要半角逗号,即英文输入法下逗号)

@@||example.com, 例外规则,意思是所有  example.com域名下的网址都不走代理

|http://example.com, 起止规则, 意思是以http://example.com 开始地址都走代理

还不如之前的方便。
var proxy = "__PROXY__";

function FindProxyForURL(url, host) {
return proxy;
}

一直没搞懂 ”AsIs” | “IPIfNonMatch” | “IPOnDemand” 这3种有什么区别,分别需要怎么设置

v2ray官网的解释(https://www.v2ray.com/chapter_02/03_routing.html):
域名解析策略,根据不同的设置使用不同的策略。

"AsIs": 只使用域名进行路由选择。默认值。
"IPIfNonMatch": 当域名没有匹配任何规则时,将域名解析成 IP(A 记录或 AAAA 记录)再次进行匹配;
    当一个域名有多个 A 记录时,会尝试匹配所有的 A 记录,直到其中一个与某个规则匹配为止;
    解析后的 IP 仅在路由选择时起作用,转发的数据包中依然使用原始域名;
"IPOnDemand": 当匹配时碰到任何基于 IP 的规则,将域名立即解析为 IP 进行匹配;

v2ray-core自带路由,进入v2ray-core的都将被处理分流
PAC其实是和v2ray-core无关的,PAC也相当一个处理分流功能,处理后部分进入v2ray-core,部分直接直连

PAC简单规则

||example.com,  意思是所有 example.com域名下的网址都走代理(注意:后面需要半角逗号,即英文输入法下逗号)

@@||example.com, 例外规则,意思是所有  example.com域名下的网址都不走代理

|http://example.com, 起止规则, 意思是以http://example.com 开始地址都走代理

请问如果要在“用户PAC设置”里面添加网址的话,直接这么写对吗?

||launchdarkly.com,
||sentry-cdn.com,
||zapier.github.io

v2ray-core自带路由,进入v2ray-core的都将被处理分流
PAC其实是和v2ray-core无关的,PAC也相当一个处理分流功能,处理后部分进入v2ray-core,部分直接直连

能否详细解释一下其中的含义?是不是流量先根据pac.txt进行分流,然后被分流到core的流量再根据core的内建路由规则进行二次分流?
现在有一个pac.txt可以自动分流国内外IP地址,我该怎么设置core的路由规则呢?
我目前的设置是pac.txt启用PAC模式,然后在core路由设置为全局,这样的话绝大多数网站是没有问题的,能够实现国内外自动分流,但是有几个网站一直打不开,直连可以打开,PAC和全局都不行。看了下V2的日志,显示那个网站是走proxy,但是为什么走proxy会打不开呢?日志里百度也是走的proxy,也没有按照pac规则正常工作,但是其他国内网站则是直连的。

v2ray-core自带路由,进入v2ray-core的都将被处理分流
PAC其实是和v2ray-core无关的,PAC也相当一个处理分流功能,处理后部分进入v2ray-core,部分直接直连

能否详细解释一下其中的含义?是不是流量先根据pac.txt进行分流,然后被分流到core的流量再根据core的内建路由规则进行二次分流?
现在有一个pac.txt可以自动分流国内外IP地址,我该怎么设置core的路由规则呢?
我目前的设置是pac.txt启用PAC模式,然后在core路由设置为全局,这样的话绝大多数网站是没有问题的,能够实现国内外自动分流,但是有几个网站一直打不开,直连可以打开,PAC和全局都不行。看了下V2的日志,显示那个网站是走proxy,但是为什么走proxy会打不开呢?日志里百度也是走的proxy,也没有按照pac规则正常工作,但是其他国内网站则是直连的。

你这个很奇怪,按理说你这样已经可以了。手动把pac.txt里面的baidu设成直连行不行(但是这个感觉不是问题所在)?

建议你重新装一次软件,排除所有你改过然后忘记的东西。

其实,用现在最新的版本,已经支持自定义pac地址了,测试可用。其中,你需要将
image

这个设成不跳过任何地址,或者只跳过局域网,这样保证所有的解析都要过一遍你的pac文件,而不是v2ray-core直接转发成直连了。

填的是这个 - https://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt

最近几个月一直更新不了。
开始更新 PAC...
未能解析此远程名称: 'raw.githubusercontent.com'

更新一下,全局翻墙就可以更新了。。。其实就是Github被block了而已: 'raw.githubusercontent.com'

内置PAC是不是把维基百科的图片服务器屏蔽了?这几天维基百科的latex公式都显示不出来

这个问题你解决了吗?我现在看不了wiki十分苦恼

内置PAC是不是把维基百科的图片服务器屏蔽了?这几天维基百科的latex公式都显示不出来

这个问题你解决了吗?我现在看不了wiki十分苦恼

把wikimedia.org添加进用户pac就可以了

简化pac 设置路由,本因是pac文件不全

3.18只要设用户PAC整个PAC模式都用不了,更新了3.19才知道不是我的问题,是用户PAC没能正确合并到本地PAC,导致整个本地PAC失效

3.18只要设用户PAC整个PAC模式都用不了,更新了3.19才知道不是我的问题,是用户PAC没能正确合并到本地PAC,导致整个本地PAC失效

你是怎么设置的,我设置了始终无效。

trojan-qt5的“编辑GFWlist的用户规则”
TIM截图20200613043920
V2rayN不需要更新,在PAC中添加完成点确定直接生效

请问实际使用中,如果只是简单地添加一个需要代理的域名,“用户pac设置”和路由设置里的“代理的Domain或Ip”除了语法不一样以外还有什么区别?
官方有推荐使用哪种功能吗?

似乎后者不需要再关注域名用不用加句点,类似下面的:

.savido.net,
elrepo.org

改为后者的形式,变成:

domain:savido.net,
domain:elrepo.org

这样的话统一用后者就会方便一点,请问这样理解正确吗?

请问实际使用中,如果只是简单地添加一个需要代理的域名,“用户pac设置”和路由设置里的“代理的Domain或Ip”除了语法不一样以外还有什么区别?
官方有推荐使用哪种功能吗?

似乎后者不需要再关注域名用不用加句点,类似下面的:

.savido.net,
elrepo.org

改为后者的形式,变成:

domain:savido.net,
domain:elrepo.org

这样的话统一用后者就会方便一点,请问这样理解正确吗?

V2Ray有两种代理模式,一种启用PAC(托盘颜色是紫色),一种不启用PAC(托盘颜色是红色)。

如果不启用PAC,那么就会按照V2Ray内建的路由去运行,你可以先在预设规则里面选一个总路由,比如“绕过局域网和大陆地址”,这个路由的优先级是最高的。因为这个模式不启用PAC,所以PAC的内容不会影响到这个模式。

如果想添加例外网址,就需要在“Core路由”菜单里填写规则。填写的方法就是直接填网站的域名,比如在”代理“页面填写”baidu.com”(这是官方推荐写法),这样就可以强制baidu.com走代理。

而启用PAC的情况下,首先启用的是订阅规则,默认是GFWList,其次才是”PAC“页面的自定义规则,作为补充。而自定义PAC规则的写法也不太一样,需要使用通配符,规则应该类似adblock,如果你不会写,要么学,要么改其他方式。

上面两种办法都是启用系统代理的情况下,还有一种办法是仅仅让v2ray运行而不启用系统代理(托盘颜色是蓝色),由各个软件自己去调用它。比如Chrome浏览器可以使用SwitchyOmega这个插件去调用代理,然后就可以在SwitchyOmega里面编写你想要的代理规则(SwitchyOmega的代理规则填写是图形界面,很简单)。

更正:如果要让其他软件调用,有可能是开启http代理,清除系统代理,此时托盘颜色是绿色

上面说的都是针对Windows客户端,如果是安卓客户端,那么应该只有系统全局代理一种模式(相当于电脑版的红色托盘),那么只能在“Core路由”里面填写你想要的网站。

更新一下,全局翻墙就可以更新了。。。其实就是Github被block了而已: 'raw.githubusercontent.com'

你好,我设置了全局,显示配置成功但是不能上网,检查更新pac还是未能解析这个 'raw.githubusercontent.com',请问具体怎么做的呢?

更新一下,全局翻墙就可以更新了。。。其实就是Github被block了而已: 'raw.githubusercontent.com'

你好,我设置了全局,显示配置成功但是不能上网,检查更新pac还是未能解析这个 'raw.githubusercontent.com',请问具体怎么做的呢?

到release页面下载带core的版本,然后没事别乱更新,直接用内置的。最新版本的v2rayN会包含最新版本的core,所以无需手动升级,升级反而容易出问题。

在解压缩了带core的版本后,运行v2ray.exe,然后添加订阅,更新订阅。更新成功后直接开启全局代理(必须是系统右下角托盘呈现红色),一个节点不能用就换下一个节点。如果全部节点都不能用,那基本上是你节点有问题,软件出问题的可能性很小。

如果是更新订阅时无法更新,有可能是订阅的更新地址被墙,需要在全局代理下更新,但前提是你全局代理的服务器本身可以正常使用。如果你全局代理的服务器都无法正常访问,当然也无法更新订阅了。

@timeneverdie 感谢 我现在的情况是可以配置成功,但是连接不上google。
电脑端不可以,手机可以翻墙,节点应该没有问题,但是不知道为什么win10连不上。重新配置订阅n次都不行,pac和全局都试了,红的紫的都不能google 不知道您能否帮忙解决?
image

@timeneverdie 感谢 我现在的情况是可以配置成功,但是连接不上google。
电脑端不可以,手机可以翻墙,节点应该没有问题,但是不知道为什么win10连不上。重新配置订阅n次都不行,pac和全局都试了,红的紫的都不能google 不知道您能否帮忙解决?
image

访问时信息框的日志没有变化,则是系统/浏览器的代理设置问题。

@timeneverdie 感谢 我现在的情况是可以配置成功,但是连接不上google。
电脑端不可以,手机可以翻墙,节点应该没有问题,但是不知道为什么win10连不上。重新配置订阅n次都不行,pac和全局都试了,红的紫的都不能google 不知道您能否帮忙解决?
image

  • 可以尝试重置win10的网络配置,全程无痛,可以放心操作。
    image

  • 如果你重置网络后打开v2rayN提示Windows防火墙授权,要同时勾选两个防火墙选项,然后点击允许通过

  • 如果你电脑连接的是校园网,尽量使用443端口的配置,非443端口有可能会被校园网阻断。

你好,我设置了全局,显示配置成功但是不能上网,检查更新pac还是未能解析这个 'raw.githubusercontent.com',请问具体怎么做的呢?

我之前跟你的情况完全一样。我平时用的是“仅开启HTTP代理,并清除系统代理”,托盘图标为绿色。此时检查更新pac,错误就是你的这个“未能解析raw.githubusercontent.com”。我根据前面的回复,设置为了“开启HTTP代理,并自动配置系统代理(全局模式)”,托盘图标变为红色以后,此问题得到了完美解决。再次更新pac,提示更新pac成功。
之所以平时用的是“仅开启HTTP代理,并清除系统代理”,是因为,我发现在win10系统下使用全局模式,有时候如果没有开启v2ray会导致系统自带天气应用不能正常工作,以及QQ查找好友,查看空间消息提示等无法正常工作。经过检查发现应该是由于v2ray开启了win10的代理中的手动代理设置导致的问题。由于我平时需要翻墙的应用都指定了走本地代理,包括用于翻墙的Chrome,FireFox等都通过switchyomega设置了本地代理,所以我这边无需开启系统代理。

@timeneverdie 感谢 我现在的情况是可以配置成功,但是连接不上google。
电脑端不可以,手机可以翻墙,节点应该没有问题,但是不知道为什么win10连不上。重新配置订阅n次都不行,pac和全局都试了,红的紫的都不能google 不知道您能否帮忙解决?
image

这个问题我也遇到了,情况描述完全一样。
我这边台式机和笔记本都是win10系统,且v2rayN都是3.29最新版,core是最新的4.33.0。然后台式机上可以正常访问Google及其他任何被墙网站,但是笔记本上却无法访问Google,但与此同时访问其他的被墙网站都是完全正常的。
我用的是v2rayN的“仅HTTP代理,并清除系统代理”,绿色托盘图标模式。浏览器Chrome,FireFox用的是SwitchyOmega插件来分流。目前还没有弄明白出现此问题的原因是什么。

之所以平时用的是“仅开启HTTP代理,并清除系统代理”,是因为,我发现在win10系统下使用全局模式,有时候如果没有开启v2ray会导致系统自带天气应用不能正常工作,以及QQ查找好友,查看空间消息提示等无法正常工作。

全局代理下访问UWP的办法:https://github.com/2dust/v2rayN/issues/1083#issuecomment-719555815

但是笔记本上却无法访问Google,但与此同时访问其他的被墙网站都是完全正常的

这个问题是因为偶尔google.com会被判定为直连,不信你下次发现Google连不上去的时候,可以打开v2rayN,看黑色的日志区域是不是把google.com判定为direct了。
至于造成这个问题的原因,有可能是DNS的影响,也可能是v2ray-core的影响。如果经常判断失误,可以手动指定google.com加入代理规则。

我用的是v2rayN的“仅HTTP代理,并清除系统代理”,绿色托盘图标模式。浏览器Chrome,FireFox用的是SwitchyOmega插件来分流。

这个用法有点问题,应该直接选择关闭系统代理,让托盘变为蓝色,此时其他软件就能正常调用。

我用的是v2rayN的“仅HTTP代理,并清除系统代理”,绿色托盘图标模式。浏览器Chrome,FireFox用的是SwitchyOmega插件来分流。

这个用法有点问题,应该直接选择关闭系统代理,让托盘变为蓝色,此时其他软件就能正常调用。

今晚遇到DNS解析的问题,发现你说的开启http但是清除系统代理确实也挺好用(win10的设置面板手动开关一下代理开关也是一样的效果)。开启这种模式后,托盘转为绿色,似乎这种模式下才能实现其他软件的调用。
因为我日常都是全局模式,顺带可以给正常给其他软件调用,所以一直没注意这点,现在想想蓝色托盘其实是连http代理都关闭了,应该没法让其他软件调用。
具体的等日后有需要我再实验实验吧。

@timeneverdie 感谢 我现在的情况是可以配置成功,但是连接不上google。
电脑端不可以,手机可以翻墙,节点应该没有问题,但是不知道为什么win10连不上。重新配置订阅n次都不行,pac和全局都试了,红的紫的都不能google 不知道您能否帮忙解决?
image

你好,之前我留言过,我情况跟你完全一样。我这边实际测试后发现,按照 @timeneverdie 的重置win10网络配置的方法不能解决此问题。但是根据 @timeneverdie 后面的回复,我更改了v2rayN路由设置后,此问题得到了完美解决。具体为:
打开v2rayN的参数设置,标签页Core:路由设置,代理的Domain或IP处填写google.com即可。或者在预定义规则处,改为全局也能解决问题。
我过去是预定义规则为“绕过局域网和大陆地址”,但最近突然遇到了你提出的问题。我本身通过浏览器Chrome,FireFox的插件SwitchyOmega来自动切换代理做分流,因此我的v2rayN设置的是“仅开启HTTP代理,并清除系统代理”。(相当于就是在win10代理那里手动关掉了代理设置,以免v2rayN没有开启时候,运行某些程序如天气应用和QQ查找好友或查看空间消息时,依然走代理,但又没有本地代理时出现无法打开的问题。)并在路由设置里面,保持“绕过局域网和大陆地址”的同时,添加代理Google。
这问题也是十分离奇,我的台式机跟笔记本的v2rayN版本和core版本都是完全一样的,但是台式机上就不用再专门添加Google代理就能正常访问,不知道这种是不是一个bug。

至于造成这个问题的原因,有可能是DNS的影响,也可能是v2ray-core的影响。如果经常判断失误,可以手动指定google.com加入代理规则。

感谢!
在路由设置中添加代理google.com后,此问题得到了完美的解决。谢谢!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

lszhwxa picture lszhwxa  ·  9Comments

lyryblog picture lyryblog  ·  3Comments

Radium-bit picture Radium-bit  ·  7Comments

hhr-hhr picture hhr-hhr  ·  9Comments

ggshuini picture ggshuini  ·  4Comments