SwitchyOmega+Chrome+Win10 环境下 SOCKS5 协议问题(影响 Shadowsocks) #557

Closed
zzfnuaa opened this Issue Aug 12, 2015 · 123 comments

Projects

None yet
@zzfnuaa
zzfnuaa commented Aug 12, 2015 edited

最近升级到win10后SwitchyOmega+SS翻墙不稳定了,经常网页打不开。一开始认为是ss的问题,后来在SS论坛看到该帖shadowsocks/shadowsocks-windows#247 (请仔细看下这个帖子)。目前在SwitchyOmega中选择系统代理,配合ss,翻墙正常。是哪出问题了,请指导,谢谢!

@FelisCatus
Owner
FelisCatus commented Aug 15, 2015 edited

请先读我

以下内容为 @FelisCatus 在问题解决后追加,总结了问题、原因和解决方案:

长话短说: 使用 Shadowsocks 的用户如果遇到 Chrome + Windows 10 环境下 SOCKS5 不稳定的问题, 请在代理设置中换成 HTTP 代理协议。 原因已经确定,是迅雷组件修改系统连接参数所致,卸载迅雷并重启也能修复。此问题与 SwitchyOmega 无关,其他代理设置软件或者手动设置代理也会导致 Chrome 发生此问题。

或者, 请升级迅雷到版本 7.9.43 以上。 关于该版本迅雷的说明见此,迅雷官方声称修正了此问题。

以下为整个发现问题到讨论到解决的全过程,可供大家参考。接近讨论最下方有一些其他的解决方案(禁用迅雷组件或者修改参数等),也许能帮上您的忙。 如果某种解决方法有用,请点击评论右上角笑脸按钮,然后点个赞 👍 来表达感谢。请勿回复“我也是!”或者“+1”等无意义内容,否则参与讨论的所有人都会被邮件轰炸。

@FelisCatus
Owner
FelisCatus commented Aug 15, 2015 edited

请打开地址chrome://net-internals/#proxy,并将页面上显示的文本粘贴到这里。我看一下是否是代理设置相关的问题。

相关信息,供各位参考:

  • SwitchyOmega 支持的代理模式是 HTTP, HTTPS, SOCKS4, SOCKS5 共四种。出现问题的各位请先检查一下代理协议,如果错误地设置成HTTPS或SOCKS4了,请改为SOCKS5。
    • 此外,ShadowSocks 也支持 HTTP 方式, 可以试试看切换到 HTTP。 有不少人反馈HTTP方式仍然可以正常工作。
  • SwitchyOmega 最近并未更新代理设置相关的内容,不太像是代码问题。关于这一点,按照上述方法确认一下实际有效的代理设置就知道了。
  • 根据用户反馈 SwitchySharp 也有类似问题,猜想所有设置代理的扩展均会有这种情况,甚至命令行参数设置的代理也会有这种情况。
    • 然而有用户反馈使用系统代理就没有问题,暂时还不清楚原因。各位可以试试看使用系统代理,然后再确认chrome://net-internals/#proxy页面上的内容,就知道有何差异。
    • 有条件的话各位也可以试试看命令行参数或者其他代理设置扩展,看看问题是否存在,这样对定位问题很有帮助。
  • 目前我比较怀疑是 Chrome 的网络底层实现有所更新,或者 Windows 10 的协议实现与之前不同,甚至是打的安全补丁导致协议实现出现差异。
    • 之前有用户在不同环境测试过,似乎只有 Windows 10 操作系统有此问题。
    • 更新:有用户提出了一个和Windows协议实现有关的解决方案,暂时未证实是否有效,但这加重了对于Windows协议问题的怀疑。
    • 我自己在 Linux 4.0.1 内核的系统上无法复现此问题。
    • 不妨试试看去 Chromium 项目提交一些报告,并且说明一下情况,或者附带一些 wireshark 等信息,看看那边是否能发现问题。如果真的是最近代码修改导致的话,那边也可以注意到。

以上这些,希望有用。因为这次我自己没有遇到此问题,也无法复现,且我自己对于网络协议细节了解比较少,所以没办法直接定位或者解决问题。遇到问题的各位可以先说明一下自己的浏览器版本,按照上面的说明,多提供一些信息,看看众人的智慧能否解决。

@FelisCatus FelisCatus referenced this issue in shadowsocks/shadowsocks-windows Aug 15, 2015
Closed

failed to recv data in handshakeReceive2Callback #247

@FelisCatus FelisCatus changed the title from win10 X64 chrome 44.0.2403.130 m 出现异常情况 to SwitchyOmega+Chrome+Win10 环境下 SOCKS5 协议问题(影响 Shadowsocks) Aug 15, 2015
@zzfnuaa
zzfnuaa commented Aug 15, 2015

@FelisCatus Effective proxy settings

PAC script: data:application/x-ns-proxy-autoconfig;base64,LypPbWVnYVByb2ZpbGUqInNzLWF1dG8iKjE0ZjFiYmMzNWI1Ki92YXIgRm
整个太长了,超过规定的字数不让发,因此就复制了开始的这一段。另外,我QQ739073061,方便的话加下我,这样沟通更方便快捷。谢谢你

@zzfnuaa
zzfnuaa commented Aug 15, 2015

