101
batilo 2012-11-08 15:34:55 ♥ 1
速度非常赞。
|
103
hyq 2012-11-09 07:11:00
@valianliu 这里是文档: https://github.com/hyqhyq3/newsocks ,你应该是没有创建config.ini
不过楼主的的工具和我的工具都需要一个墙外的vps, 并将服务器端程序运行起来,然后才能正常使用用,如果没有墙外的vps,那么就只能使用goagent,vpn,ssh了 |
104
raecoo 2012-11-16 11:28:49
如果能有一个android的版本那就更完美了
|
105
gateswong 2012-11-16 13:26:27
LZ有没有这样的可能。就是将一个socks拆成若干个连接线程共同传输,多线程应该可以提高一些例如YouTube这样的速度吧?
|
106
clowwindy 2012-11-16 13:48:04
|
109
yaotian 2012-11-18 16:47:18
在mac下报错 mode != 1
|
116
eric_q 2012-11-20 21:57:29
@clowwindy 试用了 gotunnel,确实实现了我之前的带宽叠加的需求,shadowsocks 是否可以考虑参考作一个实现?如果不愿意并入到 master,单独一个 branch 也可以。
|
117
clowwindy 2012-11-21 00:32:51 ♥ 1
|
119
chendahui007 2012-11-23 22:56:51
@clowwindy
nohup python server.py >log & [1] 30281 nohup: ignoring input and redirecting stderr to stdout [1] + 30281 exit 1 nohup python server.py > log 求解 |
120
clowwindy 2012-11-29 18:36:30
@chendahui007 log 的内容是什么?
|
121
breestealth 2012-12-10 12:50:51
这个不知道有没有愿意实现一个Android版本的本地端啊,这玩意肯定比当前的GoAgent稳定的多啊。
|
122
Aether 2012-12-10 18:28:03
命令行运行正常,转入背景运行的时候出错:
[root@ shadowsocks]# jobs [1]+ Stopped /usr/lib/python2.6/bin/python server.py [2]- Exit 1 nohup python server.py > log [root@ shadowsocks]# cat log File "server.py", line 102 with open('config.json', 'rb') as f: ^ SyntaxError: invalid syntax |
123
clowwindy 2012-12-10 18:56:14
@Aether 改成 nohup /usr/lib/python2.6/bin/python server.py > log 试试?
|
124
Aether 2012-12-10 19:36:34
@clowwindy 我试试看。另外请问一下目前是不是只支持单一服务端对客户端;如果我有很多客户端,需要对每一个客户端开一个单独的服务端端口么?
|
127
Aether 2012-12-10 21:35:42
我在家里的电脑尝试有一个很奇怪的现象。
比如google facebook youtube,在常规http连接下无法工作(显示连不上代理),切换到全https以后就好了。 但是对一般的网站,常规http是正常的(比如我强制把所有流量都切过去)。 真心奇怪。。。 PS:多客户端可用,谢谢:D |
129
keys 2012-12-16 10:25:05
@clowwindy 我看了下vps上的log文件,有如下错误提示
Traceback (most recent call last): File "/usr/lib/python2.7/SocketServer.py", line 284, in _handle_request_noblock self.process_request(request, client_address) File "/usr/lib/python2.7/SocketServer.py", line 594, in process_request t.start() File "/usr/lib/python2.7/threading.py", line 495, in start _start_new_thread(self.__bootstrap, ()) error: can't start new thread Traceback (most recent call last): File "/usr/lib/python2.7/SocketServer.py", line 284, in _handle_request_noblock self.process_request(request, client_address) File "/usr/lib/python2.7/SocketServer.py", line 594, in process_request t.start() File "/usr/lib/python2.7/threading.py", line 495, in start _start_new_thread(self.__bootstrap, ()) error: can't start new thread |
130
clowwindy 2012-12-16 10:50:45
@keys 你的 VPS 可能是 OpenVZ,或者最大线程数设的太低了,也可能是内存不足。可以调高最大线程数试试,不行就用 node.js 版吧。
|
131
21grams 2012-12-28 21:10:22
android手机能用吗
|
133
keys 2013-01-01 11:06:48
@keyssdhfklaaaa 你存在否
|
134
joyoner 2013-01-12 19:22:30
root@joyoner:~/shadowsocks# python test.py
encryption test passed warning: gevent not found, using threading instead warning: gevent not found, using threading instead 2013-01-12 15:16:58 INFO starting server at port 8388 ... 2013-01-12 15:16:58 INFO starting server at port 10801 ... Traceback (most recent call last): File "test.py", line 108, in <module> bufsize=0, close_fds=True) File "/usr/lib/python2.6/subprocess.py", line 623, in __init__ errread, errwrite) File "/usr/lib/python2.6/subprocess.py", line 1141, in _execute_child raise child_exception OSError: [Errno 2] No such file or directory |
136
joyoner 2013-01-12 19:40:14
@clowwindy 果然。这样就好了吧?
root@joyoner:~/shadowsocks# python test.py encryption test passed warning: gevent not found, using threading instead warning: gevent not found, using threading instead 2013-01-12 15:39:42 INFO starting server at port 10801 ... 2013-01-12 15:39:42 INFO starting server at port 8388 ... * About to connect() to proxy 127.0.0.1 port 1080 (#0) * Trying 127.0.0.1... Connection refused * couldn't connect to host * Closing connection #0 curl: (7) couldn't connect to host |
138
joyoner 2013-01-12 19:43:47
|
139
clowwindy 2013-01-12 20:22:28
|
141
clowwindy 2013-01-12 23:06:35
|
143
zyxfsky 2013-01-19 21:31:59
Windows下启动local.py,每次都报找不到gevent,官方的安装包装了没用,easy_install安装也没用,虽然也能启动,但看着warning很不爽,求gevent安装方法
|
145
JimmyZ 2013-01-20 03:20:23
我想知道python-gevent/node.js两个版本哪个推荐使用?
|
147
JimmyZ 2013-01-20 17:58:27
@zyxfsky 你试试在python命令行下import gevent, 看有什么报错, 就我之前架goagent的经历来看, 可能是greenlet没有装, 谨供参考. 架shadowsocks我就图省事直接用node.js版了
|
148
xuesumin 2013-02-09 09:12:52
非常好!请问有没有提供shadowsocks 翻(墙服务的供应商,要求包括shadowsocks-android的?准备买一个
|
149
agassi_yzh 2013-02-25 16:39:06
大大,您搞一个捐赠方式吧。我们都想给你买啤酒喝
|
150
clowwindy 2013-02-25 19:54:35
@agassi_yzh 心意我领了,谢谢 :)
|
151
JimmyZ 2013-02-27 22:34:28
粗看了一下node.js版代码, 我的理解是在local端解析了SOCKS请求, 转成一个私有请求格式加密转发到server, 然后server端解密解析此请求. 请问为什么要做这个转换的步骤? 我觉得local端不做任何处理直接加密转发到server, server端再解密并处理SOCKS请求就可以了. 不知我的理解是否正确?
只是好奇为什么要这么写, 没有任何冒犯的意思. |
153
JimmyZ 2013-03-04 15:03:24
这也不矛盾吧? 你可以把前面的Auth部分在Local做, 到了SOCKS请求了原样转发给server, 没必要转换一次格式吧?
|
155
wolong 2013-03-07 11:41:04
好像挺好,回去研究下服务端要怎么用。
|
156
JimmyZ 2013-03-08 00:59:32
@clowwindy 可能说得不清楚, 干脆花了几个小时写了下, 大部分抄你的: https://github.com/Twilight/sockstunnel/blob/master/sockstunnel.coffee, 你有空瞅瞅, 并不会造成性能损失, 写起来省事点, 不用发明个私有请求格式什么的...
|
159
stefanie924 2013-03-16 10:21:43
File "server.py", line 105, in handle
addrtype = ord(self.decrypt(sock.recv(1))) TypeError: ord() expected a character, but string of length 0 found 服务器上log这样是 python环境 2.6.5 |
160
clowwindy 2013-03-16 11:09:05
|
161
stefanie924 2013-03-16 22:29:23
刚配置的
用不了 |
162
clowwindy 2013-03-16 23:34:23
|
163
stefanie924 2013-03-17 00:54:34
之前服务端报的那错,是我在win下用你的c# binary来连接后,服务器生成的
现在我用mac下连接服务器 test passed 本地mac的启动后 warning: gevent not found, using threading instead shadowsocks v0.9.4 2013-03-16 22:19:12 INFO starting server at port 1080 ... 服务端 2013-03-16 14:13:57 INFO starting server at port 8388 ... 但chrome设置后上不了网了 |
164
clowwindy 2013-03-17 00:58:13
@stefanie924 或许你没设置好浏览器的代理方式。要选择 Socks5,Chrome 的话要装 SwitchySharp,它会设置让代理解析 DNS。
|
165
humiaozuzu 2013-04-05 18:47:22
@clowwindy 请问下,我现在部署在了多个服务端在不同vps上,客户端有一个,有没有办法让客户端支持这些服务端的负载均衡?
|
166
humiaozuzu 2013-04-05 18:56:53
@clowwindy 发现了 shadowsocks 的 go 版本。我想问下这样可以不,我的 client 使用 go 的版本连接多个服务器,server 使用 node 版本,版本会不会有冲突?
|
167
clowwindy 2013-04-05 19:51:00
@humiaozuzu config.json 里可以设成 "server":["IP1", "IP2"],
|
168
humiaozuzu 2013-04-05 19:58:19
@clowwindy 已经搞定了,不过不是负载均衡,他是支持多个服务器~
|
170
samons 2013-05-03 13:46:19
@clowwindy 有实现二级代理吗?能实现内网穿透吗?公司只有开放80端口的代理服务器,需要用户名密码,貌似没找到可以设置代理服务器的地方
|
171
zyxfsky 2013-05-04 17:01:30
由于vps上的shadowscok是好几个人共用的,打印日志想看哪一个客户端请求了什么域名,我怎么获取client ip,对python和sock都比较小白,现在只是在handle函数里的logging.info里做了修改:
logging.info('connecting %s -> %s:%d' % (sock, addr, port[0])) 虽然这样可以看到,但是会答应出很多不需要的信息,我只想看到client ip,我应该怎么获取呢? |
172
horsebh 2013-05-31 09:48:11
技术白痴,请教一下作者。
我用的是某网站的FQ服务,支持 shadowsocks,但是它对 mac 下的操作只有简单几句: ******** mac 和linux 下载对应的客户端和配置文件到同一个目录(此目录你可以自行创建),进入terminal,cd 到 shadowsocks-local的目录 然后chmod +x shadowsocks-local 输入 nohup ./shadowsocks-local & 即可 (如果有问题,您可以执行 ./shadowsocks-local看看有什么错误提示) ******** 网站提供的客户端是一个名为 local-mac64-0.6.gz 的压缩文件,解压后也就一个无后缀的 local-mac64-0.6 文件。跟着网站操作,FQ 是成功了。但就是不理解这样做的原理,而且每次关机重开后似乎又要重新设置一遍。请问可以如何设置使其每次开机都自动运行? 谢谢! |
173
clowwindy 2013-05-31 11:15:22 ♥ 1
|
175
paw 254 天前
刚读了下shadowsocks代码(python版)
发现在加密部分的实现是一次TCP链接只随机一次VI,以后这条连接上所有来往数据包全用这个VI 我没专门学过密码学,但是看过coursera.org上密码学的公开课,印象中VI是每次加密都要重新随机的,并且VI 要足够长保证尽量不重复,VI用光之后就需要更新密码了,如果多次加密用同一个密码+同样的VI,基本和没加密一样了,那个默认的table就更不说了,完全就是many time pad了,基本零强度 当然只是糊弄墙的话这样也可以,但是如果有人用shadowsocks传输需要保密的数据就遭殃了。。 然后,我感觉完全不用自己去实现加密部分,用python自带的SSL库就行了,local与server之间使用sslsocket通讯不就可以了,这个SSL库貌似性能还行 http://blog.csdn.net/warriorpaw/article/details/14224603 我写的一个带SSL支持的TCPServer & ThreadingTCPServer 删掉shadowsocks的encrypt.py和对它的引用,再把两边的def encrypt(self, data): 和def decrypt(self, data): 都改成直接return data,用我写的那个ThreadingTCPServer替代SocketServer的,我本地测试是好用的,并且应该不会有加密强度的问题了 |
176
paw 254 天前
哦,那是IV 不是VI 啊 囧
|
177
clowwindy 254 天前 ♥ 1
@paw
shadowsocks 使用 CFB 模式时是 CPA secure 的。每个连接用的都是随机 iv,并且这个 iv 是用 OpenSSL 的 rand_bytes() 生成的强随机数据。 SSL 不适合翻墙 |