Shadowsocks-windows: windows10 64bit 1709,4.0.7无法使用

Created on 8 Jan 2018  ·  43Comments  ·  Source: shadowsocks/shadowsocks-windows

Please read Wiki carefully, especially https://github.com/shadowsocks/shadowsocks-windows/wiki/Troubleshooting.
Please answer these questions before submitting your issue. Thanks!
配置文件是198.199.101.152:8388,在android手机上能连接,但有提示
“影梭”已激活VPN,连接到“163.172.161.160:433”,像是被自动分配了接入IP,同样配置下,windows版本的SS无法连接(配置信息从手机通过URL导入)。

Version(release version or AppVeyor link)

4.0.7

Environment(Operating system, .NET Framework, etc)

WINDOWS10-64bit 1709
.NET 3.5 .NET 4.7(windows10自带)

Steps you have tried

按照troubleshooting步骤删除文件夹,无效
更换4.0.6版本,无效
更换2.5.8版本,无效

What did you expect to see?

windows10版本与手机同样配置下,能够连接。

What did you see instead?

Config and error log in detail (with all sensitive info masked)

[2018-01-08 20:13:07] Shadowsocks started
[2018-01-08 20:13:14] 198.199.101.152:8388 timed out
[2018-01-08 20:13:17] System.Net.Sockets.SocketException (0x80004005): 由于目标计算机积极拒绝,无法连接。
在 Shadowsocks.Util.Sockets.WrappedSocket.EndConnect(IAsyncResult asyncResult)
在 Shadowsocks.Proxy.DirectConnect.EndConnectDest(IAsyncResult asyncResult)
在 Shadowsocks.Controller.TCPHandler.ConnectCallback(IAsyncResult ar)
[2018-01-08 20:13:17] System.Reflection.TargetInvocationException: 操作过程中出现异常,结果无效。 有关异常的详细信息,请查看 InnerException。 ---> System.Net.WebException: 基础连接已经关闭: 发送时发生错误。 ---> System.IO.IOException: 由于远程方已关闭传输流,身份验证失败。
在 System.Net.TlsStream.EndWrite(IAsyncResult asyncResult)
在 System.Net.PooledStream.EndWrite(IAsyncResult asyncResult)
在 System.Net.ConnectStream.WriteHeadersCallback(IAsyncResult ar)
--- 内部异常堆栈跟踪的结尾 ---
在 System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
在 System.Net.WebClient.GetWebResponse(WebRequest request, IAsyncResult result)
在 System.Net.WebClient.DownloadBitsResponseCallback(IAsyncResult result)
--- 内部异常堆栈跟踪的结尾 ---
在 System.ComponentModel.AsyncCompletedEventArgs.RaiseExceptionIfNecessary()
在 Shadowsocks.Controller.UpdateChecker.http_DownloadStringCompleted(Object sender, DownloadStringCompletedEventArgs e)

Most helpful comment

找到原因,将shadowsock 及自动代理脚本放入防火墙规则即可(我设置了开发人员模式,再将网络属性设置为专用网络【公用网络异常】,最后将shadowsocks 放入防火墙规则)。主要是新版本window10 增强了系统安全性。

All 43 comments

你好,你的服务器是你自己搭建的吗?如果是,不要使用默认的 8388 端口,已知该端口被重点关照。

@chenshaoju 你好,我把serverport改为2333还是不行,别的网站正常访问Google这些就不行

你和楼主是一个人吗?查了一下, 198.199.101.152 好像是 SS for Android 默认的服务器,不是你想用什么端口就可以用的。

https://github.com/xiaokangwang/AndroidLibV2ray_binarycollection0/blob/master/src/main/scala/com/github/shadowsocks/database/ProfileManager.scala#L182

我不是他 我的情况是win 4.0.7 以及shadowrocket 都是只能访问Google之外没被墙的网站

请尝试将SS切换到全局模式,看看能否访问Google。如果不能,请尝试检查能否访问国内的网站。

如果能访问Google,说明你需要更新PAC并使用PAC模式。

如果不能访问国内的网站,说明你的配置有误。

全局模式下情况没有改变,国内正常访问

那么,访问 http://www.ip.cn ,显示的是你代理服务器的IP,还是你当前网络的公网IP?

当前公网IP... 为什么啊?

好了,找到问题了,switchyomega忘记切换—>系统代理了

谢谢兄弟的耐心指导 @chenshaoju

@chenshaoju 这个地址是安装好android ss后自带的地址,可以使用。但我下载window 4.0.7,用同样的配置无法登陆。按照您发出的帖子来看,意思是windows版本无法使用这个地址吗?

理论上可以使用,但是这个是免费的公用的配置,我从来没用过。

那为何windows版本的用不了,都是拒绝连接

很高的可能性是你的配置有问题(加密方式、密码等不对),具体是什么我也不知道。

我之前用的默认端口8388, 今天突然连不上了. 看了楼上前面说的8388端口被重点关照, 于是刚换了一个端口, 现在又可以用了.
更换端口、密码的方法:
https://blog.whsir.com/post-1045.html

@chenshaoju
我的问题和上面那个兄弟一样,公网可以访问,打开ss pac模式下显示还是公网ip,全局还是公网ip.服务器能ping 通,在手机上也能连接上,求告知什么问题

@liyoufei 我的问题和你一样求解决

@max19951001 你有Firefox吗?如果有,禁用Firefox上所有的代理插件,然后单独配置一个代理看看,能否使用?

image

PS:注意修改端口,我用的是10800。

@chenshaoju 我没有火狐,还是没反应

那么,SS的日志里有什么显示吗?

tim 20180113112627
我这有个qq截图 @chenshaoju

