shadowsocks / shadowsocks-nodejs

https://github.com/shadowsocks/shadowsocks
Other
1.25k stars 725 forks source link

ERROR: getpeername: Invalid argument #102

Closed hooleez closed 10 years ago

hooleez commented 10 years ago

昨天好好的,今天就遇到这个错误了 ERROR: getpeername: Invalid argument 然后就上不了外网了

hooleez commented 10 years ago

改一个端口,就好了,但过几分钟又挂。

后来server port改为443之后,到现在几小时了,正常。

这个是不是意味着,是主机商那边封端口了? 但他们判断依据是啥呢?

比如我ssh连接端口也是用的自定义的端口,但是没见封啊,唯独ss换一个端口就用不了。

clowwindy commented 10 years ago
  1. 服务器和客户端用的各是什么?
  2. 这个 ERROR 是服务器的还是客户端的?请提供它附近几行完整日志。
  3. “挂”在浏览器里的现象是什么?有什么错误?
hooleez commented 10 years ago
  1. 服务器是Centos 6 x86_64,用的shadowsocks-nodejs版本(直接从github拉的),客户端是GoAgentX
  2. 这个error是客户端GoAgentX里面的log 其他附近几行,除了头部是类似这样的: 2014-06-11 21:58:37 INFO: initialize cihpers... aes-256-cfb 2014-06-11 21:58:37 INFO: server listening at port 1444. 下面全都是 ERROR: getpeername: Invalid argument 只要一连被墙网站,就出来好多条这个
  3. 浏览器里面就是一直loading,啥都出不来(一片空白),过了很久,就显示网页打不开。
chenshaoju commented 10 years ago

Shadowsocks的客户端监听是SOCKS5协议,你的浏览器代理配置正确吗?

hooleez commented 10 years ago

我客户端用的GoAgentX 现在服务器上配置文件server port改为443,就到现在一直挺好,没问题,但换成其他不著名的端口,一两分钟就ERROR: getpeername: Invalid argument了

现在非常怀疑是服务商搞的鬼,用的是Bandwagon的vps,10美元一年的,512内存的那款

chenshaoju commented 10 years ago

我用的是DigitalOcean,任何端口都正常。

不过价格比你的贵,5USD/Mon。

hooleez commented 10 years ago

@chenshaoju 我DO和VULTR都有,都正常的。唯独就是这个搬瓦工出现这个问题。但目前用了443端口之后,一直很好,所以倒也是不那么郁闷了。毕竟这个搬瓦工太便宜,而且cpu还限制

clowwindy commented 10 years ago

看起来像是 shadowsocks-libev 的 bug,至少日志里记的 getpeername: Invalid argument 是不应该出现的,建议你更换客户端看一下有没有解决。

hooleez commented 10 years ago

你好,我本来想试试shadowsocks-gui了,结果我去vps再改了端口之后继续用Goagentx,到现在四五个小时了,竟然没有再出现问题了。

这样的话,很可能是昨天Bandwagon服务商出了啥问题。现在已经无法重现了。等以后如果在出现这个error,我再用shadowsocks-gui试试。

感谢。

DrayChou commented 9 years ago

这个问题就这样啦? 我这边也是碰到这个问题, mac 客户端 goagentx ,日志里看到的信息:

2015-01-12 13:12:58 INFO: initialize ciphers... aes-256-cfb 2015-01-12 13:12:58 INFO: server listening at port 8016. 2015-01-12 13:22:39 ERROR: getpeername: Invalid argument 2015-01-12 13:23:40 ERROR: getpeername: Invalid argument 2015-01-12 13:24:35 ERROR: getpeername: Invalid argument

hooleez commented 9 years ago

遇到这个问题,大多原因是服务器那边的问题,请检查一下,服务器上ss服务是否已经停止,重新开着服务即可

alanzchen commented 9 years ago

同遇到这个问题:ShadowsocksX Last login: Fri Mar 20 23:43:09 on ttys001 bogon:~ shinamano$ /Applications/ShadowsocksX.app/Contents/MacOS/ShadowsocksX ; exit; [VERBOSE] GCDWebServer started on port 8090 2015-03-20 23:43:28.525 ShadowsocksX[372:5338] run shadowsocks helper: /Library/Application Support/ShadowsocksX/shadowsocks_sysconf 2015-03-20 23:43:28.579 ShadowsocksX[372:5338] pac proxy set to global [VERBOSE] Registered Bonjour service “webserver” with type ‘_http._tcp.’ on port 8090 getpeername: Invalid argument getpeername: Invalid argument getpeername: Invalid argument getpeername: Invalid argument

同服务器上其他正常。

YEXINGZHE54 commented 9 years ago

今天也有同样的问题. 同样是在Bandwagon 512M的VPS上. 可以确认的是: shadowsocks服务端程序是肯定在跑的, 一直在监听着指定端口, 但一直没有看到外部连接 服务器上的防火墙也没有问题, 对所有都开放. 客户端用的是GoAgentX, 只要一连特殊网站就出现上述错误.

我觉得是shadowsocks协议被墙了

xapool commented 9 years ago

最近一段时间,也频繁的遇到这个问题,一连即断。然后自己 vps 的 ip 都 ping 不通了,过一会就好,再连接就又断。但是自己的手机使用的数据流量一直是正常的,感觉是运营商搞的鬼。

conanshang commented 9 years ago

最近一个朋友搭建时也遇到了这个情况,在 GoAgentX 里收到 getpeername: Invalid argument 的提示;后来我看了下它的 log,他只是单纯地把 "aes-256-cfb" 写成了 "AES-256-cfb",估计是照着错的教程复制导致的。