2026 自建节点实战:AnyTLS-Go 轻量服务端部署指南

发布于 2026-06-20 13:10 1091 字 6 min read

2026 FRP 反向代理搭建指南:SNI 分流与内网穿透实战2026 自建节点实战:Mihomo AnyTLS 服务端部署指南2026 自建节点实战:AnyTLS-Go 轻量服务端部署指南服务器自动部署Astro博客指南2026进阶443端口复用实战:Xray VLESS-Vision-REALITY 偷自己 + 反向代理回家指南使用 Cloudflare Workers 搭建安全的 Clash Proxy ProviderXray VLESS-Vision-REALITY 反向代理示例:远程端口映射,将公网入口端口映射到内网 Web 服务从零开始玩转 OpenWrt 2026:进阶网络架构与 Nikki 极速配置指南2026 自建节点实战:Xray VLESS-Vision-REALITY 部署指南AI 角色扮演进阶指南:从 SillyTavern 部署到 Telegram 接入从 WordPress 到 Astro 迁移记录ImmortalWrt固件overlay扩容安装指南基于mihomo内核的OpenWrt插件Nikki推荐yaml配置OpenWrt 插件 Passwall 推荐设置指南Cloudflare简易使用指南WordPress 网站向 Jekyll 静态博客迁移全记录OpenWrt 插件 OpenClash 推荐配置指南OpenWrt插件Passwall开启ipv6推荐配置OpenWrt插件Passwall推荐配置指南OpenWrt桥接后访问光猫方法PVE下快速更新OpenWrt固件方法群晖 Docker 容器版 Emby 添加弹弹 play 弹幕实战群晖 NAS 常用 Docker Compose 项目部署汇总群晖 Docker 开启 IPv6 双栈与 OpenWrt 协同配置指南软路由刷 PVE 并安装 OpenWrt 折腾记录群晖开启 macvlan 网络并通过 compose 命令安装 docker 指定 ip家庭网络布局:玩转 PT 与 Docker macvlan 避坑指南在本地运行 docker 连接 api 更稳定使用 chatGPT 服务网站添加石蒜模拟器OpenWrt建议设置(个人备份)家庭网络布局:群晖 VMM 虚拟机安装 OpenWrt 旁路由实战群晖种草教程——从玩机到佛系(自用备份版)一加3T手机刷机及安卓必备系统优化软件推荐利用 phpMyAdmin 指令将 WordPress 网站快速 HTTPS 化利用 Docker 快速安装 Aria2 + AriaNg 教程给 WordPress、Typecho、Emlog 等博客网站添加鼠标点击文字特效Windows 10 快捷方式小箭头去除与恢复指南自动化备份指南:利用 Dropbox Uploader 实现网站数据与 SQL 数据库同步Linux学习笔记(一)Linux学习笔记(二)建站之旅其一:一些想法建站之旅其二:从 VPS 科学上网到自建站的萌芽建站之旅其三:多次尝试与一次挫败建站之旅其四:常用命令与参考资料汇总
本文记录使用 anytls-go 搭建自有 AnyTLS 隧道的全过程。相比 Mihomo 的 anytls 监听器,anytls-go 不依赖证书体系,只需一个密码即可建立 TLS 伪装隧道。文章涵盖自动获取最新版、创建 systemd 安全服务、防火墙配置以及完整的卸载步骤。

一、 项目简介与准备

1.1 AnyTLS-Go 简介

anytls-go 是一个极简的 AnyTLS 协议实现,服务端仅需一个密码即可工作。它通过对称密钥在 TLS 层完成身份验证与数据混淆,无需申请或配置任何证书。相比依赖 ACME 的 Mihomo 方案,anytls-go 在轻量和开箱即用上更有优势,特别适合仅需简单隧道、不希望维护证书的场景。

1.2 环境准备

首先确保你的 Linux VPS 装有 curlunzip,Debian/Ubuntu 下执行:

sudo apt install -y curl unzip

CentOS 可使用 yum install -y curl unzip

二、 安装 AnyTLS-Go 服务端

2.1 自动获取最新版本与架构

用下面这段命令可自动从 GitHub API 抓取最新版本号,并识别当前 CPU 架构(x86_64amd64aarch64arm64):