你好,你用的是ShadowsocksR,不是Shadowsocks,日志中也无明显提示,我无法确认问题。

请尝试使用 ShadowsocksR-dotnet2.0 或 ShadowsocksR-dotnet4.0 试试。

@

阿里云……恩……

既然阿里云是国内的服务商,恩……

如果你确认手机上相同配置可用,电脑上不行,很有可能是你电脑系统的问题。

如果是代理配置有问题的话,那么SS的日志里不会显示你所访问的地址。

如果SS不工作的话,可能有什么东西阻碍了SS设置PAC地址,可能是某些安全软件。

所以,如果可能,请安装一个国际版的Firefox,单独配置一下代理设置,以确认问题。

PS:记得删掉IP。

@chenshaoju 大佬,按照你说的用火狐代理可以访问国际网了,这是什么原因了

可能你的系统有什么安全软件阻止了SS修改系统代理设置。

@chenshaoju
知道了,多谢最近两天的回复

@jamesjsj1981 @chenshaoju Android 客户端会根据默认配置自动分配服务器,因此这个默认配置在 Windows 客户端是无法使用的。

找到原因,将shadowsock 及自动代理脚本放入防火墙规则即可(我设置了开发人员模式,再将网络属性设置为专用网络【公用网络异常】,最后将shadowsocks 放入防火墙规则)。主要是新版本window10 增强了系统安全性。

新版win10可能有问题把,朋友深澜软件拨号前段时间可以上,更新到最新版就上不了,但我也是最新版win10为什么可以上?

刚刚用另一种方法给他解决了(伪),关闭防火墙,Internet选项-安全-最下面的启用保护模式取消勾选。但是这样的话只有Internet explorer可以翻出去

@1phalley 某些校园网客户端会修改浏览器的PAC代理。为了方便排查,请尝试单独配置一个Firefox代理看看,详见 https://github.com/shadowsocks/shadowsocks-windows/issues/1621#issuecomment-357181189

火狐代理试了一下,端口填写1080百度能上,google不能上;填写1081任何网站都不能上,说明浏览器代理这块是成功的。

Firefox打开Google提示:Secure Connection Failed

The connection to www.google.com was interrupted while the page was loading.
The page you are trying to view cannot be shown because the authenticity of the received data could not be verified.
Please contact the website owners to inform them of this problem.

现在不知道为什么只有ie在关闭保护模式后全局才可以上,用pac模式翻墙不成功

火狐代理的话,访问 ip.cn ,显示的IP地址是你的SS服务器的IP地址,还是你所在地的IP?

用火狐代理访问ip.cn结果是vps所在地美国,ie全局结果也是美国,百度搜ip138结果页是美国但是IP138.com网站本身打不开,whatismyip网站显示也是美国,打开网易云官网播放音乐有海外版权限制,

看起来你的代理工作没有问题,但是Firefox 下 Google打不开的话,可能和Firefox有关,请参阅: https://support.mozilla.org/en-US/kb/secure-connection-failed-error-message

这个网站我刚刚也看到了
他说第一种原因是网站使用过时的TLS机制,显然不是。
第二种原因是安全软件方面的,关闭以下设置之一然后重新打开可能有助于消除错误。

  1. Enable application protocol content filtering 启用应用程序协议内容过滤
    2.Enable SSL/TLS protocol filtering 启用S​​SL / TLS协议过滤

朋友电脑没装安全软件,目前是自带的Windows Defender,防火墙已关闭(不管也可以翻墙)刚刚重装的系统,据他说之前可以正常使用ss

使用SocksCap64和ssTap测试连接 tcp和udp都是通的,但没法用

目前通过开启SSTAP再开启ss已经解决,缺陷是无论pac全局都是全局,将SSTap中dns设置为智能分流可以识别部分中国网站不走代理,需要自己根据情况切换这个智能分流dns
SSTap安装后会添加一个虚拟网卡,这个是解决的关键

Interesting,看起来你的系统好像有什么东西在重定向DNS。

我把宽带连接名称改成英文就可以了。不然只有ie在保护模式下才能用。

你看到的 ip 198.199.101.152 只是个没什么卵用的字符串,它存在的唯一意义是判断是否正在使用官方配置。实际运行时代码如下:
// 如果用户使用官方配置
if (profile.host == "198.199.101.152") {
// 从 firebase 获取代理列表地址

Core.remoteConfig.getString("proxy_url")

// 获取签名信息
Core.packageInfo.signaturesCompat.first().toByteArray()

// 使用签名信息作请求体,请求服务器获取可使用代理列表
val request = Request.Builder()
    .url(Core.remoteConfig.getString("proxy_url"))
    .post(requestBody)
    .build()

// 把列表随机一下,取第一个来用
 val proxies = client.newCall(request).execute()
    .body()!!.string().split('|').toMutableList()
proxies.shuffle()
val proxy = proxies.first().split(':')

// 应用配置
profile.host = proxy[0].trim()
profile.remotePort = proxy[1].trim().toInt()
profile.password = proxy[2].trim()
profile.method = proxy[3].trim()

}

服务端做了客户端签名的鉴权,所以客户端签名不对,无法获取到真正可使用的代理配置。

作者:auv1107
链接:https://juejin.im/post/5be8e92de51d4535b07d225f
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

建议更换google dns :8.8.8.8

实测 win10 ssr 更换dns 之后有效

Was this page helpful?
0 / 5 - 0 ratings

Related issues

ugksoft picture ugksoft  ·  3Comments

venusbahar picture venusbahar  ·  3Comments

xieyang784 picture xieyang784  ·  3Comments

imba-tjd picture imba-tjd  ·  3Comments

Galaxy0419 picture Galaxy0419  ·  3Comments