Shadowsocks-windows: Wrong obfs args config cause InnerException

Created on 12 Nov 2018  ·  16Comments  ·  Source: shadowsocks/shadowsocks-windows

Shadowsocks version / 影梭版本

4.1.2

Environment(Operating system, .NET Framework, etc) / 使用环境(操作系统,.NET Framework等)

v4.0.30319

Steps you have tried / 操作步骤

Open the Shadowsocks and create new configuration. Update PAC from GFWList.

What did you expect to see? / 期望的结果

Proxy data and PAC file updated successfully.

What did you see instead? / 实际结果

Proxy error with some logs and failed to update PAC file with InnerException.

Config and error log in detail (with all sensitive info masked) / 配置文件和日志文件(请隐去敏感信息)

gui-config.json:

{
  "configs": [
    {
      "server": <URL>,
      "server_port": <port>,
      "password": <password>,
      "method": "chacha20-ietf-poly1305",
      "plugin": "obfs-local/obfs-local",
      "plugin_opts": "obfs=tls",
      "plugin_args": "obfs-host=<URL>",
      "remarks": <name>,
      "timeout": 5
    }
  ],
  "strategy": null,
  "index": 0,
  "global": false,
  "enabled": false,
  "shareOverLan": false,
  "isDefault": false,
  "localPort": 1080,
  "portableMode": true,
  "pacUrl": null,
  "useOnlinePac": false,
  "secureLocalPac": true,
  "availabilityStatistics": false,
  "autoCheckUpdate": true,
  "checkPreRelease": false,
  "isVerboseLogging": false,
  "logViewer": {
    "topMost": false,
    "wrapText": false,
    "toolbarShown": false,
    "Font": "Consolas, 8pt",
    "BackgroundColor": "Black",
    "TextColor": "White"
  },
  "proxy": {
    "useProxy": false,
    "proxyType": 0,
    "proxyServer": "",
    "proxyPort": 0,
    "proxyTimeout": 3
  },
  "hotkey": {
    "SwitchSystemProxy": "",
    "SwitchSystemProxyMode": "",
    "SwitchAllowLan": "",
    "ShowLogs": "",
    "ServerMoveUp": "",
    "ServerMoveDown": "",
    "RegHotkeysAtStartup": false
  }
}

shadowsocks.log:

=========================

[2018-11-12 12:33:22] Started SIP003 plugin for <server URL> on 127.0.0.1:59328 - PID: 6528
[2018-11-12 12:33:23] Shadowsocks started (4.1.2)
[2018-11-12 12:33:23] 
=========================
Registered Encryptor Info
aes-128-cfb=>StreamOpenSSLEncryptor
aes-192-cfb=>StreamOpenSSLEncryptor
aes-256-cfb=>StreamOpenSSLEncryptor
aes-128-ctr=>StreamOpenSSLEncryptor
aes-192-ctr=>StreamOpenSSLEncryptor
aes-256-ctr=>StreamOpenSSLEncryptor
bf-cfb=>StreamOpenSSLEncryptor
camellia-128-cfb=>StreamOpenSSLEncryptor
camellia-192-cfb=>StreamOpenSSLEncryptor
camellia-256-cfb=>StreamOpenSSLEncryptor
rc4-md5=>StreamOpenSSLEncryptor
salsa20=>StreamSodiumEncryptor
chacha20=>StreamSodiumEncryptor
chacha20-ietf=>StreamSodiumEncryptor
aes-128-gcm=>AEADOpenSSLEncryptor
aes-192-gcm=>AEADOpenSSLEncryptor
aes-256-gcm=>AEADOpenSSLEncryptor
chacha20-ietf-poly1305=>AEADOpenSSLEncryptor
xchacha20-ietf-poly1305=>AEADSodiumEncryptor
=========================

