Hey Hey

Hey 配置导入:从源码构建到内核选择

这篇写给刚接触 Hey 的读者。它把构建、导入、连接和排查串成一条线,尽量说清楚每一步为什么这样做,以及不确定的地方该去哪里查。

返回文章列表

Hey 面向 HarmonyOS NEXT,是一个原生网络隧道与协议调试客户端。它不是装完就能用的图形工具,而是一份需要自己构建、自己签名的应用源码。理解这一点,后面的很多步骤就顺了。

它是什么

Hey 用 ArkTS 编写,项目采用 HarmonyOS Stage 模型,并包含 VPN Extension Ability。应用提供服务卡片、WorkScheduler、ScanKit 二维码扫描和桌面快捷方式,也支持 hey:// 深链接与系统分享导入,并通过 N-API 桥接打包的传输内核。这些能力决定了它的使用方式更接近一个可以深度调整的调试客户端,而不是一键连接的成品。

它同时打包了 Xray 与 sing-box 两个内核,但两者并不对等。Xray 是仓库当前的主运行路径,支持 VPN 模式和仅代理模式;sing-box 已随包并可以在设置里选择,但应用集成范围比 Xray 窄。这个差别在后面导入多份配置时会变得很明显。项目以 GNU GPL-3.0 开源。

从哪里下载

严格来说这里没有「下载」按钮。仓库不提供预编译安装包,使用者需要自行构建并签名。所以要做的其实是两件事:拿到源码,以及在本机构建出可以直接安装的签名 HAP。

源码从官方 GitHub 仓库获取。构建前先把 build-profile.example.json5 复制为 build-profile.json5,再在 DevEco Studio 中配置调试或发布签名。构建脚本是 ./scripts/device_vpn_smoke_test.sh build,执行后得到签名 HAP,产物位于 entry/build/default/outputs/default/entry-default-signed.hap。

构建配置的 target SDK 为 6.0.1(21),compatible SDK 为 5.1.1(19)。除此之外的环境要求以官方文档为准。如果构建中途报错,先回官方 README 的构建与安装说明逐条对照,比凭感觉改配置有效得多。

安装后先做什么

装好之后不用急着连。先确认两件事:运行环境是 HarmonyOS NEXT 真机,应用能正常打开并显示出主要页面。

仓库已知限制里写明了,需要更多 HarmonyOS NEXT 真机覆盖,部分模拟器或系统镜像缺少 VPN 授权组件。这句话很重要,因为它意味着在模拟器上跑不起来,很可能不是你的配置写错了,而是环境本身缺了一块。遇到这种情况,先换真机,再谈排查。

打开应用之后,可以在服务器列表、订阅、路由、日志、扫描、备份、导出这些页面之间走一遍,熟悉结构。页面名称与排列以官方文档为准。

导入订阅或配置并连接

导入入口包括订阅 URL、v2rayN 文本、Xray JSON、Clash 风格 YAML、WireGuard 配置文件和二维码。除此之外,应用还支持通过 hey:// 深链、系统分享文本和二维码扫描导入外部内容,这些路径一律要求明确确认,确认之后才会生效。这一点是设计上的选择,也意味着你不必担心别人随手发来的一段文本会悄悄改动你的配置。

导入完成后再选内核。Xray 路径会根据选定配置生成运行时配置,并启动或停止 HarmonyOS VPN Extension。sing-box 路径目前支持 VPN 模式下的单个转换后 outbound,转换器接受 VLESS、VMess、Trojan、Shadowsocks、AnyTLS 和 TUIC。

一个容易忽略的差别:如果你的配置里包含多个 outbound,用 sing-box 跑出来的结果可能和预期不一致,因为这条路目前只处理单个转换后 outbound。这时换回 Xray 路径更稳妥。界面里哪个设置项对应哪个内核,具体位置以官方文档为准。

连不上时先检查什么

先看日志页面,确认连接到底有没有被发起,以及提示里有没有明确的信息。没有日志、只有失败的现象,通常说明问题在更前面一步,而不是网络本身。

接着回到环境层面。前面提到的 VPN 授权组件是常见原因,模拟器或某些系统镜像缺少这个组件时,VPN 模式根本无法工作。这种情形换真机重试,比反复修改配置有效。

然后检查导入的配置。订阅 URL 是否完整、扫到的二维码是不是预期的那一份、YAML 或 JSON 在确认那一步有没有被真正接受。应用对来自外部的导入都要求明确确认,如果那一步被跳过或取消,配置就不会落地。

最后再区分模式。仅代理模式和 VPN 模式的作用范围不同,某些场景下前者可用、后者不可用,或者反过来。判断依据是实际看到的现象,不是猜测。仍然不确定的细节,以官方文档为准。

下一步读什么

这篇只覆盖到第一次连接。构建参数的细节、每个页面的具体用法、两个内核之间的取舍,官方 README 写得更完整,遇到拿不准的地方优先看它。

如果你更希望按步骤走一遍完整流程,可以看入门教程;遇到具体疑问,常见问题页把下载安装、订阅连接与安全相关的条目归在了一起。

Hey 配置导入时的确认边界

Hey 的导入路径很丰富,但入口多不等于内容会自动可信。订阅 URL、v2rayN 文本、Xray JSON、Clash 风格 YAML、WireGuard 配置文件和二维码都属于外部输入;hey:// 深链与系统分享文本同样需要经过明确确认。操作时应先看清来源和格式,再决定是否接受,避免把不明内容直接写入运行配置。

如果导入后没有出现预期条目,先回到导入页面确认是否完成了最后一步,而不是立即重复构建。对于 Xray JSON 与 YAML,记录原始文本的格式和报错位置会比凭记忆重填更有效。二维码扫描也应确认扫描结果来自可信来源,因为 Hey 只负责处理输入,不替你判断订阅服务的可靠性。

Hey 配置导入后的内核选择

Xray 是仓库当前的主运行路径,支持 VPN 模式和仅代理模式;sing-box 随包提供,但在 VPN 模式下只处理单个转换后的 outbound。若配置包含多个 outbound,优先回到 Xray 路径观察结果。选择内核后再启动 HarmonyOS VPN Extension,连接状态和日志页的变化才有可比性。

完成第一次连接后,建议按“导入来源、所选内核、运行模式、系统授权”四项记下结果。下次遇到相同问题,可以快速判断是输入变化还是环境变化。仓库持续更新时,以官方 README 与 Release 页面写明的内容为准。

Hey HarmonyOS 相关操作界面结构示意图
按 Hey 官方公开功能整理的填充形状示意。
Hey HarmonyOS 相关操作界面结构示意图
按 Hey 官方公开功能整理的填充形状示意。

Hey 配置导入的复盘清单

完成一次导入后,最好把结果按时间顺序记在本地:先写来源类型,再写是否经过明确确认,接着记录使用的内核和模式,最后记录 HarmonyOS VPN Extension 是否成功启动。这样的记录不涉及任何节点内容,却能帮助你判断问题出现在输入、权限还是运行路径。尤其在同时尝试 Xray 与 sing-box 时,保留两次日志片段可以避免把不同路径的现象混在一起。

如果你要把配置分享给别人,先确认分享文本中没有不应公开的内容,再选择系统分享入口。Hey 支持系统分享文本,但接收方仍会看到确认步骤;这一步应当由接收者自行判断是否接受。应用的源码和构建脚本来自官方仓库,菜单、字段和支持边界若有变化,应回到 README 查看当前说明。

记录这些字段后,下一次导入就能沿用清晰的排查顺序。

把每次选择写清楚后,配置导入才会从一次性尝试变成可重复的流程。对于需要长期维护的用户,这份记录也能帮助区分源码变化、系统授权变化和输入内容变化。

入门教程 从构建签名到导入连接的四步流程,按顺序走一遍。 常见问题 下载安装、订阅连接与安全相关的疑问集中在这里。

继续往下走

已经完成第一次连接的话,可以去看看订阅服务怎么挑;还没开始的,直接进教程。

查看入门教程 看机场推荐