最近更新:2026-09-18

NekoBox for Android维护

原名 / 别名:NekoBox

开源版本仍在发布,适合 sing-box 与 Hysteria2 用户;Google Play 同名版本已被官方标记为第三方非开源版本。

复核于 2026-09-02替代:v2rayNG(通用链接)或 FlClash(Clash 订阅)官方来源
SagerNet for Android历史参考

原名 / 别名:SagerNet

官方仓库已于 2024-01-04 归档并只读,不再建议新用户安装。

复核于 2026-07-13替代:NekoBox for Android、v2rayNG 或 FlClash官方来源
Hysteria 2推荐

原名 / 别名:Hysteria2、HY2

官方文档与版本仍在维护,适合 UDP 可用的弱网和高丢包场景,但不应作为唯一协议。

复核于 2026-09-18替代:VLESS + Reality(UDP 受限时)官方来源
AnyTLS维护

sing-box 仍提供官方入站实现,适合作为 TCP 备用;客户端覆盖不如 Reality,暂不作为新手主路径。

复核于 2026-09-18替代:VLESS + Reality(主力)官方来源
UDP CHECK FIRST

Hysteria2 是基于 QUIC 的 TCP / UDP 代理候选。先确认两端 UDP 可达,再按官方拥塞控制语义配置,并用同条件测试判断它是否适合当前网络。

  • 先确认 UDP服务监听、防火墙或当前网络让目标 UDP 不可达时,HY2 无法建立连接。
  • 脚本是第三方`everett7623/hy2` 需要 root;先审阅入口,再在可销毁 VPS 验证。
  • 再做调优跑通后再区分 Hysteria BBR / Reno / Brutal、系统缓冲区与端口跳跃。
CHECK先验证目标 UDP

记录服务监听、防火墙与连接日志;协议名称不能替代实际可达性。

先判断场景 →
INSTALL第三方脚本入口

当前统一入口包含 HY2、AnyTLS、SS、VLESS Reality 与 EUserv HY2。

开始部署 →
COMPARE保留 TCP 对照

多个受控网络下 UDP 持续失败时,再比较 Reality 等 TCP 候选。

看 Reality 教程 →
⚠️
Hysteria2 的底层传输使用 UDP。连接失败先区分安全组、主机防火墙、服务监听、本地网络和实际 UDP 路径;确认该路径持续不可用后,再把 VLESS Reality 等 TCP 方案作为对照。
💡 阿信避坑实测提醒(2026 稳定防失联建议):
无论选用何种客户端配置,科学上网最核心的基石在于节点线路抗封锁质量与服务商冗余。阿信实测建议:
1. 主力日常与流媒体/AI 访问:首推 榴莲云 (IEPL专线),原生纯净 IP 晚高峰 4K 零卡顿,可使用独家专属 7 折优惠码 ll88(支持月付折后仅 ¥16.8/月);
2. 防失联备用容灾方案:建议同步备用 月之暗面 (Moonshot),25元包年 / 5元月付,全节点 1 倍率不限速不限设备数,性价比极高;
3. 更多经过用户确认核验的高速专线,请查阅 2026 机场推荐天梯榜中心。

什么是 Hysteria2 ​

核心特性 ​

Hysteria2 是构建在 QUIC 之上的 TCP / UDP 代理。QUIC 是其传输基础,但这不等于它与普通网页 HTTP/3 具有相同流量行为或固定性能。

当前官方配置重点:

  1. QUIC stream 与 datagram — 在一条 QUIC 连接内转发 TCP 与 UDP 请求。
  2. 三种拥塞控制 — 未选择 Brutal 时使用本地 BBR(默认)或 Reno;配置 bandwidth 会影响对应方向是否使用 Brutal。
  3. 带宽不是越高越好 — Brutal 依赖准确的链路能力估计,填写超过真实上限会造成拥塞、不稳定和额外流量。
  4. 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 自动带来更低延迟、更高吞吐或不可识别性。
ℹ️
QUIC 会被识别吗? QUIC / HTTP/3 是常见协议,但这不代表任意 UDP / QUIC 流量都不会被识别、限速或阻断。Hysteria2 与普通网页 HTTP/3 的流量行为也不完全相同;Salamander 混淆只是可选对策,不是抗封锁保证。

准备工作 ​

1. VPS 要求 ​

官方文档没有给出适用于所有连接数和吞吐目标的固定 VPS 最低套餐。购买前记录:

  • CPU 架构与可持续算力、内存和 NIC / 虚拟化限制。
  • 端口与 UDP 政策、安全组、主机防火墙和公网地址能力。
  • 流量计费、带宽上限、超额策略、账期、退款、快照与换 IP 条件。
  • 到你的接入网络和目标服务的实际去回程;机房或线路名不能替代测试。

VPS 候选入口:

服务商入口购买当日核对
Vultr官网地区、UDP / 端口政策、带宽、流量、账期与退款
Hetzner官网账号资格、地区、网络政策、带宽、流量与退款
RackNerd官网具体机房、资源、UDP / 端口政策、续费与退款
DMIT官网具体产品、真实去回程、带宽、流量、续费与退款
ℹ️
上表部分短链可能产生返佣,仅保留为官网候选入口,不构成排序或 UDP / 性能保证。价格、库存和条款必须在购买当日核对;先月付或小额验证。详见推广与返佣披露。

虚拟化类型: KVM 通常提供更独立的内核和网络环境,但 UDP 是否可用不能只靠 KVM / OpenVZ 标签判断。购买前查云商条款,开机后实测 UDP 端口、安全组和本地网络。

2. 域名准备 ​

Hysteria2 协议本身不强制使用公网域名,但本教程使用公开信任的 TLS 证书,因此推荐准备域名,用于:

  1. TLS 证书签发(伪装成 HTTPS 流量)
  2. 客户端 SNI 验证

获取域名:

  • 注册商候选:NameSilo / Cloudflare Registrar。购买当日核对首年、续费、转出、DNS 与账号资格。
  • 其他域名来源(例如 eu.org)有各自的申请、控制权和证书签发条件,先确认你能长期管理 DNS。
⚠️
域名价格或后缀不能证明 Hysteria2 性能与“信誉”。真正需要核对的是控制权、DNS 是否正确、证书链 / SNI 是否匹配,以及客户端是否按预期验证证书;使用自签证书时必须按官方 pin 或验证方案配置。

DNS 解析:

  1. 注册域名后,进入域名管理面板
  2. 添加 A 记录:
    • 主机记录:@(或子域名如 proxy)
    • 记录类型:A
    • 记录值:你的 VPS IP
    • TTL:600

验证解析:

bash
# 在本地电脑运行
nslookup 你的域名.com
# 应返回你的 VPS IP
⚠️
使用 Cloudflare DNS 时,Hysteria2 记录应保持 DNS only(灰云)。普通 Cloudflare 橙云代理不转发任意 Hysteria2 UDP 流量;非 HTTP/HTTPS 的自定义 TCP/UDP 代理属于 Spectrum 等独立能力,不是普通 DNS 代理的效果。

3. 连接到 VPS ​

bash
ssh root@你的VPS_IP

4. 更新系统 ​

bash
# Debian / Ubuntu
apt update && apt upgrade -y

# 安装必要工具
apt install -y curl wget sudo

方案 1:everett7623/hy2 第三方一键脚本 ​

如果只是想快速部署可导入客户端的节点,可以评估 everett7623/hy2。这是由 everett7623 维护、需要 root 权限的第三方脚本;按当前项目说明,统一入口提供 5 类部署选项:

HY2

Hysteria 2

基于 QUIC / UDP;先核对 UDP 端口、防火墙、证书与客户端字段。

TCP

AnyTLS

基于 sing-box 的 TCP / TLS 入站;核对客户端支持、证书与服务端版本。

REALITY

VLESS Reality

基于 sing-box 的 TCP 候选;核对 UUID、SNI、公钥、short ID 与 Vision flow。

SS

Shadowsocks

提供经典 AEAD 与 SS-2022 选项;SS-2022 还要求客户端与服务端系统时间准确。

IPv6

EUserv HY2

面向 EUserv IPv6-only 环境,单独处理 NAT64 DNS、WARP 与 IPv6 下载回退。

安装统一入口 ​

bash
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

首次运行后会安装快捷命令:

bash
sb

按本页 Hysteria2 流程进入菜单:

  1. 安装 / 重装
  2. 选择 Hysteria 2
  3. 安装完成后选择 查看节点信息 或 导出客户端配置
  4. 按你的客户端导出 URI、Mihomo / Clash、Shadowrocket、Loon 或二维码
ℹ️
该入口会写入 `/etc`、systemd / OpenRC、防火墙、cron 和系统网络配置。先在可销毁 VPS 审阅、测试;后续需要拥塞控制、系统缓冲区、备份、升级或卸载时,从 `sb` 菜单或项目文档进入,不要一边使用生成配置一边手工改同一字段。
⚠️
Hysteria2 走 UDP。安装成功但连不上时,先查服务状态、日志和监听端口,再核对云安全组、主机防火墙、NAT 映射、客户端地址与实际 UDP 路径;不要直接归因于运营商。

方案 2:官方 / 手动配置(进阶) ​

如果你想完全掌控配置,可以使用 Hysteria2 官方二进制或脚本,再手写 /etc/hysteria/config.yaml。这种方式适合已经理解 TLS、证书、UDP 防火墙和客户端 YAML 的用户。安装前到 GitHub Releases 核对应 app/v2 标签,不把旧镜像或第三方网盘包当成当前版本。

bash
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 让服务端自己申请;两者不能同时写。最小服务端配置示例使用已有证书:

yaml
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):

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 也可能让客户端提示被忽略。

启动客户端:

bash
./hysteria -c config.yaml

浏览器设置代理:

  • SOCKS5:127.0.0.1:1080
  • 或 HTTP:127.0.0.1:8080

iOS:Shadowrocket / Stash ​

Shadowrocket 支持 Hysteria2:

  1. 打开 Shadowrocket → 右上角「+」
  2. 类型选择「Hysteria2」
  3. 填写:
    • 地址:你的域名.com
    • 端口:443
    • 密码:你的强密码
    • 上传/下载带宽:先按客户端当前默认;只有理解其是否触发 Brutal 且完成测量后再填
    • 混淆:留空(除非服务端开启)

Stash 配置(YAML):

yaml
proxies:
  - name: "Hysteria2"
    type: hysteria2
    server: 你的域名.com
    port: 443
    password: 你的强密码
    # 先不要写 up / down。这些字段在不少客户端里会进入 Brutal 选择流程

Android:NekoBox ​

NekoBox(维护级选项):

  1. 下载 NekoBox
  2. 打开 → 右上角「+」→「手动输入」
  3. 类型:Hysteria2
  4. 填写服务器地址、端口和密码;带宽字段先按客户端默认,调优前确认其语义
🚫
只从 NekoBox 官方 GitHub Releases 下载。项目 README 明确说明 Google Play 版本自 2024 年 5 月起由第三方控制且不是开源版本,不应下载安装。
⚠️
SagerNet 官方仓库已于 2024-01-04 归档。旧用户可保留配置作迁移参考,新用户不要再安装;可改用 NekoBox、v2rayNG 或 FlClash。

防火墙配置 ​

VPS 防火墙 ​

bash
# 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
🚫
Hysteria2 走 UDP,不是 TCP。防火墙协议必须与实际监听端口一致;上面的 80/tcp 只服务于证书申请,不能替代 UDP 放行。

云服务商安全组 ​

登录云服务商控制面板,添加规则:

  • 协议:UDP
  • 端口:你的实际监听端口
  • 来源:按你能接受的来源范围,而不是无条件照抄全网开放

性能优化 ​

1. 先确认 Hysteria 拥塞控制 ​

net.ipv4.tcp_congestion_control=bbr 只选择 Linux 内核 TCP 拥塞控制,不会替 Hysteria2 的用户态 QUIC 选择 BBR。Hysteria2 当前在未使用 Brutal 的方向使用自己的本地拥塞控制设置,默认是 BBR standard,也可选 Reno:

yaml
congestion:
  type: bbr
  bbrProfile: standard

这个设置在客户端和服务端各自生效,不通过协议自动协商。先保留默认;只有可复现问题时,才在同一端点、同一时间和同一 bandwidth 状态下比较 BBR profile 或 Reno。

2. 按需调整系统缓冲区 ​

官方性能文档把 CPU、NIC、系统缓冲区、QUIC 流控窗口和进程调度都列为可能瓶颈。只有日志或高吞吐测试表明缓冲区受限时才调整,并用独立文件保留回退边界:

bash
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 支持多用户,每个用户独立密码:

修改服务端配置:

yaml
auth:
  type: userpass
  userpass:
    user1: password1
    user2: password2
    user3: password3

客户端配置:

yaml
auth: user1:password1  # 格式:用户名:密码

端口跳跃(Port Hopping) ​

当前官方实现允许客户端在一组端口间切换;Linux 服务端可用端口范围,并通过 nftables / iptables 把范围内流量转到首端口。它只适合已经观察到“限制集中在特定 UDP 端口”的情况,不是默认提速或不可识别保证。

服务端配置:

yaml
listen: :20000-30000  # 监听端口范围

客户端配置:

yaml
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 也就失去意义。这不保证不可识别或更快。

服务端配置:

yaml
obfs:
  type: salamander
  salamander:
    password: 另一个强密码  # 混淆密码,与认证密码不同

客户端配置:

yaml
obfs:
  type: salamander
  salamander:
    password: 另一个强密码  # 必须与服务端一致

