Snell 是 Surge 团队开发的私有代理协议,相比 Shadowsocks 在抗检测和性能上都有明显优势。本文记录一次在 Debian 服务器上安装 Snell v6.0.0b1 的完整过程,包括踩坑与修复。
异响方式:本次使用标记版本为 v6.0.0b1 的服务端构建。
下载与解压二进制
wget https://dl.nssurge.com/snell/snell-server-v6.0.0b1-linux-amd64.zip
unzip snell-server-v6.0.0b1-linux-amd64.zip -d /usr/local/bin && rm -rf snell-server-v6.0.0b1-linux-amd64.zip
chmod +x /usr/local/bin/snell-server
修复 libssl 依赖
在较新的 Debian 系统上直接运行会报错,因为系统默认不再提供 libssl1.1:
snell-server --version
# 报错:缺少 libssl.so.1.1
确认依赖关系:
readelf -d /usr/local/bin/snell-server | grep NEEDED
推荐的修复方式是从 Debian 快照仓库获取兼容版本:
wget https://snapshot.debian.org/archive/debian/20240311T000000Z/pool/main/o/openssl/libssl1.1_1.1.1w-0+deb11u1_amd64.deb
dpkg -i libssl1.1_1.1.1w-0+deb11u1_amd64.deb
⚠️ 注意:某些较旧的镜像源提供的 deb11u4 版本在某些新系统上安装会失败,建议使用上述 snapshot 链接中的 deb11u1 版本。
生成配置文件
snell-server --wizard -c /etc/snell-server.conf
按提示生成密钥即可,配置文件示例:
[snell-server]
listen = 0.0.0.0:43626
psk = 你的预共享密钥
obfs = off
配置 systemd 服务
创建独立用户并写入服务文件:
useradd -r -s /usr/sbin/nologin snell
cat <<'EOF' > /lib/systemd/system/snell.service
[Unit]
Description=Snell Proxy Service
After=network.target
[Service]
Type=simple
User=snell
Group=snell
LimitNOFILE=32768
ExecStart=/usr/local/bin/snell-server -c /etc/snell-server.conf
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=snell-server
[Install]
WantedBy=multi-user.target
EOF
加载并启动:
systemctl daemon-reload
systemctl enable snell --now
验证运行状态
systemctl status snell
ss -tlnp | grep 43626
若有问题可查看详细日志:
journalctl -u snell -n 100 --no-pager
客户端配置参考
在 Surge / Shadowrocket 等客户端中添加 Snell 节点时,协议版本选择 v3,填入服务器地址、端口及 PSK 即可。
以上就是 Snell v6.0.0b1 在 Debian 系统上的安装全过程。核心坑点在于 libssl1.1 的兼容性——务必使用 snapshot 源中正确的 .deb 包,否则服务无法正常启动。搭建后建议检查防火墙放行及端口占用情况。