[2018-11-12 12:33:32] 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)
[2018-11-12 12:33:32] 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.GFWListUpdater.http_DownloadStringCompleted(Object sender, DownloadStringCompletedEventArgs e)
[2018-11-12 12:40:56] Started SIP003 plugin for <server URL> on 127.0.0.1:59645 - PID: 1216
[2018-11-12 12:40:58] System.Reflection.TargetInvocationException: 操作过程中出现异常,结果无效。  有关异常的详细信息,请查看 InnerException。 ---> System.Net.WebException: 无法连接到远程服务器 ---> System.Net.Sockets.SocketException: 由于目标计算机积极拒绝,无法连接。 127.0.0.1:1080
   在 System.Net.Sockets.Socket.InternalEndConnect(IAsyncResult asyncResult)
   在 System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult)
   在 System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)
   --- 内部异常堆栈跟踪的结尾 ---
   在 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)

ss_privoxy.log is empty.

Additions:

I have also try:

  • Turn off the firewall
  • Running shadowsocks as admin
  • .Net Repair Tool
  • Switch node
    Also:
  • I have not set up the forward proxy
  • Global proxy is not working too

Most helpful comment

So I try many time and find the problem is I input the obfs-host into plugin_args (just search it on this page you can see my problem) which should be in plugin_opts.
Because the article (如何安装和配置simple-obfs服务端) at the first of result when you search "shadowsocks windows obfs" on Google is absolutely wrong.
Remember: plugin args should be like something as -v.
The right config should be like this:
Right config

All 16 comments

tcping your server. Maybe your server is died

Please hide your server address in logs.

If your server is built by yourself, Please change the port from 8443 to other port, Like 443.

I have tried tcp ping my server, it could be connected.

System.Net.Sockets.SocketException: 由于目标计算机积极拒绝,无法连接。 127.0.0.1:1080

This line "127.0.0.1:1080" is odd, Please try change "Proxy Port" number in "Edit Servers" Interface.

If still not working, Did you using some Security software? https://github.com/shadowsocks/shadowsocks-windows/issues/2065

So I change local port to 23333 (in fact I know this line is because I open two Shadowsocks at once test), and turn off the security software.

[2018-11-13 12:00:25] Started SIP003 plugin for <server URL> on 127.0.0.1:52453 - PID: 9028
[2018-11-13 12:00:25] Shadowsocks started (4.1.2)
[2018-11-13 12:00:25] 
=========================
Registered Encryptor Info
aes-128-cfb=>StreamOpenSSLEncryptor
aes-192-cfb=>StreamOpenSSLEncryptor
aes-256-cfb=>StreamOpenSSLEncryptor
aes-128-ctr=>StreamOpenSSLEncryptor
aes-192-ctr=>StreamOpenSSLEncryptor
aes-256-ctr=>StreamOpenSSLEncryptor
bf-cfb=>StreamOpenSSLEncryptor
camellia-128-cfb=>StreamOpenSSLEncryptor
camellia-192-cfb=>StreamOpenSSLEncryptor
camellia-256-cfb=>StreamOpenSSLEncryptor
rc4-md5=>StreamOpenSSLEncryptor
salsa20=>StreamSodiumEncryptor
chacha20=>StreamSodiumEncryptor
chacha20-ietf=>StreamSodiumEncryptor
aes-128-gcm=>AEADOpenSSLEncryptor
aes-192-gcm=>AEADOpenSSLEncryptor
aes-256-gcm=>AEADOpenSSLEncryptor
chacha20-ietf-poly1305=>AEADOpenSSLEncryptor
xchacha20-ietf-poly1305=>AEADSodiumEncryptor
=========================

