Surge专用协议-Snell V4/V5服务搭建

本文主要参考了 整点猫咪Surge | 简单搭建Snell服务,根据自己搭建过程做了一点点改动。

搭建Snell Server

以linux-amd64为例(如果你是其他机器,去Snell官网下载相应服务器版本)

wget https://dl.nssurge.com/snell/snell-server-v5.0.1-linux-amd64.zip

ARM的机器用如下:

wget https://dl.nssurge.com/snell/snell-server-v5.0.1-linux-aarch64.zip

解压 Snell Server 到指定目录

AMD

unzip snell-server-v5.0.1-linux-amd64.zip -d /usr/local/bin

ARM

unzip snell-server-v5.0.1-linux-aarch64.zip -d /usr/local/bin

赋予服务权限

chmod +x /usr/local/bin/snell-server

编写配置文件:

新建文件夹

mkdir /etc/snell

创建文件夹后写入配置

① 使用 Snell 的 wizard 生成配置文件(推荐)

snell-server --wizard -c /etc/snell/snell-server.conf

② 自己编写一个

vim /etc/snell/snell-server.conf
[snell-server]
listen = 0.0.0.0:10086
psk = qDZTb1cgZzcJMX5GIVjHCeEAios15Iv
ipv6 = false

参数说明:

listen:监听地址及端口;
psk:密钥;
ipv6:如果需要 IPv6 支持将值为 – true;

配置 Systemd 服务

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/snell-server.conf
AmbientCapabilities=CAP_NET_BIND_SERVICE
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=snell-server
[Install]
WantedBy=multi-user.target

⚠️ 注意:在一些 Linux 发行版 (CentOS7) 中并无 nogroup 群组,但可以尝试修改成 Group=nobody 解决。如果需要使用特权端口,可以在 [Service] 增加一条:AmbientCapabilities=CAP_NET_BIND_SERVICE 以解决权限不足不能绑定的问题;

运行Snell服务

重载服务

systemctl daemon-reload

设置开机运行

systemctl enable snell

运行 Snell服务

systemctl start snell

关闭 Snell服务

systemctl stop snell

查看 Snell 状态

systemctl status snell

暂无评论