gwuhaolin/lightsocks

socks5 链接问题

Closed this issue · 2 comments

mritd commented

测试发现在 socks5 代理下貌似有点小问题:

  • docker 在配置 lightsocks sokcs5 代理后进行 pull 镜像,会出现 pull 完成后出现 retry 动作,感觉像是 最后校验失败
  • privoxy 将 lightsocks sokcs5 转换为 http 代理后,wget 走代理下载文件出现 反复 重试动作

curl 日志如下

mritd.docker ➜  ~ proxy wget https://redirector.gvt1.com/edgedl/go/go1.9.2.linux-amd64.tar.gz
--2017-10-27 17:01:33--  https://redirector.gvt1.com/edgedl/go/go1.9.2.linux-amd64.tar.gz
Connecting to 10.10.1.3:8123... connected.
Proxy request sent, awaiting response... 302 Found
Location: https://r1---sn-hxb54vo-3i8e.gvt1.com/edgedl/go/go1.9.2.linux-amd64.tar.gz?cms_redirect=yes&expire=1509109290&ip=92.223.67.84&ipbits=0&mm=28&mn=sn-hxb54vo-3i8e&ms=nvh&mt=1509094368&mv
=u&pcm2cms=yes&pl=26&shardbypass=yes&sparams=expire,ip,ipbits,mm,mn,ms,mv,pcm2cms,pl,shardbypass&signature=842925B6E455C6A6508144799487CC11807163B9.32F90844C6C995A72AEF34F627428E8C2D6E119E&key=
cms1 [following]
--2017-10-27 17:01:34--  https://r1---sn-hxb54vo-3i8e.gvt1.com/edgedl/go/go1.9.2.linux-amd64.tar.gz?cms_redirect=yes&expire=1509109290&ip=92.223.67.84&ipbits=0&mm=28&mn=sn-hxb54vo-3i8e&ms=nvh&m
t=1509094368&mv=u&pcm2cms=yes&pl=26&shardbypass=yes&sparams=expire,ip,ipbits,mm,mn,ms,mv,pcm2cms,pl,shardbypass&signature=842925B6E455C6A6508144799487CC11807163B9.32F90844C6C995A72AEF34F627428E
8C2D6E119E&key=cms1
Connecting to 10.10.1.3:8123... connected.
Proxy request sent, awaiting response... 200 OK
Length: 104247844 (99M) [application/octet-stream]
Saving to: ‘go1.9.2.linux-amd64.tar.gz.1’

98% [=====================================================================================================================================================>  ] 103,070,960 7.12MB/s   in 10s

2017-10-27 17:01:44 (9.77 MB/s) - Connection closed at byte 103070960. Retrying.

--2017-10-27 17:01:45--  (try: 2)  https://r1---sn-hxb54vo-3i8e.gvt1.com/edgedl/go/go1.9.2.linux-amd64.tar.gz?cms_redirect=yes&expire=1509109290&ip=92.223.67.84&ipbits=0&mm=28&mn=sn-hxb54vo-3i$e&ms=nvh&mt=1509094368&mv=u&pcm2cms=yes&pl=26&shardbypass=yes&sparams=expire,ip,ipbits,mm,mn,ms,mv,pcm2cms,pl,shardbypass&signature=842925B6E455C6A6508144799487CC11807163B9.32F90844C6C995A72AE$34F627428E8C2D6E119E&key=cms1
Connecting to 10.10.1.3:8123... connected.
Proxy request sent, awaiting response... 206 Partial Content
Length: 104247844 (99M), 1176884 (1.1M) remaining [application/octet-stream]
Saving to: ‘go1.9.2.linux-amd64.tar.gz.1’

99% [++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++> ] 103,841,008 2.54MB/s   in 0.3s

2017-10-27 17:01:46 (2.54 MB/s) - Connection closed at byte 103841008. Retrying.

--2017-10-27 17:01:48--  (try: 3)  https://r1---sn-hxb54vo-3i8e.gvt1.com/edgedl/go/go1.9.2.linux-amd64.tar.gz?cms_redirect=yes&expire=1509109290&ip=92.223.67.84&ipbits=0&mm=28&mn=sn-hxb54vo-3i8
e&ms=nvh&mt=1509094368&mv=u&pcm2cms=yes&pl=26&shardbypass=yes&sparams=expire,ip,ipbits,mm,mn,ms,mv,pcm2cms,pl,shardbypass&signature=842925B6E455C6A6508144799487CC11807163B9.32F90844C6C995A72AEF
34F627428E8C2D6E119E&key=cms1
Connecting to 10.10.1.3:8123... connected.
Proxy request sent, awaiting response... 206 Partial Content
Length: 104247844 (99M), 406836 (397K) remaining [application/octet-stream]
Saving to: ‘go1.9.2.linux-amd64.tar.gz.1’

