OpenWrt用PassWall配Hysteria2客户端:软路由透明代理实战

先说依据和现状

这篇的依据(2026-10-18):

  • PassWall / PassWall2 的源码文档(经 sing-box 核心支持 Hysteria2:UDP/QUIC 传输,Salamander 混淆);
  • openwrt-passwall-packages 的构建记录:含 hysteria 2.13.0、sing-box 1.14.3。

先说一个重要现状:2026-10-18 实测,xiaorouji 的 GitHub 账号还在,但公开仓库数已清零——openwrt-passwall、openwrt-passwall2、openwrt-passwall-packages 三个仓库目前都无法访问(GitHub API 与网页均为 404)。这可能是暂时的,也可能不是。LuCI 界面的逐项操作没有实测,下面只讲"配什么、为什么",不编界面截图。

目前可用的安装包来源:SourceForge 上的 openwrt-passwall-build 镜像,2026-10-14 仍在更新构建(含 x86_64 等架构的 luci-app-passwall、sing-box、hysteria 包)。用之前先核对来源,情况随时可能变化。

PassWall怎么支持Hysteria2

PassWall 本身不直接实现协议,它是个"调度器",把节点配置翻译成各个核心(xray、sing-box 等)的配置再启动。Hysteria2 的支持走的是 sing-box 核心:

  • Hysteria2 → sing-box(默认就有)
  • Hysteria v1 → 独立的 hysteria 核心(需单独装包)

所以装 PassWall 时,sing-box 核心是必选项,hy2 节点才能跑起来。

节点配置:要填哪几项

在 PassWall 的节点列表里新增节点,类型选 Hysteria2(sing-box),关键参数:

参数 说明
地址、端口 服务端 IP/域名和端口;用了端口跳跃就填跳跃区间的写法
密码 服务端 config.yaml 里的 password(hy2 用 password 认证)
TLS 打开;SNI 填你的域名;自签证书就允许"跳过证书验证"
混淆 Salamander,密码填服务端的 obfs 密码(两边一致)
上行/下行带宽 Brutal 拥塞控制用,按你的实际带宽填(如 50/200 Mbps),乱填大会被 QoS,填小浪费
端口跳跃 服务端开了跳跃,客户端 hopInterval 对上

服务端那边的配置(password、obfs、跳跃区间)以你服务端的 config.yaml 为准,客户端照抄。

软路由用hy2的三个注意点

  1. UDP 要通:hy2 走 UDP/QUIC,OpenWrt 的防火墙和上游光猫都别拦 UDP。连不上先 ping 再看 UDP 端口通不通,别一上来就怀疑配置。
  2. 带宽别乱填:Brutal 模式的上行/下行是"告诉服务端能跑多快",填超过实际带宽的值,晚高峰会被运营商 QoS 教做人。不知道就先填小一点测。
  3. 分流规则:PassWall 的分流(shunt)可以按域名/GeoIP 走不同节点,hy2 节点适合分给"需要速度"的流量,延迟敏感但怕丢包的可以另走。规则配错比节点配错更常见。

和其他客户端方案的对比

方案 适合 说明
软路由 PassWall + hy2 全家设备透明代理 一次配置,所有设备生效
电脑/手机客户端直连 单设备 见站内各平台客户端文章
面板(3x-ui)+ hy2 服务端管理 服务端侧,和客户端方案不冲突

注意事项

  • xiaorouji 仓库清空是 2026-10-18 的实测状态,写这篇时有效,之后可能恢复或彻底没了,安装前自己再确认一次;
  • 从非官方源装 ipk 包有供应链风险,优先选有持续更新记录的构建源,装完对一下版本号;
  • LuCI 界面字段名各版本可能有差异,本文参数名以 sing-box 的 hy2 出站语义为准,界面对不上就按语义找。