简单搭建Snell服务

Hard-working is actually a cool thing.
努力学习其实是一件很酷的事

本文主要参考了神机(花姐)Surge | 部署 Snell Server – DivineEngine | Site,只是根据自己搭建过程做了一点点改动。感谢花姐以及surge pro群里热心指导的各位。

用ssh连上你的vps后,输入:

sudo -i
sudo -i
sudo -i

获取管理权限

如果系统没有预装可能需要先下载安装 vim,wget 及 unzip

APT

sudo apt update && sudo apt install wget unzip
sudo apt update && sudo apt install wget unzip
sudo apt update && sudo apt install wget unzip

DNF

这一步ubuntu和Debian系统似乎不用。

sudo dnf install unzip
sudo dnf install unzip
sudo dnf install unzip

安装vim

apt install vim
apt install vim
apt install vim

下载 Snell Server

如果你的服务器是其它版本的去官网Snell Protocol · GitBook下载相应服务器版本。这里以linux-amd64为例

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

如果ARM的机器:

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

解压 Snell Server 到指定目录

AMD

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

ARM

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

赋予服务器权限

花姐的教程里面没有这一步。但是我结合自己之前弄TUIC的经验,觉得应该还是要加上

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

编写配置文件:

先执行新建文件夹操作

sudo mkdir /etc/snell
sudo mkdir /etc/snell
sudo mkdir /etc/snell

执行完建立文件夹操作后再进行写入配置

可以使用 Snell 的 wizard 生成一个配置文件

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

或者自己编写一个

sudo vim /etc/snell/snell-server.conf
sudo vim /etc/snell/snell-server.conf
sudo vim /etc/snell/snell-server.conf

将下面的复制粘贴进去,按esc 后输入”:wq”保存退出

Tips 如果要进行修改,按“i”后移动光标到相应位置,进行修改完毕后按esc退出并输入“:wq”保存(这个说明给像我这样对vim不熟悉的)

[snell-server]
listen = 0.0.0.0:11807
psk = AijHCeos15IvqDZTb1cJMX5GcgZzIVE
ipv6 = false
[snell-server]
listen = 0.0.0.0:11807
psk = AijHCeos15IvqDZTb1cJMX5GcgZzIVE
ipv6 = false
[snell-server] listen = 0.0.0.0:11807 psk = AijHCeos15IvqDZTb1cJMX5GcgZzIVE ipv6 = false

参数说明:

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

然后配置 Systemd 服务文件:

sudo vim /lib/systemd/system/snell.service
sudo vim /lib/systemd/system/snell.service
sudo vim /lib/systemd/system/snell.service

将下面的复制粘贴进去,按esc 后输入“:wq”保存退出

[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
[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
[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 以解决权限不足不能绑定的问题;

然后使用命令:

重载服务

sudo systemctl daemon-reload
sudo systemctl daemon-reload
sudo systemctl daemon-reload

开机运行 Snell

sudo systemctl enable snell
sudo systemctl enable snell
sudo systemctl enable snell

开启 Snell

sudo systemctl start snell
sudo systemctl start snell
sudo systemctl start snell

关闭 Snell

sudo systemctl stop snell
sudo systemctl stop snell
sudo systemctl stop snell

查看 Snell 状态

sudo systemctl status snell
sudo systemctl status snell
sudo systemctl status snell

Tips:运行查看服务器状态后按“q”键退出

如果要查看自己Snell配置:

cat /etc/snell/snell-server.conf
cat /etc/snell/snell-server.conf
cat /etc/snell/snell-server.conf

查看后将相应的配置输出到surge里面:

格式如下:(XXX.XXX.XXX.XXX换成你自己的vps IP,端口和psk也是自己改成自己设置的snell-server.conf里面相应数据。)

AWS-EC2-SG = snell, XXX.XXX.XXX.XXX, 11807, psk=AijHCeos15IvqDZTb1cJMX5GcgZzIVE, version=4, tfo=true
AWS-EC2-SG = snell, XXX.XXX.XXX.XXX, 11807, psk=AijHCeos15IvqDZTb1cJMX5GcgZzIVE, version=4, tfo=true
AWS-EC2-SG = snell, XXX.XXX.XXX.XXX, 11807, psk=AijHCeos15IvqDZTb1cJMX5GcgZzIVE, version=4, tfo=true

中午我是自己在 AWS -EC2 上按照这个步骤自己来了一遍并通了的。

如果你看完教程觉得好麻烦啊我不想动手搞,那么这个一键脚本应该可以帮到你

wget -O snell.sh --no-check-certificate https://raw.githubusercontent.com/getsomecat/Snell/master/snell_new.sh && chmod +x snell.sh && ./snell.sh
wget -O snell.sh --no-check-certificate https://raw.githubusercontent.com/getsomecat/Snell/master/snell_new.sh && chmod +x snell.sh && ./snell.sh
wget -O snell.sh --no-check-certificate https://raw.githubusercontent.com/getsomecat/Snell/master/snell_new.sh && chmod +x snell.sh && ./snell.sh
© 版权声明
THE END
喜欢就支持一下叭
点赞3 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容