99% [+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ] 104,037,616 1.13MB/s   in 0.2s

2017-10-27 17:01:49 (1.13 MB/s) - Connection closed at byte 104037616. Retrying.

--2017-10-27 17:01:52--  (try: 4)  https://r1---sn-hxb54vo-3i8e.gvt1.com/edgedl/go/go1.9.2.linux-amd64.tar.gz?cms_redirect=yes&expire=1509109290&ip=92.223.67.84&ipbits=0&mm=28&mn=sn-hxb54vo-3i8
e&ms=nvh&mt=1509094368&mv=u&pcm2cms=yes&pl=26&shardbypass=yes&sparams=expire,ip,ipbits,mm,mn,ms,mv,pcm2cms,pl,shardbypass&signature=842925B6E455C6A6508144799487CC11807163B9.32F90844C6C995A72AEF
34F627428E8C2D6E119E&key=cms1
Connecting to 10.10.1.3:8123... connected.
Proxy request sent, awaiting response... 206 Partial Content
Length: 104247844 (99M), 210228 (205K) remaining [application/octet-stream]
Saving to: ‘go1.9.2.linux-amd64.tar.gz.1’

99% [+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ] 104,119,536 --.-K/s   in 0.1s

2017-10-27 17:01:52 (736 KB/s) - Connection closed at byte 104119536. Retrying.

^C

对网络层不算太熟悉,但是感觉像是链接被提前关闭了

mritd commented

@gwuhaolin 升级到 1.0.4 后,问题并没有改善,貌似不是由于长时间下载超时关闭问题,因为实际下载时间并不长;感觉像是在最后下载完成后 server 端 buffer 没有被刷出去,导致 client 校验失败

复现过程

安装 privoxy,配置如下(forward-socks5 指向 lightsocks)

confdir /etc/privoxy
logdir /var/log/privoxy
actionsfile match-all.action # Actions that are applied to all sites and maybe overruled later on.
actionsfile default.action   # Main actions file
actionsfile user.action      # User customizations
filterfile default.filter
filterfile user.filter      # User customizations
logfile logfile
listen-address  0.0.0.0:8123
toggle  1
enable-remote-toggle  0
enable-remote-http-toggle  0
enable-edit-actions 0
enforce-blocks 0
buffer-limit 4096
enable-proxy-authentication-forwarding 0
forward         192.168.*.*/     .
forward          172.16.*.*/     .
forward            10.*.*.*/     .
forward           127.*.*.*/     .
forward-socks5   /               10.10.1.3:56 .
forwarded-connect-retries  0
accept-intercepted-requests 0
allow-cgi-request-crunching 0
split-large-forms 0
keep-alive-timeout 5
tolerate-pipelining 1
socket-timeout 300

测试日志(概率性出现)

mritd.docker ➜  ~ https_proxy=http://10.10.1.3:8123 wget https://redirector.gvt1.com/edgedl/go/go1.9.2.linux-amd64.tar.gz
--2017-10-28 09:03:05--  https://redirector.gvt1.com/edgedl/go/go1.9.2.linux-amd64.tar.gz
正在连接 10.10.1.3:8123... 已连接。
已发出 Proxy 请求,正在等待回应... 302 Found
位置:https://r1---sn-hxb54vo-3i8e.gvt1.com/edgedl/go/go1.9.2.linux-amd64.tar.gz?cms_redirect=yes&expire=1509166982&ip=92.223.67.84&ipbits=0&mm=28&mn=sn-hxb54vo
-3i8e&ms=nvh&mt=1509149909&mv=u&pcm2cms=yes&pl=26&shardbypass=yes&sparams=expire,ip,ipbits,mm,mn,ms,mv,pcm2cms,pl,shardbypass&signature=22C38874CFE8877B05755D16
B86E4AE4B881D581.7977297466FB083C90223C4FB009F688ADA0FF65&key=cms1 [跟随至新的 URL]
--2017-10-28 09:03:06--  https://r1---sn-hxb54vo-3i8e.gvt1.com/edgedl/go/go1.9.2.linux-amd64.tar.gz?cms_redirect=yes&expire=1509166982&ip=92.223.67.84&ipbits=0&
mm=28&mn=sn-hxb54vo-3i8e&ms=nvh&mt=1509149909&mv=u&pcm2cms=yes&pl=26&shardbypass=yes&sparams=expire,ip,ipbits,mm,mn,ms,mv,pcm2cms,pl,shardbypass&signature=22C38
874CFE8877B05755D16B86E4AE4B881D581.7977297466FB083C90223C4FB009F688ADA0FF65&key=cms1
正在连接 10.10.1.3:8123... 已连接。
已发出 Proxy 请求,正在等待回应... 200 OK
长度:104247844 (99M) [application/octet-stream]
正在保存至: “go1.9.2.linux-amd64.tar.gz”