@FelisCatus 此外,当前系统是win10 X64,chrome是Version 44.0.2403.155 m,附上我ss的部分日志:
[2015-08-15 21:07:40] Y站- DO San Francisco2 (104.236..8:5_90) timed out
[2015-08-15 21:15:08] Y站- DO San Francisco2 (104.236.
.8:5_90) timed out
[2015-08-15 21:16:07] System.Net.Sockets.SocketException (0x80004005): A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
at System.Net.Sockets.Socket.EndReceive(IAsyncResult asyncResult)
at Shadowsocks.Controller.Handler.PipeRemoteReceiveCallback(IAsyncResult ar)
[2015-08-15 21:17:33] Y站- DO San Francisco2 (104.236..8:5_90) timed out
[2015-08-15 21:19:21] Y站- DO San Francisco2 (104.236.
.8:5_90) timed out
[2015-08-15 21:20:03] System.Net.Sockets.SocketException (0x80004005): A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
at System.Net.Sockets.Socket.EndReceive(IAsyncResult asyncResult)
at Shadowsocks.Controller.Handler.PipeRemoteReceiveCallback(IAsyncResult ar)
[2015-08-15 21:29:39] System.Net.Sockets.SocketException (0x80004005): A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
at System.Net.Sockets.Socket.EndReceive(IAsyncResult asyncResult)
at Shadowsocks.Controller.Handler.PipeRemoteReceiveCallback(IAsyncResult ar)
[2015-08-15 21:47:46] Y站- DO San Francisco2 (104.236..8:5_90) timed out
[2015-08-15 21:47:49] Y站- DO San Francisco2 (104.236.
.8:5_90) timed out
[2015-08-15 21:47:49] System.Net.Sockets.SocketException (0x80004005): An invalid argument was supplied
at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.Sockets.Socket.InternalBind(EndPoint localEP)
at System.Net.Sockets.Socket.BeginConnectEx(EndPoint remoteEP, Boolean flowContext, AsyncCallback callback, Object state)
at System.Net.Sockets.Socket.BeginConnect(EndPoint remoteEP, AsyncCallback callback, Object state)
at Shadowsocks.Controller.Handler.StartConnect()
[2015-08-15 21:47:49] Y站- DO San Francisco2 (104.236..8:5_90) timed out
[2015-08-15 21:47:52] Y站- DO San Francisco2 (104.236.
.8:5_90) timed out
[2015-08-15 21:47:52] Y站- DO San Francisco2 (104.236..8:5_90) timed out
[2015-08-15 21:47:52] Y站- DO San Francisco2 (104.236.
.8:5_90) timed out
[2015-08-15 21:51:40] Y站- DO San Francisco2 (104.236..8:5_90) timed out
[2015-08-15 21:51:40] Y站- DO San Francisco2 (104.236.
.8:5_90) timed out
[2015-08-15 21:52:20] Y站- DO San Francisco2 (104.236..8:5_90) timed out
[2015-08-15 21:52:23] Y站- DO San Francisco2 (104.236.
.8:5_90) timed out
[2015-08-15 21:52:28] System.Net.Sockets.SocketException (0x80004005): A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
at System.Net.Sockets.Socket.EndReceive(IAsyncResult asyncResult)
at Shadowsocks.Controller.Handler.PipeRemoteReceiveCallback(IAsyncResult ar)
[2015-08-15 21:52:30] System.Net.Sockets.SocketException (0x80004005): A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
at System.Net.Sockets.Socket.EndReceive(IAsyncResult asyncResult)
at Shadowsocks.Controller.Handler.PipeRemoteReceiveCallback(IAsyncResult ar)
[2015-08-15 21:52:36] Y站- DO San Francisco2 (104.236..8:5_90) timed out
[2015-08-15 21:52:36] Y站- DO San Francisco2 (104.236.
.8:5_90) timed out
[2015-08-15 21:52:39] Y站- DO San Francisco2 (104.236..8:5_90) timed out
[2015-08-15 21:52:39] Y站- DO San Francisco2 (104.236.
.8:5_90) timed out
[2015-08-15 21:53:36] System.Net.Sockets.SocketException (0x80004005): A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
at System.Net.Sockets.Socket.EndReceive(IAsyncResult asyncResult)
at Shadowsocks.Controller.Handler.PipeRemoteReceiveCallback(IAsyncResult ar)
[2015-08-15 21:55:08] System.Net.Sockets.SocketException (0x80004005): A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
at System.Net.Sockets.Socket.EndReceive(IAsyncResult asyncResult)
at Shadowsocks.Controller.Handler.PipeRemoteReceiveCallback(IAsyncResult ar)
[2015-08-15 21:55:11] System.Net.Sockets.SocketException (0x80004005): A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
at System.Net.Sockets.Socket.EndReceive(IAsyncResult asyncResult)
at Shadowsocks.Controller.Handler.PipeRemoteReceiveCallback(IAsyncResult ar)

@FelisCatus
Owner

@zzfnuaa 自动切换模式的设置实在是太长了,而且用于测试代理很不方便。建议直接选中 shadowsocks 所用的那个情景模式,这样可以全局应用代理,然后试试看问题是否仍然存在。如果是的话,请再次检查一下chrome://net-internals/#proxy页面的内容。麻烦您了。

@zzfnuaa
zzfnuaa commented Aug 16, 2015

@FelisCatus 您太客气了,你帮我解决问题,是我麻烦你了,谢谢!刚才使用的时候能打开youtube,这几天的使用过程中无法翻墙的情况时不时出现。内容如下:
Effective proxy settings

Proxy server for everything else: socks5://127.0.0.1:1080
Bypass list:
127.0.0.1
[::1]
localhost

