V2rayn: 通过v2rayN不能使用TOR浏览器

Created on 3 Jan 2020  ·  18Comments  ·  Source: 2dust/v2rayN

在提出问题前请先自行排除服务器端问题和升级到最新客户端,同时也请通过搜索确认是否有人提出过相同问题。

已搜索,无相似问题。
下面所提到的,无论是v2rayN客户端,v2rayNG客户端,shadowsocks客户端和服务器端的v2ray-core,shadowsocks-libev都是最新版本。

预期行为

TOR服务已被封锁,需要挂上代理或者走tor所提供的公共网桥才能访问。
由于公共网桥速度很慢,因此使用自己的代理是最好的选择。理论上,当打开本地代理,设置好TOR浏览器的代理服务(127.0.0.1:1080,socks5)应该能够正常访问TOR服务。

实际行为

当v2rayN 3.4打开时,设置好了代理的tor服务器不能够工作。但此时,v2ray其实已经可以正常工作了。因为FireFox或者Chrome等浏览器都可以访问被墙网站,Telegram的PC客户端在设置好代理(127.0.0.1:1080,socks5)后也可以正常使用。另外作为对比参照,当使用shadowsocks客户端4.1.9.2时,同样的设置下,TOR浏览器是可以完全正常工作的。我已经检查过v2rayN的参数设置上没有问题,代理的端口就是1080。此问题在安卓端的v2rayNG也是一样的,能够正常工作,但是就是不能使用TOR浏览器,而换成了shadowsocks立马就能正常工作,其他设置都是完全一样的。

复现方法

每一次都是这样,并非偶然的一次意外,从我是用v2rayN以来(最初是3.2版本)就一直是这个问题。

日志信息,位置在当前目录下的guiLogs


--------------------------------info[14:44:15]--------------------------------
System.Exception: v2rayN start up

--------------------------------info[14:44:17]--------------------------------
System.Exception: Webserver prefixes http://*:1082/pac/

--------------------------------拒绝访问。[14:44:17]--------------------------------
System.Net.HttpListenerException (0x80004005): 拒绝访问。
在 System.Net.HttpListener.AddAllPrefixes()
在 System.Net.HttpListener.Start()
在 v2rayN.Base.HttpWebServer..ctor(String[] prefixes, Func`2 method)

--------------------------------info[14:44:17]--------------------------------
System.Exception: Webserver InitServer 拒绝访问。

--------------------------------info[14:44:17]--------------------------------
System.Exception: WebserverB at 127.0.0.1

--------------------------------info[14:44:18]--------------------------------
System.Exception: WebserverB Request 127.0.0.1

--------------------------------info[14:45:31]--------------------------------
System.Exception: WebserverB Request 127.0.0.1

--------------------------------info[14:46:18]--------------------------------
System.Exception: WebserverB Request 127.0.0.1

--------------------------------info[14:46:48]--------------------------------
System.Exception: WebserverB Request 127.0.0.1

--------------------------------info[14:51:16]--------------------------------
System.Exception: WebserverB Request 127.0.0.1

--------------------------------info[14:51:47]--------------------------------
System.Exception: WebserverB Request 127.0.0.1

--------------------------------info[14:54:06]--------------------------------
System.Exception: v2rayN start up

--------------------------------info[14:54:07]--------------------------------
System.Exception: Webserver prefixes http://*:1082/pac/

--------------------------------拒绝访问。[14:54:07]--------------------------------
System.Net.HttpListenerException (0x80004005): 拒绝访问。
在 System.Net.HttpListener.AddAllPrefixes()
在 System.Net.HttpListener.Start()
在 v2rayN.Base.HttpWebServer..ctor(String[] prefixes, Func`2 method)

--------------------------------info[14:54:07]--------------------------------
System.Exception: Webserver InitServer 拒绝访问。

--------------------------------info[14:54:07]--------------------------------
System.Exception: WebserverB at 127.0.0.1

--------------------------------info[14:54:08]--------------------------------
System.Exception: WebserverB Request 127.0.0.1

--------------------------------info[14:54:08]--------------------------------
System.Exception: WebserverB Request 127.0.0.1

--------------------------------info[14:54:08]--------------------------------
System.Exception: WebserverB Request 127.0.0.1

--------------------------------info[16:02:08]--------------------------------
System.Exception: WebserverB Request 127.0.0.1

--------------------------------info[16:02:12]--------------------------------
System.Exception: WebserverB Request 127.0.0.1

--------------------------------info[16:03:25]--------------------------------
System.Exception: WebserverB Request 127.0.0.1

环境信息(客户端请升级至最新正式版)

图片

额外信息(可选)

Most helpful comment

这是sniffing的问题,关闭sniffing即可。
v2ray有一个sniffing功能,它可以检测http和tls流量中的域名并把它提取出来交给vps解析,然后把这些流量的数据包的目的地址重写为解析所得的地址。其本意是解决dns污染的问题,但因为tor连接用了一些不寻常的方式(比如域名和ip不匹配等),所以此功能反而会使连接失败。

目前v2rayn还不能设置关闭sniffing,想关闭sniffing只能手动编辑配置文件。

All 18 comments

这是sniffing的问题,关闭sniffing即可。
v2ray有一个sniffing功能,它可以检测http和tls流量中的域名并把它提取出来交给vps解析,然后把这些流量的数据包的目的地址重写为解析所得的地址。其本意是解决dns污染的问题,但因为tor连接用了一些不寻常的方式(比如域名和ip不匹配等),所以此功能反而会使连接失败。

目前v2rayn还不能设置关闭sniffing,想关闭sniffing只能手动编辑配置文件。

太感谢楼上两位了,关闭了流量探测后,立即搞定。
问题圆满得到解决,谢谢你们!

这是sniffing的问题,关闭sniffing即可。
v2ray有一个sniffing功能,它可以检测http和tls流量中的域名并把它提取出来交给vps解析,然后把这些流量的数据包的目的地址重写为解析所得的地址。其本意是解决dns污染的问题,但因为tor连接用了一些不寻常的方式(比如域名和ip不匹配等),所以此功能反而会使连接失败。

目前v2rayn还不能设置关闭sniffing,想关闭sniffing只能手动编辑配置文件。

非常感谢你的耐心讲解,让我对这个流量探测的原理有了更多的认识,同时了解到了这个问题产生的根本原因。很开心,终于明白了。之前一直困惑了我很久,为啥shadowsocks可以,而v2ray却就不行。明明都是设置好的,而且v2ray也是正常工作的。
现在v2rayN的话可以在客户端界面的参数设置里修改,将默认的对号去掉即可。当然了,直接去改配置文件,应该效果也是一样的,如果没有那个客户端界面选项的话。
谢谢你!

关闭了流量探测后,还是没有办法访问。要怎么办

@zionfuo 最新版的v2rayN和v2ray-core没有这个问题,你升级到最新版试试,还是不行看下配置文件。

@zionfuo 最新版的v2rayN和v2ray-core没有这个问题,你升级到最新版试试,还是不行看下配置文件。

我也是用的V2ray-core,也是上不了,没开sniff。

@zionfuo 最新版的v2rayN和v2ray-core没有这个问题,你升级到最新版试试,还是不行看下配置文件。

我也是用的V2ray-core,也是上不了,没开sniff。

试试Advanced Onion Router

@zionfuo 最新版的v2rayN和v2ray-core没有这个问题,你升级到最新版试试,还是不行看下配置文件。

我也是用的V2ray-core,也是上不了,没开sniff。

试试Advanced Onion Router

V2rayU在没有sniffing的情况下也是不行。

@MrPoopyLobster 我这边是Win版的V2RayN

救命,我用的是ikuuu的V2ray。关了流量流量探测也不能代理。

最新版v2rayN 也还是不行

特别注意同时设置客户端和服务端的sniffing,均设置为false之后,可以成功连接

@earlvking 怎么把服务端的sniffing设置为false呢,用的是233boy的一键脚本搭建的,把v2rayN客户端的流量探测取消后,别人共享的v2ray账号可以给Tor前置代理,但是我自己搭建的却失败。

现在好像不行了

@earlvking 怎么把服务端的sniffing设置为false呢,用的是233boy的一键脚本搭建的,把v2rayN客户端的流量探测取消后,别人共享的v2ray账号可以给Tor前置代理,但是我自己搭建的却失败。

233的一键安装脚本默认就是打开sniffing的,所以要自己去VPS后台去修改
vi /usr/bin/v2ray/config.json
我一开始也是,用的233搭建的自己的v2ray,本地客户端关闭流量探测不可用TOR,后来去后台改了一下立马就好了

修改后重启一下服务试试,应该就可以

@earlvking 怎么把服务端的sniffing设置为false呢,用的是233boy的一键脚本搭建的,把v2rayN客户端的流量探测取消后,别人共享的v2ray账号可以给Tor前置代理,但是我自己搭建的却失败。

233的一键安装脚本默认就是打开sniffing的,所以要自己去VPS后台去修改
vi /usr/bin/v2ray/config.json
我一开始也是,用的233搭建的自己的v2ray,本地客户端关闭流量探测不可用TOR,后来去后台改了一下立马就好了

多谢老哥,亲测解决

Was this page helpful?
0 / 5 - 0 ratings