97% [===================================================================================================================>   ] 102,022,400 13.0MB/s 用时 7.6s

2017-10-28 09:03:14 (12.7 MB/s) - 在 102022400 字节处连接关闭。重试中。

--2017-10-28 09:03:15--  (尝试次数: 2)  https://r1---sn-hxb54vo-3i8e.gvt1.com/edgedl/go/go1.9.2.linux-amd64.tar.gz?cms_redirect=yes&expire=1509166982&ip=92.22$.67.84&ipbits=0&mm=28&mn=sn-hxb54vo-3i8e&ms=nvh&mt=1509149909&mv=u&pcm2cms=yes&pl=26&shardbypass=yes&sparams=expire,ip,ipbits,mm,mn,ms,mv,pcm2cms,pl,shardbypas$&signature=22C38874CFE8877B05755D16B86E4AE4B881D581.7977297466FB083C90223C4FB009F688ADA0FF65&key=cms1
正在连接 10.10.1.3:8123... 已连接。
已发出 Proxy 请求,正在等待回应... 206 Partial Content
长度:104247844 (99M),剩余 2225444 (2.1M) [application/octet-stream]
正在保存至: “go1.9.2.linux-amd64.tar.gz”

99% [++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=> ] 103,660,784 4.36MB/s 用时 0.4s

2017-10-28 09:03:16 (4.36 MB/s) - 在 103660784 字节处连接关闭。重试中。

--2017-10-28 09:03:18--  (尝试次数: 3)  https://r1---sn-hxb54vo-3i8e.gvt1.com/edgedl/go/go1.9.2.linux-amd64.tar.gz?cms_redirect=yes&expire=1509166982&ip=92.223
.67.84&ipbits=0&mm=28&mn=sn-hxb54vo-3i8e&ms=nvh&mt=1509149909&mv=u&pcm2cms=yes&pl=26&shardbypass=yes&sparams=expire,ip,ipbits,mm,mn,ms,mv,pcm2cms,pl,shardbypass
&signature=22C38874CFE8877B05755D16B86E4AE4B881D581.7977297466FB083C90223C4FB009F688ADA0FF65&key=cms1
正在连接 10.10.1.3:8123... 已连接。
已发出 Proxy 请求,正在等待回应... 206 Partial Content
长度:104247844 (99M),剩余 587060 (573K) [application/octet-stream]
正在保存至: “go1.9.2.linux-amd64.tar.gz”

99% [++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ] 103,857,392 1.13MB/s 用时 0.2s

2017-10-28 09:03:19 (1.13 MB/s) - 在 103857392 字节处连接关闭。重试中。

--2017-10-28 09:03:22--  (尝试次数: 4)  https://r1---sn-hxb54vo-3i8e.gvt1.com/edgedl/go/go1.9.2.linux-amd64.tar.gz?cms_redirect=yes&expire=1509166982&ip=92.223
.67.84&ipbits=0&mm=28&mn=sn-hxb54vo-3i8e&ms=nvh&mt=1509149909&mv=u&pcm2cms=yes&pl=26&shardbypass=yes&sparams=expire,ip,ipbits,mm,mn,ms,mv,pcm2cms,pl,shardbypass
&signature=22C38874CFE8877B05755D16B86E4AE4B881D581.7977297466FB083C90223C4FB009F688ADA0FF65&key=cms1
正在连接 10.10.1.3:8123... 已连接。
已发出 Proxy 请求,正在等待回应... 206 Partial Content
长度:104247844 (99M),剩余 390452 (381K) [application/octet-stream]
正在保存至: “go1.9.2.linux-amd64.tar.gz”

99% [++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ] 104,037,616 1.01MB/s 用时 0.2s

2017-10-28 09:03:23 (1.01 MB/s) - 在 104037616 字节处连接关闭。重试中。

^C