目录
前言
shadowsocksr 是一款流行的科学上网工具,其服务端可以部署在海外服务器上,为用户提供稳定可靠的代理服务。本文将详细介绍如何在服务器上搭建 shadowsocksr 服务端,并对其进行优化配置,帮助用户获得更好的上网体验。
环境准备
- 一台可以访问互联网的服务器,操作系统建议使用 CentOS 7 或 Ubuntu 18.04 等主流发行版。
- 服务器需要具有 root 权限或 sudo 权限,以便顺利安装和配置软件。
- 服务器需要开放相应的端口,以便客户端能够连接。
安装 shadowsocksr
-
使用 git 克隆 shadowsocksr 项目代码:
bash git clone -b master https://github.com/shadowsocksrr/shadowsocksr.git
-
进入 shadowsocksr 目录,并安装依赖:
bash cd shadowsocksr pip install -r requirements.txt
-
运行 install.sh 脚本进行安装:
bash bash install.sh
-
安装完成后,系统会自动生成一份默认的配置文件 config.json。
配置 shadowsocksr
修改配置文件
-
打开 config.json 文件,根据实际需求进行配置:
{ “server”:”0.0.0.0″, “server_port”:8388, “password”:”your_password”, “method”:”aes-256-cfb”, “protocol”:”auth_aes128_md5″, “protocol_param”:””, “obfs”:”tls1.2_ticket_auth”, “obfs_param”:””, “speed_limit_per_con”:0, “speed_limit_per_user”:0 }
- server: 服务器 IP 地址,一般设置为
0.0.0.0
监听所有网卡。 - server_port: 服务端口,可以根据需求自行设置。
- password: 连接密码,请设置一个复杂密码。
- method: 加密方式,建议使用 aes-256-cfb。
- protocol: 协议插件,建议使用 auth_aes128_md5。
- obfs: 混淆插件,建议使用 tls1.2_ticket_auth。
- speed_limit_per_con: 单个客户端连接速度限制,0 表示不限制。
- speed_limit_per_user: 单个用户总速度限制,0 表示不限制。
- server: 服务器 IP 地址,一般设置为
-
保存配置文件并退出。
启动服务
-
启动 shadowsocksr 服务:
bash python server.py -c config.json
-
查看服务运行状态:
bash netstat -antp | grep python
如果看到 shadowsocksr 进程正在监听配置的端口,说明服务启动成功。
服务端优化
开启 BBR 加速
-
执行以下命令开启 BBR 加速:
bash echo “net.core.default_qdisc=fq” >> /etc/sysctl.conf echo “net.ipv4.tcp_congestion_control=bbr” >> /etc/sysctl.conf sysctl -p
-
重启服务器使配置生效。
开启 TCP 加速
-
安装 tcp_tsunami 加速模块:
bash yum install -y tcp_tsunami
-
修改 shadowsocksr 配置文件,添加以下参数:
“tcp_fast_open”: true, “tcp_fast_open_qlen”: 20
-
重启 shadowsocksr 服务使配置生效。
常见问题解答
如何查看服务状态?
可以使用以下命令查看 shadowsocksr 服务的运行状态:
bash supervisorctl status shadowsocksr
如果服务状态为 RUNNING,说明服务正常运行。
如何修改服务端口?
- 打开 config.json 配置文件,修改 server_port 参数的值。
- 重启 shadowsocksr 服务使配置生效。
如何查看客户端连接信息?
可以使用以下命令查看客户端的连接信息:
bash python monitor.py -c config.json
该命令会显示当前连接的客户端 IP 地址、已使用流量等信息。
如何防止服务器被墙?
- 使用 obfs 混淆插件可以有效防止服务器被墙。
- 定期更换服务器 IP 地址或使用域名访问。
- 开启 BBR 和 TCP 加速,提高服务器抗压能力。
- 分散使用多个服务器,降低单台服务器被封的风险。