Shell
Shell
在 Surge 官网根据你的服务器获取独立服务端二进制文件:
https://manual.nssurge.com/others/snell.html
此处以debian linux-amd64 为例:
如果系统没有预装可能需要先下载安装 wget 及 unzip
APT
apt-get update&&apt-get upgrade
apt install sudo
apt install vim
apt install zip
sudo apt update && sudo apt install wget unzip
下载 Snell Server
wget https://dl.nssurge.com/snell/snell-server-v4.0.1-linux-amd64.zip
解压 Snell Server 到指定目录
sudo unzip snell-server-v4.0.1-linux-amd64.zip -d /usr/local/bin
然后编写配置文件:
可以使用 Snell 的 wizard 生成一个配置文件
sudo snell-server --wizard -c /etc/snell-server.conf
或者自己编写一个
sudo vim /etc/snell-server.conf
[snell-server]
listen = 0.0.0.0:11807
psk = AijHCeos15IvqDZTb1cJMX5GcgZzIVE
ipv6 = false
listen:监听地址及端口;
psk:密钥;
ipv6:如果需要 IPv6 支持将值为 – true;
obfs:off 为关闭混淆,或使用流量混淆 http;
然后配置 Systemd 服务文件:
sudo vim /lib/systemd/system/snell.service
[Unit]
Description=Snell Proxy Service
After=network.target
[Service]
Type=simple
User=nobody
Group=nogroup
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
在一些 Linux 发行版 (CentOS7) 中并无 nogroup 群组,但可以尝试修改成 Group=nobody 解决或注释 Group; 如果需要使用特权端口,可以在 [Service] 增加一条:AmbientCapabilities=CAP_NET_BIND_SERVICE 以解决权限不足不能绑定的问题;
然后使用命令:
重载服务
sudo systemctl daemon-reload
开机运行 Snell
sudo systemctl enable snell
开启 Snell
sudo systemctl start snell
关闭 Snell
sudo systemctl stop snell
查看 Snell 状态
sudo systemctl status snell
对于 Snell v3 可以尝试增加内核缓冲区大小可以显著提高 UDP 性能:
sudo sysctl -w net.core.rmem_max=26214400
sudo sysctl -w net.core.rmem_default=26214400
转自 https://divineengine.net/article/deploying-a-snell-server/
升级shell
先关闭 Snell
sudo systemctl stop snell
删除
sudo rm /usr/local/bin/snell-server
下载 新的Snell Server
wget https://dl.nssurge.com/snell/snell-server-v4.1.0-linux-amd64.zip
解压 Snell Server 到指定目录
sudo unzip snell-server-v4.1.0-linux-amd64.zip -d /usr/local/bin
开启 Snell
sudo systemctl start snell