shadowsocks-install/README.md
2019-11-02 02:07:55 +08:00

196 lines
4.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 一键安装脚本(四合一)
- 脚本说明: Shadowsocks 一键安装脚本(四合一)
- 系统支持: CentOS 6+Debian 7+Ubuntu 12+
## 下载安装:
``` bash
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
```
卸载方法
``` bash
./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
```bash
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