1. 准备服务器

  • 购买一台带公网 IPv4 的 Debian 12/13 或 Ubuntu 22.04/24.04 云服务器。
  • 记下服务器公网 IP、root 密码,或准备好 SSH 私钥。
  • 在云厂商的安全组中放行 TCP 22、TCP 443、TCP/UDP 8388。
  • 如果 SSH 不是 22 端口,请放行你实际使用的 SSH 端口。
不要把密码发给别人。在自己的终端里输入密码;输入时屏幕不显示字符是正常现象。

2. SSH 登录服务器

Mac 打开“终端”,Windows 打开 PowerShell,把下面的 IP 换成你的服务器公网 IP:

ssh root@你的服务器IP

第一次连接输入 yes,然后输入 root 密码并回车。看到类似 root@server:~# 就是登录成功。

示例:ssh root@203.0.113.10。示例 IP 不能直接使用。

3. 下载并运行一键脚本

登录服务器后,依次复制下面两行。先下载到服务器,再运行;不使用不可审阅的 curl | bash 方式。

curl -fsSL https://cnc980.github.io/downloads/spellvpn-quick-server.sh -o spellvpn-quick-server.sh
bash spellvpn-quick-server.sh

想先查看脚本内容,可以在第二行之前运行:

less spellvpn-quick-server.sh

脚本会自动检查系统和端口、从 Xray 官方 GitHub 下载最新版并校验 SHA-256、生成独立随机凭据、配置 systemd 自启动;如果 UFW 已启用,会增加所需规则,但不会自动开启防火墙。

云安全组仍需手动放行。即使服务器内的防火墙已开放,云厂商控制台没有放行 TCP 443 和 TCP/UDP 8388,手机仍然无法连接。

4. 导入 SpellVPN

安装成功后,终端会显示两条以 vless://ss:// 开头的完整链接。

  1. 完整复制其中一条链接,不要遗漏开头或结尾。
  2. 打开 SpellVPN,点“添加”或“+”。
  3. 选择“从剪贴板”或“代理链接”导入。
  4. 选择新节点并连接;再导入另一条链接分别测试。

以后忘记链接,可重新 SSH 登录服务器并运行:

cat /root/spellvpn-links.txt

连接不上时检查

systemctl status xray --no-pager
journalctl -u xray --no-pager -n 50
ss -lntup | grep -E ':443|:8388'
  • 确认 SpellVPN 中的服务器地址就是云服务器公网 IP。
  • 确认云安全组放行 TCP 443、TCP 8388 和 UDP 8388。
  • 先在 Wi-Fi 和蜂窝网络之间切换,排除当前网络限制。
  • 凭据保存在仅 root 可读的文件中,不要公开分享或提交到代码仓库。

这个脚本搭建了什么?

VLESS Reality · TCP 443无需域名和证书,使用独立 UUID、Reality 密钥和 Short ID。
Shadowsocks · TCP/UDP 8388使用 AES-256-GCM 和独立随机密码,适合做基础兼容性测试。
Xray + systemd服务开机自启,异常时自动重启,配置位于 /etc/xray/config.json

需要 Hysteria2、TUIC、AnyTLS、Trojan、VMess、订阅 URL 或与现有服务共存时,请使用进阶多协议教程,不要反复运行本脚本覆盖配置。