同时间ss的日志如下:
[2015-08-16 15:46:23] Shadowsocks started
[2015-08-16 15:47:03] Y站- DO San Francisco2 (104.236..8:51490) timed out
[2015-08-16 15:47:07] Y站- DO San Francisco2 (104.236..8:51490) timed out
[2015-08-16 15:47:10] Y站- DO San Francisco2 (104.236..8:51490) timed out
[2015-08-16 15:50:20] Y站- DO San Francisco2 (104.236..8:51490) timed out
[2015-08-16 15:50:20] System.Net.Sockets.SocketException (0x80004005): An invalid argument was supplied
at System.Net.Sockets.Socket.BeginConnectEx(EndPoint remoteEP, Boolean flowContext, AsyncCallback callback, Object state)
at System.Net.Sockets.Socket.BeginConnect(EndPoint remoteEP, AsyncCallback callback, Object state)
at Shadowsocks.Controller.Handler.StartConnect()
[2015-08-16 15:50:23] Y站- DO San Francisco2 (104.236..8:51490) timed out
[2015-08-16 15:50:23] Y站- DO San Francisco2 (104.236..8:51490) timed out
[2015-08-16 15:50:25] Y站- DO San Francisco2 (104.236..8:51490) timed out
[2015-08-16 15:50:39] Y站- DO San Francisco2 (104.236..8:51490) timed out
[2015-08-16 15:50:39] System.Net.Sockets.SocketException (0x80004005): An invalid argument was supplied
at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.Sockets.Socket.InternalBind(EndPoint localEP)
at System.Net.Sockets.Socket.BeginConnectEx(EndPoint remoteEP, Boolean flowContext, AsyncCallback callback, Object state)
at System.Net.Sockets.Socket.BeginConnect(EndPoint remoteEP, AsyncCallback callback, Object state)
at Shadowsocks.Controller.Handler.StartConnect()
[2015-08-16 15:50:42] Y站- DO San Francisco2 (104.236..8:51490) timed out
[2015-08-16 15:50:42] Y站- DO San Francisco2 (104.236..8:51490) timed out
[2015-08-16 15:51:02] Y站- DO San Francisco2 (104.236..8:51490) timed out
[2015-08-16 15:51:31] Y站- DO San Francisco2 (104.236..8:51490) timed out
[2015-08-16 15:51:36] Y站- DO San Francisco2 (104.236..8:51490) timed out
[2015-08-16 15:51:39] Y站- DO San Francisco2 (104.236..8:51490) timed out
[2015-08-16 15:51:41] Y站- DO San Francisco2 (104.236..8:51490) timed out
[2015-08-16 15:52:04] System.Net.Sockets.SocketException (0x80004005): A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
at System.Net.Sockets.Socket.EndReceive(IAsyncResult asyncResult)
at Shadowsocks.Controller.Handler.PipeRemoteReceiveCallback(IAsyncResult ar)

@zzfnuaa
zzfnuaa commented Aug 16, 2015

@FelisCatus 重启电脑后,又翻不了墙了。内容如下
Effective proxy settings

Proxy server for everything else: socks5://127.0.0.1:1080
Bypass list:
127.0.0.1
[::1]
localhost

同时间的ss日志[2015-08-16 16:12:56] failed to recv data in handshakeReceive2Callback
[2015-08-16 16:13:10] System.Net.Sockets.SocketException (0x80004005): A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
at System.Net.Sockets.Socket.EndReceive(IAsyncResult asyncResult)
at Shadowsocks.Controller.Handler.PipeRemoteReceiveCallback(IAsyncResult ar)
[2015-08-16 16:13:10] System.Net.Sockets.SocketException (0x80004005): A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
at System.Net.Sockets.Socket.EndReceive(IAsyncResult asyncResult)
at Shadowsocks.Controller.Handler.PipeRemoteReceiveCallback(IAsyncResult ar)
[2015-08-16 16:13:12] failed to recv data in handshakeReceive2Callback
[2015-08-16 16:13:24] failed to recv data in handshakeReceive2Callback
[2015-08-16 16:13:24] failed to recv data in handshakeReceive2Callback
[2015-08-16 16:13:24] failed to recv data in handshakeReceive2Callback
[2015-08-16 16:13:26] failed to recv data in handshakeReceive2Callback
[2015-08-16 16:13:29] failed to recv data in handshakeReceive2Callback
[2015-08-16 16:13:41] failed to recv data in handshakeReceive2Callback
[2015-08-16 16:13:42] failed to recv data in handshakeReceive2Callback
[2015-08-16 16:14:06] failed to recv data in handshakeReceive2Callback
[2015-08-16 16:14:13] failed to recv data in handshakeReceive2Callback
[2015-08-16 16:14:43] failed to recv data in handshakeReceive2Callback
[2015-08-16 16:14:44] failed to recv data in handshakeReceive2Callback
[2015-08-16 16:15:05] failed to recv data in handshakeReceive2Callback

@zzfnuaa
zzfnuaa commented Aug 16, 2015

@FelisCatus 切换到系统代理后,youtube可以打开了,内容如下
Effective proxy settings

PAC script: http://127.0.0.1:1080/pac?t=201508161609214414
Source: SYSTEM
Original proxy settings

(1) Auto-detect
(2) PAC script: http://127.0.0.1:1080/pac?t=201508161609214414
Source: SYSTEM

同时间ss日志
[2015-08-16 16:16:24] Y站- DO San Francisco2 (104.236..8:51490) timed out
[2015-08-16 16:16:59] Y站- DO San Francisco2 (104.236..8:51490) timed out
[2015-08-16 16:17:02] Y站- DO San Francisco2 (104.236..8:51490) timed out
[2015-08-16 16:17:02] Y站- DO San Francisco2 (104.236..8:51490) timed out
[2015-08-16 16:17:05] Y站- DO San Francisco2 (104.236..8:51490) timed out

@FelisCatus
Owner

@zzfnuaa 看看PAC里的内容(shadowsock运行的时候,直接点那个连接打开),使用的代理协议是SOCKS5吗?

此外,还可以试试看创建一个PAC情景模式,URL填写http://127.0.0.1:1080/pac?t=201508161609214414之类的。这样效果如何?理论上来说,这样就会直接使用shadowsocks提供的PAC文件,和使用系统代理效果应该类似。

@zzfnuaa
zzfnuaa commented Aug 17, 2015

@FelisCatus PAC里的内容如下

// Generated by gfwlist2pac in precise mode
// https://github.com/clowwindy/gfwlist2pac

var proxy = "PROXY 127.0.0.1:1080;";

// ...
@zzfnuaa
zzfnuaa commented Aug 17, 2015

@FelisCatus 附上我的SwitchyOmega设置
1
2

@FelisCatus
Owner

@zzfnuaa 可以看到shadowsocks中生成的是PROXY 127.0.0.1:1080;,用的是HTTP协议,而非 SOCKS5 协议。

如果使用 SwitchyOmega 的话,可以将设置也改成 HTTP 协议,就应该能正常使用了。

至于为什么SOCKS5不能用嘛……至少SwitchyOmega的嫌疑可以排除了,接下去我觉得就应该怀疑Chrome或者Windows10了。

@langxuan

在shadowsocks client不启用系统代理的情况下,无论使用SwitchyOmega、SwitchySharp、firefox直接设置socks5代理都无法正常使用,谨慎怀疑是win10作大死啦┑( ̄Д  ̄)┍

@FelisCatus
Owner

@langxuan 等等, Firefox 也不行?最好到shadowsocks那边相关的issue说一下这种情况,然后再抓点包什么的,看看是否能有帮助。

@Tback1
Tback1 commented Aug 19, 2015

@zzfnuaa 建议你看看你已经更新了新的累计补丁没,尽快更新一下试试.我的系统环境和你类似,刚安装的时候的确有这个问题,不过更新之后就没出现了,

@FelisCatus 这个问题应该是shadowsocks新版使用4.0的.Net框架后因为套接字协议本身字长发生变化造成的,不过在win10 64位 第三个集合补丁之后,似乎这个兼容性问题已经解决

@zzfnuaa
zzfnuaa commented Aug 19, 2015

@FelisCatus 我使用wireshark v1.12.7抓了些数据,上传到百度云,http://pan.baidu.com/s/1eQpoHUE,http://pan.baidu.com/s/1dDlmU21。系统win10 pro X64 英文版,chrome 44.0.2403.155 m,shadowsocks 2.5.5。

@zzfnuaa
zzfnuaa commented Aug 19, 2015

@Tback1 我今天上午安装了最新的KB3081444,但是还是有这问题。。。。

@FelisCatus
Owner

那边 Issue 已经关掉了,具体可以看这里的说明{链接已经失效!}。如果您的情况和之前的结论不相符,建议去那边汇报并提供相关信息。
由于暂时的结论是这并不是一个问题,所以我这边也先关掉好了。关闭Issue不等于关闭评论,只是标记此问题已经解决/不存在而已。如果有任何内容仍然可以继续回复讨论,欢迎继续对协议细节进行探讨。

@FelisCatus FelisCatus closed this Aug 20, 2015
@oe77
oe77 commented Aug 25, 2015

xshot-0015
我本身用的是Shadowsocks-QT5+win10+SwitchyOmega+chome+SOCKS5,能正常使用,但今天用了shadowsocks2.5.6+win10+SwitchyOmega+chome+SOCKS5,就不能正常使用,改用http虽然能用但比较慢,无奈之下再重装一下系统,换回原来的Shadowsocks-QT5+win10+SwitchyOmega+chome+SOCKS5,正常使用中.....

@wudimenghuan

我也是同样情况,升级win10就不好使了

@yymyyy
yymyyy commented Aug 27, 2015

windows10正式版刚发布就使用chrome+switchyomega+shadowsocks的方案,一直正常,今天突然发现自动切换与使用代理的方案不能正常google。因为天天使用google,所以确信昨天还是正常的。仔细看了才发现其他软件都正常,Edge上网dropbox同步都正常,然后试试使用switchyomega的系统代理,确实也是正常,如楼上所说。然后上网搜索才发现这里有人讨论。水平有限只能这样反馈一下了。

@wudimenghuan

我发现好像是升级win10之后是有一些问题的,但是在另一个电脑上是正常的,区别好像是因为另一个电脑重置过。推测是重置过或者全新安装的win10是没问题的

@FelisCatus
Owner

那边的 Issue 不在了,所以我再说一下之前的讨论结果。

长话短说: 使用 Shadowsocks 的用户如果遇到 Chrome + Windows 10 环境下 SOCKS5 不稳定的问题, 请在代理设置中换成 HTTP 代理协议。

有些用户反映SOCKS5不稳定或者没法用,也有用户没有遇到任何问题的。至于是为什么,我也不知道。SS那边之前的讨论结果是错误信息不影响使用,但也许是其他问题呢?总之暂时而言用 HTTP 比较保险。

@celeron533

协议换成http应该能解决问题。在shadowsocks Issue board 关闭之前,clowwindy发现最新版chrome在socks5行为上有变化,导致提前关闭连接。采用http方式后,ss先把http传送到ss_polipo翻译成socks5,然后ss重新把socks5加密收发。

@Shutongv5

遇到了相同的问题。Chrome版本 43.0.2357.134

禁用switchyomega外的所有插件。
socks5连接不上;http正常;系统代理正常

@zzfnuaa
zzfnuaa commented Aug 30, 2015

@FelisCatus 最近发现只要卸载掉迅雷或者安装迅雷的时候不勾选多浏览器支持,sock5下翻墙就正常了。

@GabrielCarson

