Skip to content

Instantly share code, notes, and snippets.

@kang000feng
Forked from vmlinz/shadowsocks_goagent.md
Created May 24, 2016 17:39
Show Gist options
  • Save kang000feng/56a97f3fa5dd7581dc57a5a644ac30ac to your computer and use it in GitHub Desktop.
Save kang000feng/56a97f3fa5dd7581dc57a5a644ac30ac to your computer and use it in GitHub Desktop.
Shadowsocks with goagent through meow proxy

Shadowsocks with goagent

前几天写了一个GoAgent开多线程教程,里面提到使用Shadowsocks前置代理GoAgent,一直有网友发帖问如何操作,现在明确一下具体作法。
(只讨论在windows下)


ss前置代理GoAgent主要适用于SS看视频慢的用户。因为ss没有大文件自动分段下载功能,下载大文件(看视频)的时候会产生持续的tcp连
接。这种持续的tcp连接很容易被GFW干扰GoAgent有一个独特的“大文件自动分段下载”功能,且可以多线程下载。多线程可以加快下载速度,
自动分段可以避免产生持续的tcp连接,减少被GFW干扰的可能。ss前置代理GoAgent的目的就是使用GoAgent的“大文件自动分段下载”使ss不
产生持续的tcp连接,多线程加快下载速度,改善视频体验。

具体操作

先要有至少一个可用的ss账号,不管是免费收费自建的。一个ss客户端(windows版)确认你的ss可用正常使用。我在这里下载的客户端 
https://github.com/shadowsocks/shadowsocks-csharp客户端运行后无需启用“系统代理”。直接使用它的端口即可。比如8080这个客户端自
动识别协议 socks 或 http(s) ,无需转换。GoAgent只能直接使用https


第二步设置GoAgent客户端(特别注意:GoAgent3.2.3不能直接设置代理,这个问题作者一直没有解决)我用的是GoAgent3.1.19因为使用了
前置代理 [iplist] 无需再加入ip 默认即可

需要设置的几个地方

  • ip评优算法每次选出的ip数量

  • window = 0 (这个值会影响并发连接数,由于使用前置代理ip数量已经没有影响)

  • 这个就是设置GoAgent前置代理为ss

    [proxy] enable = 1 (1为启用) host = 127.0.0.1(本机ip,因为ss开在本机) port = 8080 (ss监听端口)

还有两个参数对视频流畅度影响很大,需要根据自己的情况调节。

  • 线程数 threads = 8 (这个值表示GoAgent同时用多少个线程下载同一个文件。线程越多速度越快,我最大设置到16)

  • 一次最大下载量 maxsize = 1048576(这个值是“分段下载”“段”的大小,越小越容易通过GFW。但是越小产生的附加数据越多,我最小到262144)

    ss服务器ping值在200-300可以参考下面设置 [autorange] threads = 8 maxsize = 262144 waitsize = 262144 bufsize = 8192

GoAgent设置完了

浏览器的代理设置为 使用GoAgent代理无需再考虑SS。使用的时候SS必须一直开启,GoAgent的流量一直经过SS。此时的数据应该是浏览器→
本机GoAgent客户端 → 本机SS客户端 → SS服务器 → Google云上的GoAgent服务端 → 
Internet。SS起了一个跳板的作用。GFW看见的是SS流量,看不见GoAgent流量。GoAgent流量藏在ss里了。


本来还想写点多个SS流量均衡的用法,但是这里不能发图,只用文字不容易说清楚,以后再说。多个ss均衡的好处是流量和连接都分散到多
个ss上,形成 分布式连接 不容易引起GFW关注。

又快 六四 党妈渐近高潮 祝各位同学翻墙愉快

Appendix

Meow Config for shadowsocks and goagent

listen = http://127.0.0.1:4411
proxy = http://127.0.0.1:8087
proxy = socks5://127.0.0.1:1080
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment