You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Mar 19 09:46:39 ip-172-31-12-118.us-west-1.compute.internal python[826]: 2017-03-19 09:46:39 ERROR [socket] the server_addrs *:8333 client more then the 1
Mar 19 09:47:14 ip-172-31-12-118.us-west-1.compute.internal python[826]: 2017-03-19 09:47:14 ERROR [socket] the server_addrs *:8333 client more then the 1
Mar 19 09:47:26 ip-172-31-12-118.us-west-1.compute.internal python[826]: 2017-03-19 09:47:26 ERROR [socket] the server_addrs *:8333 client more then the 1
Mar 19 09:48:15 ip-172-31-12-118.us-west-1.compute.internal python[826]: 2017-03-19 09:48:15 ERROR [socket] the server_addrs *:8333 client more then the 1
Mar 19 09:48:40 ip-172-31-12-118.us-west-1.compute.internal python[826]: 2017-03-19 09:48:40 ERROR [socket] the server_addrs *:8333 client more then the 1
Mar 19 09:49:18 ip-172-31-12-118.us-west-1.compute.internal python[826]: 2017-03-19 09:49:18 ERROR [socket] the server_addrs *:8333 client more then the 1
Mar 19 09:49:34 ip-172-31-12-118.us-west-1.compute.internal python[826]: 2017-03-19 09:49:34 ERROR [socket] the server_addrs *:8333 client more then the 1
Mar 19 09:50:59 ip-172-31-12-118.us-west-1.compute.internal python[826]: 2017-03-19 09:50:59 ERROR [socket] the server_addrs *:8333 client more then the 1
Mar 19 09:51:17 ip-172-31-12-118.us-west-1.compute.internal python[826]: 2017-03-19 09:51:17 ERROR [socket] the server_addrs *:8333 client more then the 1
Mar 19 09:52:06 ip-172-31-12-118.us-west-1.compute.internal python[826]: 2017-03-19 09:52:06 ERROR [socket] the server_addrs *:8333 client more then the 1
falseen, 非常感谢你的项目,我和该楼主遇到了同样的问题,一个windows和Android设备。我服务器限制了同时只能登陆一个客户端。现在的情况是,我先用Android手机登陆是成功的,同时在windows设备上登陆,确实达到了限制的效果。但是问题来了,然后我在Android的ss客户端中关闭连接,然后退出SS客户端之后,windows设备怎么都连不上。我查看了log之后发现你这个socket.py程序还是提示我“client more than 1”。
我应该如何修改设置或者代码,才能达到正常的效果,Can you fix it, Thanks.
Activity
WalkerWalker commentedon Mar 19, 2017
我把电脑客户端上又连去了另一台ss 服务器,再等了十分钟,手机那里还是上不去,完全没有释放的意思。所以我觉得应该不是客户端断开连接方式的问题。
WalkerWalker commentedon Mar 19, 2017
我在ss 服务器上把进程重启了一下,手机重新连上去了。这时候电脑就上不去了(good),然后手机断开以后,电脑上还是连不上去。错误信息还是相同。(not good)
WalkerWalker commentedon Mar 19, 2017
不知道我还有什么办法可以给出更多有用的日志吗?
falseen commentedon Mar 19, 2017
debug模式可以看到更多的日志,你可以用 python sever.py -v 开启。我的补丁的日志都会以[socket]开头。
另外你说的断开连接是指关闭浏览器还是关闭ss?
WalkerWalker commentedon Mar 19, 2017
不是关闭浏览器,
是断开ss连接,甚至还连了另一个ss server
falseen commentedon Mar 19, 2017
你试试关闭浏览器或关闭ss。某些浏览器会一直保持长连接,或一直尝试连接(即使你没打开网页)。
falseen commentedon Mar 19, 2017
@WalkerWalker
看了一下代码,我把所有的debug都注释掉了,所以你用debug模式也看不到更多的日志。
你再测一下吧,如果实在不行,就只能是调整规则,对指定时间无数据传输的连接进行强制关闭了。但我觉得这样可能会误伤,因为有长连接的存在。
WalkerWalker commentedon Mar 19, 2017
....我刚想说,我怎么没看到更多的日志
下面日志可以看到,我的一个连接原本在看youtube,11:39分断开,然后几乎啥也没发生,11:45分用手机连,一直都连不上,
WalkerWalker commentedon Mar 19, 2017
嗯,时间小的话会误伤。时间大的话,每次切换设备都要等好久也是蛮蛋疼的。。。
不过为什么要关闭连接呢?
可不可以维护一个ip的集合,对指定时间无数据传输的连接,把那个ip从集合里挪出去。新的连接来了,再判断集合是不是满了,满了就拒绝,没满把ip加进集合。
falseen commentedon Mar 19, 2017
那就奇怪了,我比较想知道的是你有没有关闭浏览器或ss?关闭ss应该是会直接断开连接的,从我的测试来看,只有手机版的ss会出现关闭ss之后连接仍然存在的问题。或者你可以试着把 set_close_timeout 改成 True ?
我更新了一下代码,把logging.debug显示出来了,你再看看有没有更多的日志。
falseen commentedon Mar 19, 2017
如果不关闭连接的话那之前的设备仍然是可以上网的,只要那个连接存在。如果只是根据时间来判定的话可能会误伤一些长连接。
WalkerWalker commentedon Mar 19, 2017
我又测试了一下
https://gist.github.com/WalkerWalker/f349e086e0219a244733d0f00c73e17b
这次的log信息量多很多了!你看看能不能有帮助
我看到有70个add,35个close,是不是add两次是不应该的?如果拒绝的时候,能在log里面打出目前占用的连接,就更明确了。
falseen commentedon Mar 19, 2017
确实不应该出现两次同样地址和端口的add,一定是哪里出错了。
falseen commentedon Mar 19, 2017
但奇怪的是我这里一切正常。你用了两个端口还是只用了一个端口 ?有没有开负载均衡 ?按理说不管你怎么配置都不影响的,但还是先了解一下情况再说吧。
falseen commentedon Mar 19, 2017
这样,你先用其他客户端试一下,比如直接运行 local.py,先不要用shadowsocksX-NG。 我怀疑可能是shadowsocksX-NG 的连接跟别的客户端不一样。
另外我更新了一个 dev 分支,你试试看能不能解决你的问题
地址 :https://github.com/falseen/PySocket/tree/dev
git clone -b dev https://github.com/falseen/PySocket
17 remaining items
falseen commentedon Mar 19, 2017
啊,你放在这个目录了啊,我是想让你放shadowsocks根目录的,即有setup.py的目录。我当初测试的时候发现放shadowsocks/shadowsocks目录的话会出现一些意料之外的情况,我也不明白为什么会这样。但是放根目录就没问题。
WalkerWalker commentedon Mar 19, 2017
哦对了,我下午的时候傻傻以为两句add会不会一个是tcp一个是udp ,我去改了下log的语句,后来发现两个都是tcp
不过你大概肯定是知道的。
WalkerWalker commentedon Mar 19, 2017
。。。。这也能有差别?那我去换一下试试看
WalkerWalker commentedon Mar 19, 2017
还真的。。。只有一个add了
falseen commentedon Mar 19, 2017
那就对了!回头有空的时候再慢慢查一下为什么不能放子目录。你先这样用着吧。自定义端口的功能等会添加。
WalkerWalker commentedon Mar 19, 2017
嗯嗯好,辛苦你啦,陪着我瞎折腾!今天搞不动了,明天重新测一遍。。。
add white_list and black_list for limit_clients and fix some error as…
add white_list and black_list for limit_clients and fix some error as…
add white_list and black_list for limit_clients and fix some error as…
yehaihuakai commentedon Dec 19, 2017
请教下,两位说的shadowsocks根目录,我这边并没有shadowsocks/shadowsocks两层嵌套的目录。有一个shadowsocks-3.0.0-py2.6.egg的目录,貌似就是二位说的根目录,但是目录下没有setup.py文件。
falseen commentedon Dec 19, 2017
@yehaihuakai 你是用pip安装的。我们是直接下载的源码。
yehaihuakai commentedon Dec 20, 2017
@falseen 好的,谢谢
ChacesXia commentedon Apr 6, 2018
falseen, 非常感谢你的项目,我和该楼主遇到了同样的问题,一个windows和Android设备。我服务器限制了同时只能登陆一个客户端。现在的情况是,我先用Android手机登陆是成功的,同时在windows设备上登陆,确实达到了限制的效果。但是问题来了,然后我在Android的ss客户端中关闭连接,然后退出SS客户端之后,windows设备怎么都连不上。我查看了log之后发现你这个socket.py程序还是提示我“client more than 1”。
我应该如何修改设置或者代码,才能达到正常的效果,Can you fix it, Thanks.
gsum0417 commentedon Jun 30, 2018
老哥,你在吗?
15年的版本,限制同一端口连接数没有问题,能够随意切换,不过没有黑白名单功能,所以我试了下17年的版本,问题来了。
用自家网络连接(无论用什么设备和端口),断开后用邻居家网络(或4G)都无法连接原来的端口,重启后还是出现同样的问题。我怀疑是断开的ip地址没有清理成功。请问怎么改代码。。。在线等老哥。。。