只有 Salamander 基线仍被明确识别、且你能保留回退配置时,再按当前官方字段评估 Gecko 的 minPacketSize / maxPacketSize。

注意: 混淆会增加 CPU 开销,弱性能 VPS 慎用。

常见问题排查 ​

客户端连接超时怎么办? ​

排查步骤:

  1. 检查服务端是否运行:

    bash
    systemctl status hysteria-server
  2. 检查所选 UDP 端口是否监听:

    bash
    ss -ulnp | grep 你的端口
    # 应显示 hysteria 进程
  3. 测试 UDP 连通性: 在本地电脑运行:

    bash
    # Linux/macOS
    nc -u -v 你的VPS_IP 443
    
    # Windows(需安装 nmap)
    nmap -sU -p 443 你的VPS_IP
  4. 检查防火墙:

    bash
    ufw status
    iptables -L -n | grep 443
  5. 检查域名解析:

    bash
    nslookup 你的域名.com
    # 应返回 VPS IP
  6. 查看服务端日志:

    bash
    journalctl -u hysteria-server -n 50

证书申请失败怎么办? ​

常见原因:

  1. 域名解析未生效 → 等待 DNS 传播(最多 24 小时)

  2. 80 端口被占用 → 检查并临时停止占用服务:

    bash
    ss -tulnp | grep :80
    # 如果是 nginx/apache
    systemctl stop nginx
    # 申请证书后再启动
    systemctl start nginx
  3. 防火墙拦截 → 临时允许 80 端口:

    bash
    ufw allow 80/tcp
  4. Let's Encrypt 速率限制 → 等待一小时后重试

手动申请证书(备用方案):

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

速度比直连还慢怎么办? ​

可能原因与处理顺序:

  1. 记录 Hysteria 版本、客户端 / 服务端日志、拥塞控制、bandwidth、端点和测试时间。
  2. 如果配置了 bandwidth,同时检查过高导致拥塞与过低形成限速两种方向;必要时移除它,用默认非 Brutal 控制器建立基线。
  3. 分别检查本地 Wi-Fi / 接入网、VPS CPU / NIC / 系统缓冲区、云安全组和实际路径。
  4. 固定服务器和时间,用多个 offered rate 测 UDP 丢包 / 抖动,再与真实 Hysteria 任务对照;不要把一次 iperf TCP / UDP 差异直接归因于运营商。
  5. 仍无法定位时,用官方内置 speed test(服务端需显式启用)或 TCP 候选做单变量比较。

Hysteria2 vs Hysteria1 有什么区别? ​

Hysteria2 重写了协议与配置体系,并继承大部分 1.x 功能;官方明确说明两代协议不兼容。当前文档与新部署以 Hysteria2 为主,迁移时必须让客户端和服务端使用同一代协议。

UDP 被运营商限速怎么办? ​

检测方法:

bash
# 测试 TCP 速度
iperf3 -c 你的VPS_IP -p 5201

# 测试 UDP 速度
iperf3 -c 你的VPS_IP -u -b 100M -p 5201

TCP 与 UDP 的 iperf 运行模式、拥塞控制和 offered rate 不同,不能用“UDP 小于 TCP 的 50%”作为运营商限速判据。UDP 测试至少要记录发送目标速率、实际吞吐、丢包、抖动、方向、端口、持续时间和服务端负载,并在另一接入网络或时间重复。

解决方案:

  1. 先查两端配置 — 服务监听、云安全组、主机防火墙、客户端地址和真实 UDP 丢包。
  2. 降低 offered rate 重测 — 区分链路容量、错误 bandwidth 与完全不可达。
  3. 端口只作单变量对照 — 只有特定端口差异可重复时再评估 port hopping。
  4. 比较 TCP 备用路径 — 如果多个端口和网络下 UDP 持续失败,再用 VLESS Reality 等 TCP 方案验证是否更符合当前环境。

安全建议 ​

1. 定期更新 ​

bash
# 更新 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-server

2. 限制连接数 ​

防止被滥用:

yaml
# 添加到配置文件
trafficStats:
  listen: :9999  # 流量统计 API 端口(内网访问)

acl:
  inline:
    - reject(all, udp/443)  # 禁止 UDP 443 回连(防止被用作反射攻击)

3. 监控流量 ​

bash
# 查看实时连接
ss -ulnp | grep hysteria

# 查看日志
tail -f /var/log/hysteria.log

4. 备份配置 ​

bash
# 备份配置和证书
tar -czf hysteria-backup.tar.gz /etc/hysteria /var/lib/hysteria

# 恢复时解压即可
tar -xzf hysteria-backup.tar.gz -C /

推荐阅读 ​