@FelisCatus 我觉得是chrome的问题,前天我也发现了忽然代理不好用了,然后试了很久,64bit和32bit的chrome上所有的代理软件都有问题,但是在canary上就一切正常,连omega的设置都是自动同步到canary上的,所以目前暂用canary

@yymyyy
yymyyy commented Aug 31, 2015

@zzfnuaa 真的可能是迅雷!我的win10在7月29日发布正式版左右安装至今已1个月,一直正常,现在看你提起迅雷才想起,26日为了下载一个镜像装了迅雷,27日早上开机就发现异常了。

@FelisCatus
Owner

@zzfnuaa @yymyyy 我觉得你们说的可能也有道理……毕竟这种软件很可能会修改系统的连接设置(尤其是TCP相关的)从而达到优化下载速度或者某些其他目的。如果其他人有兴趣的话可以试试看,或者用虚拟机之类的看看是否能重现。

@Xuanwo
Xuanwo commented Sep 3, 2015

复现了,更新迅雷之后开始出现这样的问题- -

@langyanduan

早上更新了迅雷, 代理就不能用了, 刚刚卸载迅雷重启后就正常了...

@FelisCatus
Owner

各位迅雷用户试试看在管理员权限命令行运行netsh winsock reset,看看是否能修复?如果能的话就不用卸载迅雷了。

@ahappyboy1990

请求的内容需要提升

@ahappyboy1990

还真是改成http就可以用了自动切换了

@ahappyboy1990

真是迅雷的问题,刚才把迅雷卸载了,自动切换就好了sock5也可以了

@Xuanwo
Xuanwo commented Sep 6, 2015

用HTTP就行= =,表示迅雷好脏,求替代品

@ahappyboy1990

似乎和迅雷多浏览器支持功能有关系呢

@iKirby
iKirby commented Sep 8, 2015

升级Windows10之后并没有出现问题,没有使用迅雷。可能就是迅雷的问题了。

@ahappyboy1990

似乎和其他有关,又时不时出现这问题呢

@anC8899
anC8899 commented Sep 9, 2015

卸载了迅雷就好了。一直正常,昨天刚安装了迅雷今天就不正常了

@johnhuo
johnhuo commented Sep 17, 2015

我是最近才出现的这种情况,
环境:Win 7 64位,chrome 45+(chrome一直跟进最新版),Shadowsocks,switchyomega,迅雷(迅雷一直都有,以前也没出现过问题)
改成HTTP模式百度和github可以访问twitter和google不能访问,改成socket4/5模式正好相反。好奇怪
然而我把Shadowsocks客户端代理端口哦换了一个(以前是1090现在8888)一切正常了。
以上是我的情况,希望能提供一些信息/。

@johnhuo
johnhuo commented Sep 17, 2015

用了一下午都是好的,突然又不行了,秒改端口,现在可以了。可以说明是chrome45+的问题

@Ginurx
Ginurx commented Sep 20, 2015

浏览器请求0x5 0x1 0x0,代理返回0x5 0x0之后浏览器没有继续请求,最后超时断开

@ghostinthewild

我的环境是chrome 45(stable 64bit) + win 7 专业版(64 bit)+ shadowsocks 2.5.2到2.5.8,Switchy Sharp和Switchy Omega直连和代理均不能使用,唯一的情况是只有ss开了系统代理+omega系统代理才能连接。同时dropbox用socks5代理可以连接,所以ss并没有问题。
chrome的问题是突然出现的,怀疑是在chrome后台升级之后。重装chrome并未解决这个问题,把设置里socks5改成http终于恢复。

@jejer
jejer commented Sep 27, 2015

可以确认不是ss的问题 dropbox走相同的socks5没问题。 ss日志中没有浏览器访问的记录 是设置的代理失效 还没抓包看到底走哪里去了

@Justsoos

win10 可能改了系统端口占用的报错机制,导致楼主没有发现问题所在。
我的win7,一星期前迅雷的后台常驻进程 ThunderPlatform.exe 突然一反常态的占用了本机1080端口,导致ss出错。

解决方法:
先运行ss,或先退出这个迅雷后台进程,抢占端口,再开迅雷就没问题了。或者把你的ss的本机端口号改成其他数字。楼主用系统代理可以访问,不走特殊端口,也能解决,是同一个道理。

至于为什么迅雷突然这么反常。不知原因。
检查这个出错,其实很简单,用这个命令看谁占用了1080口(或你设置的端口号)
netstat -b

比如我的结果:

C:\Windows\system32>netstat -b

活动连接

协议 本地地址 外部地址 状态
TCP 127.0.0.1:1080 licensing:14283 ESTABLISHED
[Shadowsocks.exe]

@IMAsukininaru

netsh winsock reset使用后重启恢复,再次打开迅雷后会再次失效

@FelisCatus
Owner

@SaenaiYuki 好吧,真遗憾。这样大概就能确认是迅雷改了网络相关设置了,虽然我也不知道具体是什么。

@IMAsukininaru

重置winsock
如果系统打开了UAC 迅雷开启一段时间后会要求一个系统权限 此时如果允许 就会被修改 ;不允许 也不会影响下载

@flashship

迅雷导致的问题。。。即便不选择多浏览器支持,照样会出现问题,so,别用迅雷就好了。。。

@booooom
booooom commented Oct 9, 2015

同样的问题困扰我了好几天,代理协议改成http之后正常

@kunimi
kunimi commented Oct 10, 2015

基本上确认是迅雷的问题:我win 8.1下今天安装迅雷后无法正常使用,卸载后一切正常。

@Anderlyz

我是win7 x64,现在也出现同样的问题,就是socks5模式不行,换成http就OK了
ss的版本是2.3.1,跟版本有关系吗?

@johnhuo
johnhuo commented Oct 12, 2015

@ Anderlyz 和chrome,迅雷有关。和ss无关

On Mon, Oct 12, 2015 at 12:22 AM, Anderlyz notifications@github.com
wrote:

我是win7 x64,现在也出现同样的问题,就是socks5模式不行,换成http就OK了

ss的版本是2.3.1,跟版本有关系吗?

Reply to this email directly or view it on GitHub:
#557 (comment)

@wenliyang

我用的绿色精简版迅雷,没有碰到过这个问题

@ghost
ghost commented Oct 12, 2015

是迅雷的问题,但不是迅雷主程序的问题,而是迅雷下 XLServicePlatform 这个服务的问题。

这个服务占了 1080 端口,和 SS 默认的端口配置冲突了,所以报错出异常。

迅雷不用卸载,禁了这个服务就行了。

See: shadowsocks/shadowsocks-windows#247.

@celeron533

@LiamHuang0205 迅雷的行为很诡异,我换了个端口,从1080换到1920(嗯,都是fullHD),一台装过迅雷的机器换了端口以后一直平安无事。另一台机器由于重装了系统,平时默认一直在后台开着SS 1920端口,结果装了迅雷立马就不能用了。怀疑迅雷检测到以后故意占用。

@ghost
ghost commented Oct 13, 2015

我这没有测试环境,你再换个端口试试……?

在 2015年10月13日 上午11:00,Allen Zhu notifications@github.com写道:

@LiamHuang0205 https://github.com/LiamHuang0205
迅雷的行为很诡异,我换了个端口,从1080换到1920(嗯,都是fullHD),一台装过迅雷的机器换了端口以后一直平安无事。另一台机器由于重装了系统,平时默认一直在后台开着SS
1920端口,结果装了迅雷立马就不能用了。怀疑迅雷故意占用。


Reply to this email directly or view it on GitHub
#557 (comment)
.

@jyz19880823

是迅雷的问题,卸载了就好了,但应该不是端口的问题

@FelisCatus FelisCatus referenced this issue Nov 3, 2015
Closed

问题反馈 #628

@bugparty
bugparty commented Nov 3, 2015

我也是迅雷装上就不能用,卸载迅雷就能用了

@garrydzeng

@FelisCatus 出现此 issue 的问题,卸载迅雷后正常

@ituff
ituff commented Nov 5, 2015

确实是迅雷的问题,禁用xlservice即可恢复。
但是应该不是1080端口的问题,因为我在一个公网IP服务器上用bitvise建立socks5,3888端口,问题依旧。

@WeiqiChenCN

的确是迅雷导致socks5协议无法上网!!但是也不是1080端口问题,因为1080端口在我的开发板上面呢。

@WeiqiChenCN

让迅雷和SwitchyOmega共存的命令:
以管理员权限运行cmd.exe,
然后运行下面两个命令:
sc stop XLServicePlatform
sc delete XLServicePlatform

上面两条命令是停止并删除迅雷服务。大家敬请参考。

@celeron533

@gameboy709494 不知道迅雷更新后是否会自动重开服务。

@WeiqiChenCN

迅雷更新的话我觉得应该会啊,之所以不肯定我没有试过去更新迅雷。
但是卸载并重新安装就肯定会重新按照这个服务,更新的行为恐怕和全新安装是一样的,所以……不言而喻。

@WeiqiChenCN

对于关闭UAC(没有UAC的OS例如WinXP),这个服务在迅雷软件被打开的时候静默安装!!!
因为我每次打开迅雷之后,都会弹出一个关于迅雷某个程序UAC提权,如果你点击是,那么这个服务就会被安装到服务里面。

@flyingnn

还真是讯雷的问题,查了一个早上,才看到这里,卸载掉它就OK了。

@bugparty

可以尝试安装绿色版迅雷,没有这个问题

@winteryoung

不用卸载迅雷, 改 ss 的端口到一个不常用的端口好了. 我觉得 ss 这个报错可以改进一下. 1080 本来就是一个常用端口.

@bugparty

不是端口的问题,任意端口都不行

2015-11-25 14:42 GMT+08:00 Winter Young notifications@github.com:

不用卸载迅雷, 改 ss 的端口到一个不常用的端口好了. 我觉得 ss 这个报错可以改进一下. 1080 本来就是一个常用端口.


Reply to this email directly or view it on GitHub
#557 (comment)
.

@ituff
ituff commented Nov 26, 2015

是的,和端口无关,我用4997这样的冷门端口也有问题

@WeiqiChenCN

我干脆就卸掉迅雷安装绿色版的迅雷。

@ky0ncheng ky0ncheng referenced this issue in shadowsocks/shadowsocks-qt5 Dec 5, 2015
Closed

socket connection error #234

@ituff
ituff commented Dec 6, 2015

问题是迅雷的服务不启用会影响迅雷的磁盘。

2015-12-06 1:19 GMT+08:00 陈伟琪 notifications@github.com:

我干脆就卸掉迅雷安装绿色版的迅雷。


Reply to this email directly or view it on GitHub
#557 (comment)
.

Hsiao Cheng
Live to learn, learn to live. 以文会友,以友辅仁。
欢迎访问我的个人网站 www.totoro.asia

@WeiqiChenCN

不明白。
不过我又不经常用迅雷,而且把服务杀掉也没有导致显著的问题。

@ituff
ituff commented Dec 8, 2015

那就没问题了,我经常挂着迅雷下载,停止服务,时间长了系统会磁盘100%假死

2015-12-08 16:32 GMT+08:00 陈伟琪 notifications@github.com:

