前言

Snell 是 Surge 官方推出的一款轻量级代理服务器,基于自定义协议,专为搭配 Surge 使用设计,支持 TCP、UDP 以及 TLS 加密传输。

本文简要介绍如何在 Linux 系统上安装和配置 Snell,实现本地代理转发。操作步骤简洁明了,适合快速部署。

安装 Snell

  1. 下载并解压服务端 ,以 Snell v5.0.0 Linux amd64 版本为例:

    1
    wget -O snell-server.zip https://dl.nssurge.com/snell/snell-server-v5.0.0-linux-amd64.zip      && unzip snell-server.zip -d /usr/local/bin      && rm snell-server.zip

    添加执行权限:

    1
    chmod +x /usr/local/bin/snell-server
  2. 创建配置文件:

    • 首先新建配置目录:

      1
      sudo mkdir /etc/snell
    • 使用向导生成配置文件(推荐):

      1
      sudo snell-server --wizard -c /etc/snell/snell-server.conf
    • 或者手动创建:

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

      内容示例:

      1
      2
      3
      4
      [snell-server]
      listen = 0.0.0.0:port
      psk = psk
      ipv6 = true

      提示:你可以使用以下命令生成随机 PSK:

      1
      openssl rand -base64 32

创建独立用户运行 Snell

  1. 建议为 Snell 创建一个低权限系统用户以提高安全性:
1
sudo useradd --system --no-create-home --shell /usr/sbin/nologin snell
  1. 确保执行文件和配置文件拥有正确权限:
1
2
sudo chown -R snell:snell /usr/local/bin/snell-server
sudo chown -R snell:snell /etc/snell

配置 systemd 服务

为了便于管理 Snell 服务,建议配置 systemd 单元:

1
sudo vim /etc/systemd/system/snell.service

添加以下内容:

1
2
3
4
5
6
7
8
9
10
11
[Unit]
Description=Snell Proxy Service
After=network.target

[Service]
ExecStart=/usr/local/bin/snell-server -c /etc/snell/snell-server.conf
User=snell
Restart=on-failure

[Install]
WantedBy=multi-user.target

保存后执行以下命令启动并设置开机启动:

1
2
sudo systemctl daemon-reload
sudo systemctl enable --now snell

查看服务状态:

1
sudo systemctl status snell

开放防火墙端口

根据配置中监听的端口号,在防火墙中放行:

1
sudo ufw allow 端口号

更新 Snell

更新 Snell 的方式与首次安装类似,只需下载新版覆盖旧文件即可,注意替换下载链接:

1
2
3
4
5
6
sudo systemctl stop snell
wget -O snell-server.zip https://dl.nssurge.com/snell/snell-server-v5.0.0-linux-amd64.zip \
&& unzip -o snell-server.zip -d /usr/local/bin \
&& rm snell-server.zip
chmod +x /usr/local/bin/snell-server
sudo systemctl start snell

你也可以查看官方发布页确认是否有新版本。

结语

Snell 是一个部署快速、配置灵活的代理服务器,适合个人或小规模私用代理部署。搭配 Surge 使用可实现高速稳定的连接体验。