MENU

Shadowsocks 优化记录

November 11, 2016 • Read: 1926 • 越过长城

网上各种卖的代理速度都不尽如人意,自己搭一个吧,快的时候是要快得多,但是一到晚上网络变差,速度也就不行了,所以优化必不可少。

原作者推荐的优化

Optimizing Shadowsocks

原作者的优化主要是在系统层面。

创建 /etc/sysctl.d/local.conf,写入如下内容:

# max open files
fs.file-max = 51200
# max read buffer
net.core.rmem_max = 67108864
# max write buffer
net.core.wmem_max = 67108864
# default read buffer
net.core.rmem_default = 65536
# default write buffer
net.core.wmem_default = 65536
# max processor input queue
net.core.netdev_max_backlog = 4096
# max backlog
net.core.somaxconn = 4096

# resist SYN flood attacks
net.ipv4.tcp_syncookies = 1
# reuse timewait sockets when safe
net.ipv4.tcp_tw_reuse = 1
# turn off fast timewait sockets recycling
net.ipv4.tcp_tw_recycle = 0
# short FIN timeout
net.ipv4.tcp_fin_timeout = 30
# short keepalive time
net.ipv4.tcp_keepalive_time = 1200
# outbound port range
net.ipv4.ip_local_port_range = 10000 65000
# max SYN backlog
net.ipv4.tcp_max_syn_backlog = 4096
# max timewait sockets held by system simultaneously
net.ipv4.tcp_max_tw_buckets = 5000
# turn on TCP Fast Open on both client and server side
net.ipv4.tcp_fastopen = 3
# TCP receive buffer
net.ipv4.tcp_rmem = 4096 87380 67108864
# TCP write buffer
net.ipv4.tcp_wmem = 4096 65536 67108864
# turn on path MTU discovery
net.ipv4.tcp_mtu_probing = 1

# for high-latency network
net.ipv4.tcp_congestion_control = hybla

# for low-latency network, use cubic instead
# net.ipv4.tcp_congestion_control = cubic

然后执行

sysctl --system

该配置文件使用了 tcp-hybla 模块以丢包率高时的访问速度。

如果使用 Supervisor,在其配置文件里加上

ulimit -n 51200

参见 使用 Supervisor 守护 Shadowsocks 进程

单边加速

介绍几种单边加速软件。

锐速

锐速官网已经停止新用户注册,据传是被谈话了,但网上还流传着破解版,如 91yun 之类,但别人的一键安装包用着总是有点不放心,我在 Github 上找到了好心人提供的 备份

他还贴心的提供了 Debian 7.0 3.2.0-4 内核版本的 一键安装包

Net-Speeder

net-speeder

在高延迟不稳定链路上优化单线程下载速度,实际上就是双倍发包,如果不限流量可以试一下,反正是开源的,不过小心主机商封号。

双边加速

这种暴力发包的还是少用吧,流氓行为不好。

Finalspeed

finalspeed

高速双边加速软件,在高丢包,延迟环境下仍可达到 90% 物理带宽利用率。

kcptun

kcptun

kcptun-GUI-Client

类似的双边加速软件。

其他版本 Shadowsocks

也可以用其他版本。

ShadowsocksR

ShadowsocksR

加了加密和混淆的版本,可能有利于提升速度。

Shadowsocks-plus

shadowsocks-plus

基于 Go 版本,集成 kcptun。

Archives QR Code
QR Code for this page
Tipping QR Code