不明白。
不过我又不经常用迅雷,而且把服务杀掉也没有导致显著的问题。


Reply to this email directly or view it on GitHub
#557 (comment)
.

Hsiao Cheng
Live to learn, learn to live. 以文会友,以友辅仁。
欢迎访问我的个人网站 www.totoro.asia

@WeiqiChenCN

还有这样的影响。→_→

@TYZRPVX
TYZRPVX commented Dec 14, 2015

迅雷可以去死了

@shenhuabuluo

现在有解决办法了吗?除了卸载和停止服务

@oe77
oe77 commented Dec 20, 2015

迅雷与Shadowsocks端口冲突,导致不能正常使用socks5代理协议!
这个问题其实已经解决了,大家就别讨论了!
方法1:修改代理协议为HTTP
方法2:修改Shadowsocks代理端口
方法3(推荐):先把安装好的迅雷复制一份到别的盘(等于自制无色无毒的绿色版迅雷),然后完全卸载迅雷!

@WeiqiChenCN

楼上,好像真的不是端口冲突吧。
您认为端口冲突,可否说明一下是迅雷和哪个服务的哪个端口冲突呢?

@celeron533

@oe77 并不是端口冲突,而是迅雷会影响socks5,改完端口,重启机器后照样失效。另外迅雷一旦自动更新后会重新启用XLServicePlatform服务

@ituff
ituff commented Dec 21, 2015

我使用过多个其他端口,问题依旧,感觉并不是端口的问题。感觉迅雷不会在7时代解决这个问题,不知道新的9会不会解决这个问题。

在 2015年12月21日 上午9:50,Allen Zhu notifications@github.com写道:

@oe77 https://github.com/oe77
并不是端口冲突,而是迅雷会影响socks5,改完端口,重启机器后照样失效。另外迅雷一旦自动更新后会重新启用XLServicePlatform服务


Reply to this email directly or view it on GitHub
#557 (comment)
.

Hsiao Cheng
Live to learn, learn to live. 以文会友,以友辅仁。
欢迎访问我的个人网站 www.totoro.asia

@sincerefly

你们试过我贴的链接上的方法了吗?

@bugparty

能发一个xlsp.dll完整文件给我吗,我想逆向分析下迅雷做了啥邪恶的事

On Wed, Dec 23, 2015 at 5:21 PM, 我可是小老虎 notifications@github.com wrote:

你们试过我贴的链接上的方法了吗?


Reply to this email directly or view it on GitHub
#557 (comment)
.

@yymyyy
yymyyy commented Dec 23, 2015

bugparty兄发你邮件了。为了这文件下载了官网的迅雷来装,拷出文件。想发gmail时发现,SS已经因此罢工。卸载立即正常。

@RoachJoey

@oe77 @celeron533 如果是迅雷的问题,是不是可以认为问题不在chrome?
但是我在火狐上用foxyproxy用任意端口+socks5一切正常
所以问题应该处在chrome才对?

@Honghe
Honghe commented Jan 4, 2016

@gameboy709494

然后运行下面两个命令:
sc stop XLServicePlatform
sc delete XLServicePlatform

这命令不能删除迅雷服务,重启后打开迅雷又会提示打开这个服务

昨天折腾到现在,从这个issue才找到原来是迅雷的问题

@ituff
ituff commented Jan 5, 2016

打开迅雷的时候会跳出UAC,选择否,不要给迅雷管理员权限

2016-01-04 23:33 GMT+08:00 Honghe notifications@github.com:

@gameboy709494 https://github.com/gameboy709494

然后运行下面两个命令:
sc stop XLServicePlatform
sc delete XLServicePlatform

这命令不能删除迅雷服务,重启后打开迅雷又会提示打开这个服务


Reply to this email directly or view it on GitHub
#557 (comment)
.

Hsiao Cheng
Live to learn, learn to live. 以文会友,以友辅仁。
欢迎访问我的个人网站 www.totoro.asia

@cicku
cicku commented Jan 8, 2016

迅雷的替代品是 IDM。

http://bbs.xunlei.com/thread-432517-1-1.html

不排除迅雷恶意干扰。

@quansiji9

今天装完surface固件更新就出这个问题挂了。

令迅雷服务停止即可恢复正常。

@duanjinjin

确实卸载迅雷最新版,就恢复了。

@QiQiBiBi

我的同样配置最近也频繁出现用着用着忽然失效的情况,换端口没用,netsh winsock reset后重启偶尔有效但有时候又没效,换http根本上不了,老pc上这样就算了,新买的surface pro 4上也会出现,感觉特别崩溃。有一次试netstat -b查看端口占用,发现分配给ss的显示time_wait……再过了几分钟莫名其妙能开了。反正就是楼上所有办法对我都没用,新买的surface pro 4本来就没有装迅雷。

@bugparty

这是要天灭ss么。。。

2016-01-25 19:20 GMT+08:00 QiQiBiBi notifications@github.com:

我的同样配置最近也频繁出现用着用着忽然失效的情况,换端口没用,netsh winsock
reset后重启偶尔有效但有时候又没效,换http根本上不了,老pc上这样就算了,新买的surface pro
4上也会出现,感觉特别崩溃。有一次试netstat
-b查看端口占用,发现分配给ss的显示time_wait……再过了几分钟莫名其妙能开了。反正就是楼上所有办法对我都没用,新买的surface pro
4本来就没有装迅雷。


Reply to this email directly or view it on GitHub
#557 (comment)
.

@celeron533

failed to recv data in handshakeReceive2Callback #247
@Faithful-Mind

迅雷7.9.43版本主要修正了与SS的兼容性问题
http://yangtai.xunlei.com/?p=10120

(当然也不排除钓鱼的可能性)

image

@WeiqiChenCN

Wow,fishing。
It's sounds like China’s things。

@FelisCatus
Owner

The whole issue is so unrelated to the SwitchyOmega project. Somebody should comment with complaints on Thunder's blog posts. They are also ironically rude for calling SwitchyOmega's name despite other extensions/software/whatsoever also suffers due to their fault.

@WeiqiChenCN

I'm so sorry for that.
And is that will get people notice SwitchyOmega??
I mean we should keep a low profile..

@FelisCatus
Owner

We don't need to keep a low profile because SwitchyOmega itself does no harm anyway. However, everybody should keep his or her information private when discussing about China's, um, things, just to be safe.

That blog post in particular obviously does more harm than good to our project, but that's not necessarily related to China and we don't have continue the discussion on that topic. One usually doesn't want to talk about China that much, unless his name is Donald Trump.

@celeron533

川普躺枪。。。哈哈。
大多数的跨越服务都推荐SO作为前端代理。可惜没多少人为SO做贡献。我也看到有用户因为上不了FB跑到这里来建ticket,哎。
SO是个完全中立的项目啊!

@FelisCatus
Owner

@celeron533 确实,有更多人能来这个项目就好了。不过……目前这个局面也有很多我自己的原因。做软件和做项目毕竟是不同的啊,我觉得我还有很长的路要走。

@Jimmy-Z
Jimmy-Z commented Feb 13, 2016

这几天也遇到了,我的电脑上没问题,弟弟的电脑上不行,都是Win10,我没装迅雷,代理并不在本地也并不在1080端口所以跟端口占用没有关系,迅雷要影响到这个说明它拦截(可能是全部)TCP通讯,给跪。

@yujiazi
yujiazi commented Feb 15, 2016

我也是,迅雷这个垃圾,果断卸载

@FelisCatus
Owner

根据 shadowsocks/shadowsocks-windows#247 (comment) 的说法,迅雷确实修改了系统的 TCP 参数设置,从而影响了通信协议。具体见链接。

@junxy
junxy commented Feb 24, 2016

刚下的迅雷极速版安装后就出现这个问题……
ref: http://www.rickyhao.com/index.php/archives/99/comment-page-1

@YuuEB
YuuEB commented Mar 7, 2016

@oe77 方法3(推荐):先把安装好的迅雷复制一份到别的盘(等于自制无色无毒的绿色版迅雷),然后完全卸载迅雷! 这个方法可行啊, 即使迅雷重新安装服务业可以正常使用了 !!

@U2Fsd
U2Fsd commented Mar 17, 2016

在服务中找到 xlserviceplatform 把这个服务禁用了。

之后打开 C:\Program Files\Common Files\Thunder Network\ServicePlatform\XLSP.dll 将里面的内容清空之后保存。问题解决。

@GangZhuo GangZhuo referenced this issue in shadowsocks/shadowsocks-windows Mar 28, 2016
Closed

为什么要使用http方式连接 #515

@atuxe
atuxe commented Apr 8, 2016

就是迅雷搞的鬼

@hzh1990
hzh1990 commented Apr 10, 2016

迅雷尼玛, 差点有被坑几小时

@sweetIan

迅雷7确实有问题。改成迅雷9之后不冲突了。

@webbbbb
webbbbb commented Apr 11, 2016

迅雷卸载掉就好了!

@luc9
luc9 commented Apr 28, 2016

关闭迅雷浏览器监视即可解决(迅雷极速版下测试可用)。

@FelisCatus
Owner
FelisCatus commented Apr 28, 2016 edited

关于此问题的总结已经更新在沙发位置的评论内,如果还搞不清状况可以前往阅读。

如果某种解决方法有用,请点击评论右上角笑脸按钮,然后点个赞 👍 来表达感谢。请勿回复“我也是!”或者“+1”等无意义内容,否则参与讨论的所有人都会被邮件轰炸。

在下方发表评论前,请确定您提出了一种新的解决方案、新的问题或者新的信息,为这个 Issue 的讨论创造了价值。尤其注意不要抱怨某公司或者某产品,这没有任何意义。

@Phincle
Phincle commented May 11, 2016

迅雷极速版的问题,换成迅雷7.9.43.5054就好了。

@bugparty

快把这个问题close吧

On Wed, May 11, 2016 at 9:42 AM, Phincle notifications@github.com wrote:

迅雷极速版的问题,换成迅雷7.9.43.5054就好了。


You are receiving this because you commented.
Reply to this email directly or view it on GitHub
#557 (comment)

@pickView

@FelisCatus 我的ss3.0不能用了,装了下迅雷极速版,就不能用了,把迅雷删掉还是不行,求助

@pickView

ss瘫痪了,报错:[2016-06-10 23:52:53] System.Net.Sockets.SocketException (0x80004005): 系统检测到在一个调用中尝试使用指针参数时的无效指针地址。
在 System.Net.Sockets.Socket.get_RemoteEndPoint()
在 Shadowsocks.Controller.TCPHandler.ConnectCallback(IAsyncResult ar)

@otherfish

使用迅雷极速版,仍然会有这个问题禁用服务可破,但是每次重新运行迅雷要注意还是有可能上不了外网。

qq 20160611000615

@wanglongbiao

卸载迅雷极速版,问题解决。非常感谢。

@wikilike7
  1. 果然是将socket5改成HTTP就解决
  2. 有没有更好的下载工具介绍呢?
@jen-ping
jen-ping commented Oct 5, 2016 edited

果然是将switchyomega的socket5改成HTTP就解决!!
经过重新安装chrome,依旧不行。才看到此方法!谢谢!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment