Hysteria2伪装网站怎么配?masquerade的file、proxy、string三种模式详解
Hysteria2 的服务端本身就是一个 HTTP/3 服务器:客户端的认证是靠一个发往 /auth 的请求完成的,而没通过认证的普通 HTTP 请求打到你的端口上时,服务器拿什么回应,就是 masquerade(伪装)这一节配置决定的。搜“hysteria2 伪装网站”要配的就是它。这篇按官方文档(Full Server Config,2026-10-22 核对)把三种模式的完整写法讲清;还没装好服务的,先照Hysteria2一键安装脚本把节点跑起来。以下配置没有逐项在机器上实测,字段以你安装版本的官方文档为准。
先说不配会怎么样:不写 masquerade 这一节,服务器对所有 HTTP 请求一律返回 404。节点照样能用,只是别人直接访问你的 IP 加端口,看到的是一个只会回 404 的“网站”,真实网站很少长这样。
proxy:反代一个真实网站,最常用
把探测请求转发给一个真实存在的网站,访问者看到的就是那个网站的内容:
1 | masquerade: |
几个字段的意思:
url:要反代的目标网站。除了写网址,还可以写 Unix socket(unix:///path/to.sock这种形式),把请求转给本机上另一个服务;rewriteHost:把请求里的 Host 头改写成目标网站的域名。目标服务器靠 Host 区分站点时必须打开,不然对方可能返回默认站点或直接报错;insecure:不对目标网站做 TLS 证书校验,自签证书的目标才需要开,默认关;xForwarded:转发时带上X-Forwarded-For等头,默认关,一般不用开。
config.yaml 最小配置里用的就是这个模式。选伪装目标的要点:长期稳定、支持 HTTPS、打开快;别选会给机房 IP 返回验证码或 403 的网站——探测者看到异常响应,伪装等于白做(这是经验判断,官方没有给推荐名单)。
file:返回本地静态文件
让服务器直接充当一个静态文件服务器,返回某个目录里的网页:
1 | masquerade: |
适合你手上正好有一个静态站(比如博客的导出文件)想顺手挂上。注意目录里要有能打开的首页文件,放一个空目录或者只有一张图片,看起来同样不像正经网站。
string:永远返回同一段内容
最简单的模式,不管访问什么路径,都返回你写死的字符串:
1 | masquerade: |
headers 和 statusCode 都可以不写,状态码默认 200。它胜在零依赖,缺点是太假:真实网站不会对所有路径返回同一句话。只建议临时顶一下,别长期用。
进阶:要不要再开 TCP 的 listenHTTP 和 listenHTTPS
支持 HTTP/3 的真实网站,一般同时也提供 TCP 上的 HTTP/HTTPS(80/443 端口)。想连这一点也模仿到,可以在 masquerade 里再加:
1 | masquerade: |
forceHTTPS 打开后,HTTP 请求会被重定向到 HTTPS。这里要引一句官方文档的原话大意:没有任何证据表明防火墙会用“缺少 TCP 的 HTTP/HTTPS”来识别 Hysteria 服务器,这个功能只是给想“多走一步”的人准备的;真要开,端口也只建议用默认的 80/443。也就是说,它是可选的加分项,不开不影响伪装的主体效果。如果你的机器上已经有真实网站、想和 Hysteria 共用 443,情况更复杂,看Hysteria2能和Nginx共用443端口吗那篇。
配完怎么验证
官方给的验证方法是让 Chrome 强制对你的域名走 QUIC,再直接访问:
1 | chrome --origin-to-force-quic-on=你的域名:443 |
先把 Chrome 完全退出(包括后台进程)再带参数启动,然后打开 https://你的域名,看到的应该是你伪装的那个网站内容,而不是 404 或报错。开了 listenHTTPS 的话不用这么麻烦,普通浏览器直接访问域名就能看到伪装站。
最后提醒两个容易混的点:
masquerade管的是“被探测时像不像网站”,不负责加密流量,也挡不住基于流量特征的识别,它和混淆(obfs)不是一回事;- 开了 obfs 混淆之后,服务器不再是合法的 HTTP/3 服务器,
masquerade就失去前提,两条路线二选一,别叠加。
常见问题
不配 masquerade 会怎么样?
按官方文档,不写 masquerade 这一节时,服务器对所有 HTTP 请求一律返回 404 Not Found。节点本身能正常用,只是有人直接访问你的端口时,看到的是一个只会回 404 的“网站”,不太像真实站点。
伪装成什么网站比较好?
proxy 模式下选一个长期稳定、支持 HTTPS、打开速度快的真实网站;对方服务器按 Host 区分站点时要打开 rewriteHost。别选会给机房 IP 返回验证码或 403 的网站,探测者看到异常响应,伪装就白做了。
开了 obfs 混淆还需要配 masquerade 吗?
不需要。官方文档写明,开启混淆后服务器与标准 QUIC 连接不兼容,不再是一个合法的 HTTP/3 服务器,masquerade 这种“装成 HTTP/3 网站”的伪装就失去前提,两者是二选一的路线。