2026最新阿信实测 · Hysteria2 / AnyTLS 一键搭建教程
【阿信实测导读·2026最新】Hysteria2 自建教程 — 部署 HY2、AnyTLS 与 Shadowsocks,核对 UDP / TLS、防火墙、masquerade / 混淆、BBR / Reno / Brutal、bandwidth 语义和性能排障。
- 发布
- 更新
- 验证
- 难度
- 高级
- 主题
- VPS 自建
最近更新:2026-09-18
原名 / 别名:NekoBox
开源版本仍在发布,适合 sing-box 与 Hysteria2 用户;Google Play 同名版本已被官方标记为第三方非开源版本。
原名 / 别名:SagerNet
官方仓库已于 2024-01-04 归档并只读,不再建议新用户安装。
原名 / 别名:Hysteria2、HY2
官方文档与版本仍在维护,适合 UDP 可用的弱网和高丢包场景,但不应作为唯一协议。
sing-box 仍提供官方入站实现,适合作为 TCP 备用;客户端覆盖不如 Reality,暂不作为新手主路径。
Hysteria2 是基于 QUIC 的 TCP / UDP 代理候选。先确认两端 UDP 可达,再按官方拥塞控制语义配置,并用同条件测试判断它是否适合当前网络。
- 先确认 UDP服务监听、防火墙或当前网络让目标 UDP 不可达时,HY2 无法建立连接。
- 脚本是第三方`everett7623/hy2` 需要 root;先审阅入口,再在可销毁 VPS 验证。
- 再做调优跑通后再区分 Hysteria BBR / Reno / Brutal、系统缓冲区与端口跳跃。
记录服务监听、防火墙与连接日志;协议名称不能替代实际可达性。
先判断场景 →当前统一入口包含 HY2、AnyTLS、SS、VLESS Reality 与 EUserv HY2。
开始部署 →多个受控网络下 UDP 持续失败时,再比较 Reality 等 TCP 候选。
看 Reality 教程 →无论选用何种客户端配置,科学上网最核心的基石在于节点线路抗封锁质量与服务商冗余。阿信实测建议:
1. 主力日常与流媒体/AI 访问:首推 榴莲云 (IEPL专线),原生纯净 IP 晚高峰 4K 零卡顿,可使用独家专属 7 折优惠码
ll88(支持月付折后仅 ¥16.8/月);2. 防失联备用容灾方案:建议同步备用 月之暗面 (Moonshot),25元包年 / 5元月付,全节点 1 倍率不限速不限设备数,性价比极高;
3. 更多经过用户确认核验的高速专线,请查阅 2026 机场推荐天梯榜中心。
什么是 Hysteria2
核心特性
Hysteria2 是构建在 QUIC 之上的 TCP / UDP 代理。QUIC 是其传输基础,但这不等于它与普通网页 HTTP/3 具有相同流量行为或固定性能。
当前官方配置重点:
- QUIC stream 与 datagram — 在一条 QUIC 连接内转发 TCP 与 UDP 请求。
- 三种拥塞控制 — 未选择 Brutal 时使用本地
BBR(默认)或Reno;配置bandwidth会影响对应方向是否使用 Brutal。 - 带宽不是越高越好 — Brutal 依赖准确的链路能力估计,填写超过真实上限会造成拥塞、不稳定和额外流量。
- Fast Open 是可选权衡 — 可少等一个 RTT,但会在确认目标可达前接受本地连接,不是“重连零延迟”保证。
选择时看什么
| 检查项 | Hysteria2 的事实 | 需要你验证 |
|---|---|---|
| 底层传输 | QUIC over UDP | 两端 UDP、防火墙与当前网络是否可达 |
| 拥塞控制 | BBR、Reno 或 Brutal | 当前版本、配置方向与实际带宽是否匹配 |
| 性能 | 受路径、CPU、NIC、缓冲区和流控窗口影响 | 同端点、同时间与 TCP 候选的真实任务结果 |
| TLS / 域名 | 需要正确的 TLS 验证;官方教程常用域名与受信证书 | 域名、证书、自签 pin 或客户端验证设置是否一致 |
| 维护成本 | 服务端、客户端、防火墙与更新都要维护 | 是否有回退、升级、备份和日志排障能力 |
什么时候选 Hysteria2
值得把 Hysteria2 加入对照:
- 服务端监听、云安全组、主机防火墙和本地网络都允许目标 UDP 端口。
- 当前客户端明确支持 Hysteria2,并能查看原始连接日志。
- 你能固定端点、设备和时间,比较实际任务、丢包、抖动、吞吐与 CPU。
- 你愿意保留 TCP 备用路径,并能在 UDP 异常时回退。
不适合作为当前主路径:
- 目标 UDP 端口在多次、多个受控网络下都无法建立连接。
- 客户端不支持当前配置字段,或你无法获取日志和安全回退。
- 低配设备的 CPU、NIC、内存带宽或系统缓冲区已经成为瓶颈。
- 你期望协议名称、Gecko 混淆或 Realms 自动带来更低延迟、更高吞吐或不可识别性。
准备工作
1. VPS 要求
官方文档没有给出适用于所有连接数和吞吐目标的固定 VPS 最低套餐。购买前记录:
- CPU 架构与可持续算力、内存和 NIC / 虚拟化限制。
- 端口与 UDP 政策、安全组、主机防火墙和公网地址能力。
- 流量计费、带宽上限、超额策略、账期、退款、快照与换 IP 条件。
- 到你的接入网络和目标服务的实际去回程;机房或线路名不能替代测试。
VPS 候选入口:
| 服务商 | 入口 | 购买当日核对 |
|---|---|---|
| Vultr | 官网 | 地区、UDP / 端口政策、带宽、流量、账期与退款 |
| Hetzner | 官网 | 账号资格、地区、网络政策、带宽、流量与退款 |
| RackNerd | 官网 | 具体机房、资源、UDP / 端口政策、续费与退款 |
| DMIT | 官网 | 具体产品、真实去回程、带宽、流量、续费与退款 |
虚拟化类型: KVM 通常提供更独立的内核和网络环境,但 UDP 是否可用不能只靠 KVM / OpenVZ 标签判断。购买前查云商条款,开机后实测 UDP 端口、安全组和本地网络。
2. 域名准备
Hysteria2 协议本身不强制使用公网域名,但本教程使用公开信任的 TLS 证书,因此推荐准备域名,用于:
- TLS 证书签发(伪装成 HTTPS 流量)
- 客户端 SNI 验证
获取域名:
- 注册商候选:NameSilo / Cloudflare Registrar。购买当日核对首年、续费、转出、DNS 与账号资格。
- 其他域名来源(例如 eu.org)有各自的申请、控制权和证书签发条件,先确认你能长期管理 DNS。
DNS 解析:
- 注册域名后,进入域名管理面板
- 添加 A 记录:
- 主机记录:
@(或子域名如proxy) - 记录类型:
A - 记录值:你的 VPS IP
- TTL:
600
- 主机记录:
验证解析:
# 在本地电脑运行
nslookup 你的域名.com
# 应返回你的 VPS IP3. 连接到 VPS
ssh root@你的VPS_IP4. 更新系统
# Debian / Ubuntu
apt update && apt upgrade -y
# 安装必要工具
apt install -y curl wget sudo方案 1:everett7623/hy2 第三方一键脚本
如果只是想快速部署可导入客户端的节点,可以评估 everett7623/hy2。这是由 everett7623 维护、需要 root 权限的第三方脚本;按当前项目说明,统一入口提供 5 类部署选项:
Hysteria 2
基于 QUIC / UDP;先核对 UDP 端口、防火墙、证书与客户端字段。
AnyTLS
基于 sing-box 的 TCP / TLS 入站;核对客户端支持、证书与服务端版本。
VLESS Reality
基于 sing-box 的 TCP 候选;核对 UUID、SNI、公钥、short ID 与 Vision flow。
Shadowsocks
提供经典 AEAD 与 SS-2022 选项;SS-2022 还要求客户端与服务端系统时间准确。
EUserv HY2
面向 EUserv IPv6-only 环境,单独处理 NAT64 DNS、WARP 与 IPv6 下载回退。
安装统一入口
curl -fsSL https://raw.githubusercontent.com/everett7623/hy2/main/install.sh -o /tmp/hy2-install.sh
less /tmp/hy2-install.sh
bash /tmp/hy2-install.sh首次运行后会安装快捷命令:
sb按本页 Hysteria2 流程进入菜单:
安装 / 重装- 选择
Hysteria 2 - 安装完成后选择
查看节点信息或导出客户端配置 - 按你的客户端导出
URI、Mihomo / Clash、Shadowrocket、Loon或二维码
方案 2:官方 / 手动配置(进阶)
如果你想完全掌控配置,可以使用 Hysteria2 官方二进制或脚本,再手写 /etc/hysteria/config.yaml。这种方式适合已经理解 TLS、证书、UDP 防火墙和客户端 YAML 的用户。安装前到 GitHub Releases 核对应 app/v2 标签,不把旧镜像或第三方网盘包当成当前版本。
curl -fsSL https://get.hy2.sh/ -o /tmp/hysteria-install.sh
less /tmp/hysteria-install.sh
bash /tmp/hysteria-install.sh
hysteria version官方文档提供两种证书路径:tls 使用已有证书,acme 让服务端自己申请;两者不能同时写。最小服务端配置示例使用已有证书:
listen: :443
auth:
type: password
password: 你的强密码
tls:
cert: /etc/hysteria/cert.crt
key: /etc/hysteria/private.key
masquerade:
type: proxy
proxy:
url: https://www.bing.com
rewriteHost: true手动配置时要自己处理证书申请、续期、systemd 服务、防火墙和客户端配置。新手建议先用上面的脚本跑通,再回来理解这些字段。
listen 默认是 :443。没有公网可达地址时,官方另有 Realms URI 写法,那不是本页 VPS 主路径。
客户端配置
Windows / macOS / Linux
官方 Hysteria 二进制 / CLI: GitHub Releases
配置文件 (config.yaml):
server: 你的域名.com:443
auth: 你的强密码 # 与服务端 password 一致
# 默认先不写 bandwidth,当前官方客户端会使用非 Brutal 控制器(默认 BBR standard)
socks5:
listen: 127.0.0.1:1080 # SOCKS5 代理端口
http:
listen: 127.0.0.1:8080 # HTTP 代理端口只有明确要使用 Brutal,并已测得当前客户端到服务器的可持续能力时,才增加 bandwidth.up / bandwidth.down。数值高于真实链路能力会造成拥塞和不稳定;服务端 ignoreClientBandwidth 也可能让客户端提示被忽略。
启动客户端:
./hysteria -c config.yaml浏览器设置代理:
- SOCKS5:
127.0.0.1:1080 - 或 HTTP:
127.0.0.1:8080
iOS:Shadowrocket / Stash
Shadowrocket 支持 Hysteria2:
- 打开 Shadowrocket → 右上角「+」
- 类型选择「Hysteria2」
- 填写:
- 地址:你的域名.com
- 端口:443
- 密码:你的强密码
- 上传/下载带宽:先按客户端当前默认;只有理解其是否触发 Brutal 且完成测量后再填
- 混淆:留空(除非服务端开启)
Stash 配置(YAML):
proxies:
- name: "Hysteria2"
type: hysteria2
server: 你的域名.com
port: 443
password: 你的强密码
# 先不要写 up / down。这些字段在不少客户端里会进入 Brutal 选择流程Android:NekoBox
NekoBox(维护级选项):
- 下载 NekoBox
- 打开 → 右上角「+」→「手动输入」
- 类型:Hysteria2
- 填写服务器地址、端口和密码;带宽字段先按客户端默认,调优前确认其语义
防火墙配置
VPS 防火墙
# UFW
ufw allow 你的端口/udp
ufw allow 80/tcp # 仅在使用 HTTP-01 申请或续期证书时需要
ufw reload
# iptables
iptables -I INPUT -p udp --dport 你的端口 -j ACCEPT
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
iptables-save > /etc/iptables/rules.v4云服务商安全组
登录云服务商控制面板,添加规则:
- 协议:UDP
- 端口:你的实际监听端口
- 来源:按你能接受的来源范围,而不是无条件照抄全网开放
性能优化
1. 先确认 Hysteria 拥塞控制
net.ipv4.tcp_congestion_control=bbr 只选择 Linux 内核 TCP 拥塞控制,不会替 Hysteria2 的用户态 QUIC 选择 BBR。Hysteria2 当前在未使用 Brutal 的方向使用自己的本地拥塞控制设置,默认是 BBR standard,也可选 Reno:
congestion:
type: bbr
bbrProfile: standard这个设置在客户端和服务端各自生效,不通过协议自动协商。先保留默认;只有可复现问题时,才在同一端点、同一时间和同一 bandwidth 状态下比较 BBR profile 或 Reno。
2. 按需调整系统缓冲区
官方性能文档把 CPU、NIC、系统缓冲区、QUIC 流控窗口和进程调度都列为可能瓶颈。只有日志或高吞吐测试表明缓冲区受限时才调整,并用独立文件保留回退边界:
sudo tee /etc/sysctl.d/99-hysteria-buffer.conf > /dev/null <<'EOF'
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
EOF
sudo sysctl --system低配 VPS 还要观察 CPU、内存和 NIC;增大缓冲区不能修复 UDP 不可达、错误路由或服务端限速。
3. 带宽参数调优
bandwidth 不是普通的“建议速度”字段,它会参与 Brutal 与非 Brutal 控制器的选择:
- 不写客户端某个方向的
bandwidth,该方向使用本地非 Brutal 控制器(默认 BBR)。 - 写入客户端
bandwidth会让对应方向进入 Brutal 选择流程;数值必须来自当前客户端到服务器的真实可持续能力。 - 服务端
bandwidth是每客户端上限,并参与客户端 / 服务端值比较;个人部署可按官方建议先省略服务端bandwidth与ignoreClientBandwidth。 - 把数值写得高于链路能力会造成拥塞、不稳定和浪费;写得较低则相当于限速。没有通用的
80%、90%或固定 Mbps 公式。 - Brutal 的 loss compensation 有时有帮助、有时会变差;出现不稳定时可按当前官方字段评估
disableLossCompensation,并保留前后对照。
4. 端口不是常规性能旋钮
先用单一 UDP 端口完成基线。只有同一网络、同一服务器和同一配置下,特定端口限制能够重复出现时,才评估后文的官方 port hopping;随意开放多个端口会扩大防火墙范围,也不能修复 CPU、容量、路由或错误 bandwidth。
进阶配置
多用户管理
Hysteria2 支持多用户,每个用户独立密码:
修改服务端配置:
auth:
type: userpass
userpass:
user1: password1
user2: password2
user3: password3客户端配置:
auth: user1:password1 # 格式:用户名:密码端口跳跃(Port Hopping)
当前官方实现允许客户端在一组端口间切换;Linux 服务端可用端口范围,并通过 nftables / iptables 把范围内流量转到首端口。它只适合已经观察到“限制集中在特定 UDP 端口”的情况,不是默认提速或不可识别保证。
服务端配置:
listen: :20000-30000 # 监听端口范围客户端配置:
server: 你的域名.com:20000-30000客户端会在范围内选端口并按配置间隔切换。服务端需要 Linux、可用的 nftables / iptables 和修改防火墙的权限,云安全组也必须只开放你实际采用的范围。
Hysteria Realms
没有公网可达 UDP 时,官方允许把 listen 写成 Realms URI;sing-box 1.14 也有 realm 字段。这仍需要 TLS、认证和一致的 Realms 标识,并依赖 STUN / 可选端口映射。有公网 VPS 时继续用普通监听,不要把 Realms 当成默认部署。
流量伪装(Obfuscation)
如果当前网络明确阻断 QUIC / HTTP/3 而非所有 UDP,可以把混淆作为受控对照。Salamander 打乱包形态;Gecko 仍是实验项,会再分片握手包。两端密码必须一致。开启后服务端不再表现为普通 HTTP/3 服务器,masquerade 也就失去意义。这不保证不可识别或更快。
服务端配置:
obfs:
type: salamander
salamander:
password: 另一个强密码 # 混淆密码,与认证密码不同客户端配置:
obfs:
type: salamander
salamander:
password: 另一个强密码 # 必须与服务端一致只有 Salamander 基线仍被明确识别、且你能保留回退配置时,再按当前官方字段评估 Gecko 的 minPacketSize / maxPacketSize。
注意: 混淆会增加 CPU 开销,弱性能 VPS 慎用。
常见问题排查
客户端连接超时怎么办?
排查步骤:
检查服务端是否运行:
bashsystemctl status hysteria-server检查所选 UDP 端口是否监听:
bashss -ulnp | grep 你的端口 # 应显示 hysteria 进程测试 UDP 连通性: 在本地电脑运行:
bash# Linux/macOS nc -u -v 你的VPS_IP 443 # Windows(需安装 nmap) nmap -sU -p 443 你的VPS_IP检查防火墙:
bashufw status iptables -L -n | grep 443检查域名解析:
bashnslookup 你的域名.com # 应返回 VPS IP查看服务端日志:
bashjournalctl -u hysteria-server -n 50
证书申请失败怎么办?
常见原因:
域名解析未生效 → 等待 DNS 传播(最多 24 小时)
80 端口被占用 → 检查并临时停止占用服务:
bashss -tulnp | grep :80 # 如果是 nginx/apache systemctl stop nginx # 申请证书后再启动 systemctl start nginx防火墙拦截 → 临时允许 80 端口:
bashufw allow 80/tcpLet's Encrypt 速率限制 → 等待一小时后重试
手动申请证书(备用方案):
# 安装 acme.sh
curl -fsSL https://get.acme.sh -o /tmp/acme-install.sh
less /tmp/acme-install.sh
sh /tmp/acme-install.sh
# 申请证书
~/.acme.sh/acme.sh --issue -d 你的域名.com --standalone
# 复制证书到 Hysteria 目录
mkdir -p /var/lib/hysteria
~/.acme.sh/acme.sh --install-cert -d 你的域名.com \
--cert-file /var/lib/hysteria/你的域名.com.crt \
--key-file /var/lib/hysteria/你的域名.com.key速度比直连还慢怎么办?
可能原因与处理顺序:
- 记录 Hysteria 版本、客户端 / 服务端日志、拥塞控制、
bandwidth、端点和测试时间。 - 如果配置了
bandwidth,同时检查过高导致拥塞与过低形成限速两种方向;必要时移除它,用默认非 Brutal 控制器建立基线。 - 分别检查本地 Wi-Fi / 接入网、VPS CPU / NIC / 系统缓冲区、云安全组和实际路径。
- 固定服务器和时间,用多个 offered rate 测 UDP 丢包 / 抖动,再与真实 Hysteria 任务对照;不要把一次 iperf TCP / UDP 差异直接归因于运营商。
- 仍无法定位时,用官方内置 speed test(服务端需显式启用)或 TCP 候选做单变量比较。
Hysteria2 vs Hysteria1 有什么区别?
Hysteria2 重写了协议与配置体系,并继承大部分 1.x 功能;官方明确说明两代协议不兼容。当前文档与新部署以 Hysteria2 为主,迁移时必须让客户端和服务端使用同一代协议。
UDP 被运营商限速怎么办?
检测方法:
# 测试 TCP 速度
iperf3 -c 你的VPS_IP -p 5201
# 测试 UDP 速度
iperf3 -c 你的VPS_IP -u -b 100M -p 5201TCP 与 UDP 的 iperf 运行模式、拥塞控制和 offered rate 不同,不能用“UDP 小于 TCP 的 50%”作为运营商限速判据。UDP 测试至少要记录发送目标速率、实际吞吐、丢包、抖动、方向、端口、持续时间和服务端负载,并在另一接入网络或时间重复。
解决方案:
- 先查两端配置 — 服务监听、云安全组、主机防火墙、客户端地址和真实 UDP 丢包。
- 降低 offered rate 重测 — 区分链路容量、错误
bandwidth与完全不可达。 - 端口只作单变量对照 — 只有特定端口差异可重复时再评估 port hopping。
- 比较 TCP 备用路径 — 如果多个端口和网络下 UDP 持续失败,再用 VLESS Reality 等 TCP 方案验证是否更符合当前环境。
安全建议
1. 定期更新
# 更新 Hysteria2
curl -fsSL https://get.hy2.sh/ -o /tmp/hysteria-install.sh
less /tmp/hysteria-install.sh
bash /tmp/hysteria-install.sh
# 重启服务
systemctl restart hysteria-server2. 限制连接数
防止被滥用:
# 添加到配置文件
trafficStats:
listen: :9999 # 流量统计 API 端口(内网访问)
acl:
inline:
- reject(all, udp/443) # 禁止 UDP 443 回连(防止被用作反射攻击)3. 监控流量
# 查看实时连接
ss -ulnp | grep hysteria
# 查看日志
tail -f /var/log/hysteria.log4. 备份配置
# 备份配置和证书
tar -czf hysteria-backup.tar.gz /etc/hysteria /var/lib/hysteria
# 恢复时解压即可
tar -xzf hysteria-backup.tar.gz -C /推荐阅读
延伸阅读与精选专线节点推荐
挑选稳定梯子离不开横向对比与客户端深度调优,阿信推荐继续查阅以下高权重指南: