No description
Find a file
2019-11-04 22:57:06 +08:00
LICENSE Change LICENSE from MIT to GPLv3 2019-11-02 02:07:47 +08:00
README.md Add BBRPlus Script Powered by cx9208 2019-11-02 02:07:55 +08:00
shadowsocks Code Format 2019-11-04 22:57:06 +08:00
shadowsocks-all.sh Support upgrade ss-libev server feature (beta) and Code format 2019-11-04 22:56:52 +08:00
shadowsocks-debian Code Format 2019-11-04 22:57:06 +08:00
shadowsocks-go Code Format 2019-11-04 22:57:06 +08:00
shadowsocks-go-debian Code Format 2019-11-04 22:57:06 +08:00
shadowsocks-libev Code Format 2019-11-04 22:57:06 +08:00
shadowsocks-libev-debian Code Format 2019-11-04 22:57:06 +08:00
shadowsocksR Code Format 2019-11-04 22:57:06 +08:00
shadowsocksR-debian Code Format 2019-11-04 22:57:06 +08:00
tcp_bbrplus.c Add source file tcp_bbrplus.c 2019-11-04 22:57:06 +08:00

一键安装脚本(四合一)

  • 脚本说明: Shadowsocks 一键安装脚本(四合一)
  • 系统支持: CentOS 6+Debian 7+Ubuntu 12+

下载安装:

wget --no-check-certificate -O shadowsocks-all.sh https://raw.githubusercontent.com/Yuk1n0/Shadowsocks-Install/master/shadowsocks-all.sh
chmod +x shadowsocks-all.sh
./shadowsocks-all.sh 2>&1 | tee shadowsocks-all.log

卸载方法

./shadowsocks-all.sh uninstall

各版本启动|停止|重启|状态命令

Shadowsocks-Python 版: /etc/init.d/shadowsocks-python start | stop | restart | status

ShadowsocksR 版: /etc/init.d/shadowsocks-r start | stop | restart | status

Shadowsocks-Go 版: /etc/init.d/shadowsocks-go start | stop | restart | status

Shadowsocks-libev 版: /etc/init.d/shadowsocks-libev start | stop | restart | status

各版本默认配置文件

Shadowsocks-Python 版: /etc/shadowsocks-python/config.json

ShadowsocksR 版: /etc/shadowsocks-r/config.json

Shadowsocks-Go 版: /etc/shadowsocks-go/config.json

Shadowsocks-libev 版: /etc/shadowsocks-libev/config.json

可选 14 种加密方式的其中之一Python 和 libev 版) aes-256-gcm aes-192-gcm aes-128-gcm aes-256-ctr aes-192-ctr aes-128-ctr aes-256-cfb aes-192-cfb aes-128-cfb camellia-128-cfb camellia-192-cfb camellia-256-cfb chacha20-ietf-poly1305 chacha20-ietf

可选 7 种加密方式的其中之一Go 版) aes-256-cfb aes-192-cfb aes-128-cfb aes-256-ctr aes-192-ctr aes-128-ctr chacha20-ietf

可选 10 种加密方式的其中之一none 是不加密ShadowsocksR 版) none aes-256-cfb aes-192-cfb aes-128-cfb aes-256-cfb aes-192-cfb aes-128-cfb aes-256-ctr aes-192-ctr aes-128-ctr chacha20-ietf

可选 7 种协议protocol的其中之一仅限 ShadowsocksR 版) origin verify_deflate auth_sha1_v4 auth_sha1_v4_compatible auth_aes128_md5 auth_aes128_sha1 auth_chain_a auth_chain_b

可选 9 种混淆obfs的其中之一仅限 ShadowsocksR 版) plain http_simple http_simple_compatible http_post http_post_compatible tls1.2_ticket_auth tls1.2_ticket_auth_compatible tls1.2_ticket_fastauth tls1.2_ticket_fastauth_compatible

BBRplus

脚本安装方法:

一键脚本(全系统):
参见https://github.com/chiakge/Linux-NetSpeed

一键脚本仅CentOS

wget --no-check-certificate https://raw.githubusercontent.com/Yuk1n0/Shadowsocks-Install/master/bbrplus_centos.sh && chmod +x bbrplus_centos.sh && ./bbrplus_centos.sh

安装后执行uname -r显示4.14.129-bbrplus则切换内核成功
执行lsmod | grep bbr显示有bbrplus则开启成功

手动安装方法:

  1. 卸载本机的锐速(如果有)

  2. 下载内核
    wget --no-check-certificate https://github.com/Yuk1n0/Shadowsocks-Install/raw/master/Centos7/x86_64/kernel-4.14.129-bbrplus.rpm

  3. 安装内核
    yum install -y kernel-4.14.129-bbrplus.rpm

  4. 切换启动内核
    grub2-set-default 'CentOS Linux (4.14.129-bbrplus) 7 (Core)'

  5. 设置fq
    echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
    设置bbrplus
    echo "net.ipv4.tcp_congestion_control=bbrplus" >> /etc/sysctl.conf

  6. 重启
    reboot

  7. 检查内核版本 uname -r
    显示4.14.129-bbrplus则成功

  8. 检查bbrplus是否已经启动
    lsmod | grep bbrplus 显示有tcp_bbrplus则成功

卸载方法:

安装别的内核bbrplus自动失效卸载内核自行谷歌即可

内核编译:

只能用于4.14.x内核更高版本的tcp部分源码有改动要移植到高版本内核得自己研究

下载4.14内核源码
wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.14.91.tar.xz

解压
tar -Jxvf linux-4.14.91.tar.xz -C /root/

修改linux-4.14.91/include/net/inet_connection_sock.h139行
u64 icsk_ca_priv[112 / sizeof(u64)];
#define ICSK_CA_PRIV_SIZE (14 * sizeof(u64))
这两段数值改为112和14如上

修改/net/ipv4/tcp_output.c#L1823行
tcp_snd_wnd_test函数大括号后}
换行添加EXPORT_SYMBOL(tcp_snd_wnd_test);

添加tcp_bbrplus.c删除/net/ipv4/tcp_bbr.c
修改linux-4.14.91/net/ipv4/Makefile
obj-$(CONFIG_TCP_CONG_BBR) += tcp_bbrplus.obbr改为bbrplus

安装依赖
Centos
yum -y groupinstall Development tools
yum -y install ncurses-devel bc gcc gcc-c++ ncurses ncurses-devel cmake elfutils-libelf-devel openssl-devel rpm-build redhat-rpm-config asciidoc hmaccalc perl-ExtUtils-Embed xmlto audit-libs-devel binutils-devel elfutils-devel elfutils-libelf-devel newt-devel python-devel zlib-devel

Debian
wget -qO- git.io/superupdate.sh | bash
apt-get install build-essential libncurses5-dev
apt-get build-dep linux

切换到目录
cd /root/linux-4.14.91

配置
make oldconfig
或者
make menuconfig

确保CONFIG_TCP_CONG_BBR=m

禁用签名调试
scripts/config --disable MODULE_SIG
scripts/config --disable DEBUG_INFO

开始编译
centosmake rpm-pkg
debianmake deb-pkg