[2018-11-13 12:00:31] 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.GFWListUpdater.http_DownloadStringCompleted(Object sender, DownloadStringCompletedEventArgs e)
[2018-11-13 12:00:43] Started SIP003 plugin for <server URL> on 127.0.0.1:52698 - PID: 996
[2018-11-13 12:00:43] Shadowsocks started (4.1.2)
[2018-11-13 12:00:43] 
=========================
Registered Encryptor Info
aes-128-cfb=>StreamOpenSSLEncryptor
aes-192-cfb=>StreamOpenSSLEncryptor
aes-256-cfb=>StreamOpenSSLEncryptor
aes-128-ctr=>StreamOpenSSLEncryptor
aes-192-ctr=>StreamOpenSSLEncryptor
aes-256-ctr=>StreamOpenSSLEncryptor
bf-cfb=>StreamOpenSSLEncryptor
camellia-128-cfb=>StreamOpenSSLEncryptor
camellia-192-cfb=>StreamOpenSSLEncryptor
camellia-256-cfb=>StreamOpenSSLEncryptor
rc4-md5=>StreamOpenSSLEncryptor
salsa20=>StreamSodiumEncryptor
chacha20=>StreamSodiumEncryptor
chacha20-ietf=>StreamSodiumEncryptor
aes-128-gcm=>AEADOpenSSLEncryptor
aes-192-gcm=>AEADOpenSSLEncryptor
aes-256-gcm=>AEADOpenSSLEncryptor
chacha20-ietf-poly1305=>AEADOpenSSLEncryptor
xchacha20-ietf-poly1305=>AEADSodiumEncryptor
=========================

Also I trying to running Shadowsocks-libev on WSL (Debian). There is no problem to proxy.

ss-local -c /etc/shadowsocks-libev/config.json -v
 2018-11-13 12:15:23 INFO: plugin "obfs-local" enabled
 2018-11-13 12:15:23 INFO: initializing ciphers... chacha20-ietf-poly1305
 2018-11-13 12:15:23 INFO: listening at 127.0.0.1:1080
 2018-11-13 12:15:23 [simple-obfs] INFO: obfuscating enabled
 2018-11-13 12:15:23 [simple-obfs] INFO: obfuscating hostname: <URL>
 2018-11-13 12:15:23 [simple-obfs] INFO: tcp port reuse enabled
 2018-11-13 12:15:23 [simple-obfs] INFO: listening at 127.0.0.1:53535
 2018-11-13 12:15:33 INFO: connect to 13.229.188.59:443

My Windows version is Windows 10 1803 (17134.376).

Also try to set up socks5 proxy in Firefox and turn off the system proxy. Firefox keep refreshing when visiting website and error at last.

Did you enable proxy in Shadowsocks?
image

If not, This issue maybe case by TCP/IP Protocol Stack or Winsock, Please start CMD or PowerShell in Administrator, And execute these command:

netsh interface ipv4 reset
netsh interface ipv6 reset
netsh interface tcp reset
netsh winsock reset

And reboot computer.

I didn't set forward proxy for Shadowsocks. Here is the output of these commands.

PS C:\Windows\system32> netsh interface ipv4 reset
正在重置 分段转发,完成!
正在重置 分段,完成!
正在重置 控制协议,完成!
正在重置 回显顺序请求,完成!
正在重置 全局,完成!
正在重置 接口,完成!
正在重置 任意广播地址,完成!
正在重置 多播地址,完成!
正在重置 单播地址,完成!
正在重置 邻居,完成!
正在重置 路径,完成!
正在重置 潜在,完成!
正在重置 前缀策略,完成!
正在重置 代理邻居,完成!
正在重置 路由,完成!
正在重置 站点前缀,完成!
正在重置 子接口,完成!
正在重置 唤醒模式,完成!
正在重置 解析邻居,完成!
正在重置 ,完成!
正在重置 ,完成!
正在重置 ,完成!
正在重置 ,完成!
正在重置 ,失败。
拒绝访问。

正在重置 ,完成!
正在重置 ,完成!
正在重置 ,完成!
正在重置 ,完成!
正在重置 ,完成!
正在重置 ,完成!
正在重置 ,完成!
重新启动计算机来完成此操作。

PS C:\Windows\system32> netsh interface ipv6 reset
正在重置 分段转发,完成!
正在重置 分段,完成!
正在重置 控制协议,完成!
正在重置 回显顺序请求,完成!
正在重置 全局,完成!
正在重置 接口,完成!
正在重置 任意广播地址,完成!
正在重置 多播地址,完成!
正在重置 单播地址,完成!
正在重置 邻居,完成!
正在重置 路径,完成!
正在重置 潜在,完成!
正在重置 前缀策略,完成!
正在重置 代理邻居,完成!
正在重置 路由,完成!
正在重置 站点前缀,完成!
正在重置 子接口,完成!
正在重置 唤醒模式,完成!
正在重置 解析邻居,完成!
正在重置 ,完成!
正在重置 ,完成!
正在重置 ,完成!
正在重置 ,完成!
正在重置 ,失败。
拒绝访问。

正在重置 ,完成!
正在重置 ,完成!
正在重置 ,完成!
正在重置 ,完成!
正在重置 ,完成!
正在重置 ,完成!
正在重置 ,完成!
重新启动计算机来完成此操作。

PS C:\Windows\system32> netsh interface tcp reset

所有 TCP 参数重置正常!
确定。

PS C:\Windows\system32> netsh winsock reset

成功地重置 Winsock 目录。
你必须重新启动计算机才能完成重置。

Problem still exist.

Also I have installed this update:
https://support.microsoft.com/help/4462933

Known issue:

English
After you install the August Preview of Quality Rollup or September 11, 2018 .NET Framework update, instantiation of SqlConnection can throw an exception. For more information about this issue, see the following article in the Microsoft Knowledge Base:
4470809 SqlConnection instantiation exception on .NET 4.6 and later after August-September 2018 .NET Framework updates

中文
安装 8 月质量汇总预览或 2018 年 9月 11 日 .NET Framework 更新后,SqlConnection 的实例化可能会引发异常。 有关此问题的更多信息,请参阅 Microsoft 知识库中的以下文章:
4470809 在安装 2018 年 8 月至 9 月 .NET Framework 更新后,.NET 4.6 及更高版本出现 SqlConnection 实例化异常

Is it concerned about the Shadowsocks?
I try to uninstall it, not concerned.

So I try many time and find the problem is I input the obfs-host into plugin_args (just search it on this page you can see my problem) which should be in plugin_opts.
Because the article (如何安装和配置simple-obfs服务端) at the first of result when you search "shadowsocks windows obfs" on Google is absolutely wrong.
Remember: plugin args should be like something as -v.
The right config should be like this:
Right config

Yes, If your using Plugin is SIP003 standard, You can use "插件选项", But if not SIP003 standard, Only can use is "插件参数"( https://github.com/shadowsocks/shadowsocks-windows/wiki/Working-with-non-SIP003-standard-Plugin

看上去还是得把这窗口UI修一下……

Wordless Echo notifications@github.com 于 2018年11月13日周二 下午7:36写道:

Closed #2070
https://github.com/shadowsocks/shadowsocks-windows/issues/2070.


You are receiving this because you commented.

Reply to this email directly, view it on GitHub
https://github.com/shadowsocks/shadowsocks-windows/issues/2070#event-1962772749,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AQVHEvHee9RySOFgpQ3t3YkDEyIknFt1ks5uuq6igaJpZM4YY9Zr
.

I suggest developers should make logs more useful. The similar problem I found in Linux could be easily find the solutions.

reopen issue for track

鉴于窗口UI修过了,明确指明了命令行参数和环境变量的区别,先关了

Was this page helpful?
0 / 5 - 0 ratings

Related issues

zjylx picture zjylx  ·  3Comments

ugksoft picture ugksoft  ·  3Comments

LisonFan picture LisonFan  ·  3Comments

hztgz picture hztgz  ·  3Comments

tiliarou picture tiliarou  ·  3Comments