目录
Shadowsocks简介
Shadowsocks 是一个开源的加密代理软件,广泛应用于突破网络封锁,访问被屏蔽的网站和服务。它采用自定义协议,通过加密的方式将流量转发到代理服务器,从而实现科学上网。Shadowsocks 在各大操作系统上都有对应的客户端,本文主要介绍如何在 Ubuntu 系统上优化使用 Shadowsocks。
Shadowsocks在Ubuntu上的安装
安装Shadowsocks客户端
在Ubuntu上安装Shadowsocks客户端有多种方式,以下是常见的几种:
- 
通过 apt包管理器安装:sudo apt-get update sudo apt-get install shadowsocks-libev 
- 
通过 pip包管理器安装:sudo apt-get install python3-pip sudo pip3 install shadowsocks 
- 
通过 snap包管理器安装:sudo snap install shadowsocks-libev 
配置Shadowsocks客户端
Shadowsocks客户端安装完成后,需要对其进行配置才能正常使用。配置步骤如下:
- 
创建 Shadowsocks 配置文件: sudo nano /etc/shadowsocks-libev/config.json 
- 
在配置文件中填写以下信息: { “server”:”your_server_ip”, “server_port”:your_server_port, “password”:”your_password”, “timeout”:300, “method”:”aes-256-cfb” } 其中, your_server_ip、your_server_port和your_password需要替换为实际的服务器 IP、端口和密码。
- 
保存并退出配置文件。 
- 
启动 Shadowsocks 服务: sudo systemctl start shadowsocks-libev 
- 
检查 Shadowsocks 服务状态: sudo systemctl status shadowsocks-libev 
Shadowsocks在Ubuntu上的优化
开启UDP转发
Shadowsocks 默认只支持 TCP 协议,如果需要使用 UDP 协议,需要手动开启 UDP 转发。操作步骤如下:
- 
编辑 Shadowsocks 配置文件: sudo nano /etc/shadowsocks-libev/config.json 
- 
在配置文件中添加 "mode":"tcp_and_udp"字段:{ “server”:”your_server_ip”, “server_port”:your_server_port, “password”:”your_password”, “timeout”:300, “method”:”aes-256-cfb”, “mode”:”tcp_and_udp” } 
- 
保存并退出配置文件。 
- 
重启 Shadowsocks 服务: sudo systemctl restart shadowsocks-libev 
修改缓存大小
Shadowsocks 默认的缓存大小可能不够优化,可以适当增大缓存大小以提高性能。操作步骤如下:
- 
编辑 Shadowsocks 服务的系统配置文件: sudo nano /etc/systemd/system/shadowsocks-libev.service 
- 
在 [Service]部分添加以下行:LimitNOFILE=65535 
- 
保存并退出配置文件。 
- 
重新加载系统配置并重启 Shadowsocks 服务: sudo systemctl daemon-reload sudo systemctl restart shadowsocks-libev 
开启TCP快速打开
TCP 快速打开可以减少 TCP 连接的建立时间,从而提高网络传输效率。操作步骤如下:
- 
编辑 Shadowsocks 服务的系统配置文件: sudo nano /etc/sysctl.conf 
- 
在文件末尾添加以下行: net.ipv4.tcp_fastopen = 3 
- 
保存并退出配置文件。 
- 
应用配置更改: sudo sysctl -p 
优化MTU值
MTU (Maximum Transmission Unit) 值决定了数据包的最大大小,合理设置 MTU 值可以提高网络传输效率。操作步骤如下:
- 
编辑 Shadowsocks 客户端的配置文件: sudo nano /etc/shadowsocks-libev/config.json 
- 
在配置文件中添加 "mtu":1480字段:{ “server”:”your_server_ip”, “server_port”:your_server_port, “password”:”your_password”, “timeout”:300, “method”:”aes-256-cfb”, “mtu”:1480 } 
- 
保存并退出配置文件。 
- 
重启 Shadowsocks 服务: sudo systemctl restart shadowsocks-libev 
Shadowsocks在Ubuntu上的加速
使用BBR算法加速
BBR (Bottleneck Bandwidth and Round-trip propagation time) 是 Google 开发的一种 TCP 拥塞控制算法,可以有效提高网络传输速度。操作步骤如下:
- 
更新系统软件包: sudo apt-get update sudo apt-get upgrade 
- 
安装 BBR 内核: sudo apt-get install linux-headers-$(uname -r) sudo apt-get install –install-recommends linux-generic-hwe-18.04 
- 
重启系统: sudo reboot 
- 
检查 BBR 是否已启用: sudo sysctl net.ipv4.tcp_congestion_control 如果输出 net.ipv4.tcp_congestion_control = bbr,说明 BBR 已成功启用。
使用魔改版Shadowsocks加速
魔改版 Shadowsocks 在原有 Shadowsocks 的基础上进行了优化,可以提高网络传输速度。操作步骤如下:
- 
安装依赖包: sudo apt-get install git python3-pip 
- 
克隆魔改版 Shadowsocks 仓库: git clone https://github.com/Akkariiin/shadowsocks-libev.git 
- 
进入仓库目录,编译并安装: cd shadowsocks-libev ./configure –prefix=/usr –disable-documentation make sudo make install 
- 
配置并启动魔改版 Shadowsocks: sudo ssserver -c /etc/shadowsocks-libev/config.json -d start 
使用Kcptun加速
Kcptun 是一个基于 KCP 协议的网络加速工具,可以有效提高 Shadowsocks 的传输速度。操作步骤如下:
- 
下载并安装 Kcptun: wget https://github.com/xtaci/kcptun/releases/download/v20.8.0/kcptun-linux-amd64-20.8.0.tar.gz tar xzf kcptun-linux-amd64-20.8.0.tar.gz sudo mv client_linux_amd64 /usr/local/bin/kcptun-client 
- 
编辑 Kcptun 配置文件: sudo nano /etc/kcptun/config.json 
- 
在配置文件中填写以下信息: { “localaddr”: “:12948”, “remoteaddr”: “your_server_ip:29900”, “key”: “your_password”, “crypt”: “aes”, “mode”: “fast” } 其中, your_server_ip和your_password需要替换为实际的服务器 IP 和密码。
- 
保存并退出配置文件。 
- 
启动 Kcptun 服务: sudo systemctl start kcptun 
- 
在 Shadowsocks 客户端中配置 Kcptun 代理: “local_address”: “127.0.0.1”, “local_port”: 1080, “server”: “127.0.0.1”, “server_port”: 12948, “password”: “your_password”, “method”: “aes-256-cfb” 
常见问题FAQ
Q: Shadowsocks 为什么连接不上? A: 可能是服务器端或客户端的配置有问题,请检查以下内容:
- 服务器 IP 和端口是否正确
- 密码是否正确
- 加密方式是否正确
- 防火墙是否允许 Shadowsocks 端口的访问
Q: Shadowsocks 为什么速度很慢? A: 可能是网络环境或配置问题导致的,可以尝试以下优化措施:
- 开启 UDP 转发
- 增大缓存大小
- 开启 TCP 快速打开
- 优化 MTU 值
- 使用 BBR 算法加速
- 使用魔改版 Shadowsocks
- 使用 Kcptun 加速
Q: Shadowsocks 如何实现自动重连? A: 可以使用 systemd 服务来实现 Shadowsocks 的自动重连:
- 
创建 Shadowsocks 服务文件: sudo nano /etc/systemd/system/shadowsocks-libev.service 
- 
在文件中添加以下内容: [Unit] Description=Shadowsocks-libev Server After=network.target [Service] ExecStart=/usr/bin/ss-server -c /etc/shadowsocks-libev/config.json Restart=always User=root [Install] WantedBy=multi-user.target 
- 
保存并退出文件。 
- 
启用并启动 Shadowsocks 服务: sudo systemctl enable shadowsocks-libev sudo systemctl start shadowsocks-libev 
Q: Shadowsocks 如何实现多用户管理? A: 可以使用 ssserver 命令来实现 Shadowsocks 的多用户管理:
- 
编辑 Shadowsocks 配置文件: sudo nano /etc/shadowsocks-libev/config.json 
- 
在配置文件中添加多个用户信息: { “server”:”your_server_ip”, “server_port”:your_server_port, “password”:”your_password”, “method”:”aes-256-cfb”, “users”: [ { “password”: “user1_password”, “method”: “aes-256-cfb”, “port”: 8001 }, { “password”: “user2_password”, “method”: “aes-256-cfb”, “port”: 8002 } ] } 
- 
保存并退出配置文件。 
- 
启动 Shadowsocks 服务: sudo ssserver -c /etc/shadowsocks-libev/config.json -d start 
Q: Shadowsocks 如何实现流量统计? A: 可以使用 ssadmin 命令来实现 Shadowsocks 的流量统计:
- 
安装 ssadmin工具:sudo pip3 install ssadmin 
- 
编辑 Shadowsocks 配置文件: sudo nano /etc/shadowsocks-libev/config.json 
- 
在配置文件中添加 "plugin": "ss-manager"字段:{ “server”:”your_server_ip”, “server_port”:your_server_port, 