VERSION=$(curl -s https://api.github.com/repos/anytls/anytls-go/releases/latest | sed -n 's/.*"tag_name": *"v\([^"]*\)".*/\1/p')
ARCH=$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/')
echo "版本: $VERSION, 架构: $ARCH"

2.2 下载并解压

根据上一步获取的 VERSIONARCH 变量下载对应的 zip 包并解压:

cd /tmp
curl -LO "https://github.com/anytls/anytls-go/releases/download/v${VERSION}/anytls_${VERSION}_linux_${ARCH}.zip"
unzip -o "anytls_${VERSION}_linux_${ARCH}.zip"

2.3 安装二进制文件

解压后会得到 anytls-serveranytls-clientreadme.md。我们只需要服务端程序:

sudo mv anytls-server /usr/local/bin/ && sudo rm anytls-client readme.md

三、 配置 systemd 服务

3.1 创建专用系统用户

出于安全考虑,我们创建一个没有登录权限的系统用户来运行服务:

sudo useradd -r -s /usr/sbin/nologin anytls

3.2 编写服务单元文件

sudo nano /etc/systemd/system/anytls.service 创建服务文件,粘贴以下内容:

[Unit]
Description=AnyTLS Service
After=network.target

[Service]
Type=simple
User=anytls
Group=anytls
ExecStart=/usr/local/bin/anytls-server -l [::]:10443 -p password
Restart=always
RestartSec=5
NoNewPrivileges=true
PrivateTmp=true
ProtectSystem=strict
ProtectHome=true
ProtectKernelTunables=true
ProtectKernelModules=true
ProtectControlGroups=true
AmbientCapabilities=CAP_NET_BIND_SERVICE
CapabilityBoundingSet=CAP_NET_BIND_SERVICE
LimitNOFILE=1048576

[Install]
WantedBy=multi-user.target

重要提示:请将 -p password 中的 password 替换为你自己的强密码。-l [::]:10443 表示同时监听 IPv4 与 IPv6 的 10443 端口,你也可以换成其他端口。

安全加固说明:ProtectSystem=strict 等指令将服务的文件系统访问限制到最小,NoNewPrivileges=true 禁止提权,只授予绑定端口所必需的 CAP_NET_BIND_SERVICE 能力。

3.3 启动并启用服务

依次执行:

sudo systemctl daemon-reload
sudo systemctl start anytls
sudo systemctl status anytls
sudo systemctl enable anytls

如果 status 显示 active (running),服务端已正常运行。修改配置后重启服务sudo systemctl restart anytls

四、 防火墙与客户端连接

4.1 防火墙放行端口

若开启了 ufw,请放行对应的端口:

sudo ufw allow 10443/tcp

同时务必在云服务商的安全组/防火墙中放行该端口,否则客户端无法连接。

4.2 客户端连接字符串

支持 AnyTLS 协议的客户端(如 v2rayN、Clash Meta 等)可使用如下格式:

anytls://password@服务器IP或域名:10443/?insecure=1#节点名
  • password:与服务端 -p 参数设置的密码一致。
  • 服务器IP或域名:VPS 公网地址。
  • 10443:监听端口。
  • insecure=1:因为 anytls-go 不使用证书,客户端必须跳过证书验证(即设置 skip-cert-verify 为 true)。

4.3 小优化(可选 BBR)

与任何需要跨国 TCP 连接的服务一样,开启 BBR 能明显提升吞吐量:

# 添加参数配置文件并指定开启 BBR
sudo nano /etc/sysctl.d/99-bbr.conf
# 把下面的内容添加进去
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
# 读取配置,使 BBR 设置生效
sudo sysctl --system
# 确认BBR开启,此时应该返回这样的结果:net.ipv4.tcp_congestion_control = bbr
sysctl net.ipv4.tcp_congestion_control
# 如果你在疑惑这个 ipv4,无需在意,只是历史命名遗留,实际上对 ipv6 也是生效的。
# 如果你想确认 fq 算法是否正确开启,可以使用下面的命令,此时应该返回这样的结果:net.core.default_qdisc = fq
sysctl net.core.default_qdisc

五、 服务卸载与清理

如果将来不再使用,可以干净地移除所有相关组件。

5.1 停止并禁用服务

sudo systemctl stop anytls
sudo systemctl disable anytls

5.2 删除服务文件与二进制

sudo rm -f /etc/systemd/system/anytls.service
sudo rm -f /usr/local/bin/anytls-server
sudo systemctl daemon-reload

5.3 删除专用用户

sudo userdel -r anytls 2>/dev/null || true

该命令会同时删除用户的家目录(如果存在)。2>/dev/null || true 是为了防止用户已不存在时报错中断。

完成以上步骤后,anytls-go 服务就已彻底从服务器移除。


希望这篇博文能帮助你在任何 VPS 上快速跑起一个轻量隧道。欢迎小伙伴们在评论区留言交流。

喜欢的话,留下你的评论吧~