IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    简单搭建Snell服务

    Administrator发表于 2025-01-21 12:44:00
    love 0

    简单搭建Snell服务(转载自getsomecat,仅作为备份)

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

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

    sudo -i
    

    获取管理权限

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

    APT

    sudo apt update && sudo apt install wget unzip
    

    DNF

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

    sudo dnf install unzip
    

    安装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
    

    如果ARM的机器:

    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
    

    ARM

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

    赋予服务器权限

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

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

    编写配置文件:

    先执行新建文件夹操作

    sudo mkdir /etc/snell
    
    

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

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

    sudo snell-server --wizard -c /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
    

    参数说明:

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

    然后配置 Systemd 服务文件:

    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
    

    ⚠️ 注意:在一些 Linux 发行版 (CentOS7) 中并无 nogroup 群组,但可以尝试修改成 Group=nobody 解决。如果需要使用特权端口,可以在 [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
    

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

    如果要查看自己Snell配置:

    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 上按照这个步骤自己来了一遍并通了的。

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

    wget -O snell.sh --no-check-certificate https://raw.githubusercontent.com/getsomecat/Snell/master/snell_new.sh && chmod +x snell.sh && ./snell.sh
     
    


沪ICP备19023445号-2号
友情链接