安装Shadowsocks(SS)服务器
使用包管理器安装(推荐)
- 更新仓库:
sudo apt update
- 安装ss-tunnel:
sudo apt install ss-tunnel
- 启动ss-tunnel并设置开机启动:
sudo ss-tunnel -d /etc/ss-tunnel/socket.sock --listen --source-port 0...:108 sudo systemctl enable ss-tunnel sudo systemctl start ss-tunnel
使用源码编译
- 下载源码:
git clone https://github.com/shadowsocks/shadowsocks.git cd shadowsocks
- 编译并安装:
CC=clang CFLAGS="-L/usr/lib -lssl -lz" ./configure make sudo make install
使用Docker
- 安装Docker:
curl -fsSL https://get.docker.com | bash -s docker
- 运行Shadowsocks Docker镜像:
docker pull shadowsocks/shadowsocks docker run -d --name ss-server -p 108:108 shadowsocks/shadowsocks
配置Shadowsocks服务器
手动配置
- 生成配置文件:
ss-server -d /etc/shadowsocks/socket.sock --listen --source-port 0...:108
- 编辑配置文件:
nano /etc/shadowsocks/config.json
{ "server": { "listen": true, "source_address": "...", "source_port": 108, "socks_port": 1081, "method": "chacha20", "password": "yourpassword" } } - 重启服务:
sudo systemctl restart ss-tunnel
使用WebSocket代理
- 修改WebSocket配置:
nano /etc/shadowsocks/websocket.json
{ "server": { "listen": true, "source_address": "...", "source_port": 808, "wslisten": true, "ws_port": 8081, "method": "chacha20", "password": "yourpassword" } } - 重启服务:
sudo systemctl restart ss-tunnel
配置Shadowsocks客户端
Windows/MacOS
-
下载并安装客户端:
- Windows:从官方网站下载并安装。
- MacOS:使用Homebrew安装或下载 dmg 文件安装。
-
输入配置信息:
- 服务器地址:
...:108或 WebSocket地址:...:808 - 端口:108(TCP)或 8081(WebSocket)
- 密码:设置为“yourpassword”或自定义。
- 服务器地址:
-
测试连接:
- 右键点击客户端的SOCKS代理,选择“Test SOCKS Server”。
- 测试WebSocket连接可通过浏览器访问被封锁网站。
Linux
- 安装ss-tunnel客户端(如果尚未安装):
sudo apt install ss-tunnel
- 配置客户端:
ss-tunnel -d /tmp/shadowsocks.sock --server 0...:108 --ssocks 0...:1081 --method chacha20 --password yourpassword
优化配置
-
设置socks5代理:
- iptables:
sudo iptables -A SOCKS -p tcp --dport 108 -j SOCKS --socks-source-port 0...:108 sudo iptables -A SOCKS -p tcp --dport 808 -j SOCKS --socks-source-port 0...:808 sudo service iptables save sudo service iptables restart
- firewalld(RHEL/CentOS):
sudo firewall-cmd --permanent --add-service=ssocks sudo firewall-cmd --permanent --add-port=108/tcp sudo firewall-cmd --permanent --add-port=808/tcp sudo firewall-cmd --reload
- iptables:
-
选择加密方法:
- 修改
/etc/shadowsocks/config.json中的method为chacha20或xray。
- 修改
-
设置高优先级:
echo 1 > /proc/sys/net/ipv4/tcp_sourcetcp_maxretransqueues echo 1 > /proc/sys/net/ipv4/tcp_sourcetcp_minretransqueues
使用Docker管理
-
创建配置文件:
FROM shadowsocks/shadowsocks COPY config.json /etc/shadowsocks/config.json EXPOSE 108 808 CMD ["ss-server", "-d", "/etc/shadowsocks/socket.sock", "--listen", "--source-port=...:108"]
-
构建镜像并运行:
docker build -t ss-server . docker run -d --name ss-server -p 108:108,808:808 -e SS_METHOD=chacha20 -e SS_PASSWORD=yourpassword ss-server
自动化部署(推荐)
-
使用Ansible:
-
创建
playbook:- name: Install SS apt: name=ss-tunnel state=present - name: Configure SS copy: src=config.json dest=/etc/shadowsocks/ owner=root:root shell: | chmod 600 /etc/shadowsocks/config.json ss-tunnel -d /etc/shadowsocks/socket.sock --listen --source-port 0...:108 - name: Start SS service: name=ss-tunnel state=running
-
-
运行Ansible:
ansible-playbook playbook.yml --host 你的IP
安全注意事项
- 设置密码:确保密码强度,避免使用简单密码。
- 只绑定本地IP:修改
source_address为..1,防止外部攻击。 - 使用TLS:在
config.json中添加TLS配置,增强安全性。
维护
- 定期更新:使用
apt update或docker pull更新软件。 - 监控日志:查看
/var/log/syslog或使用监控工具如Prometheus。 - 备份配置:定期备份配置文件,防止配置错误导致服务中断。
测试
- 在线检测:使用ss-test测试代理可用性。
- 手动测试:
curl -v --socks5 0...:108 https://example.com
通过以上步骤,您可以成功配置并使用Shadowsocks服务器,绕过网络限制,访问所需的网站,遇到问题时,参考社区或文档,及时解决,祝您配置成功!




