Leadaxe:LxBox 不支持 happ 加密链接,并说明不跟进的理由与替代办法

对于为 LxBox 增加 happ://crypt* 支持的请求,作者答复不会加入,并说明原因:该链接是对订阅地址做的一层 RSA 加密块,解密需要 Happ 应用内置的私钥,而这把私钥之所以出现在应用之外,是因为有人把它提取了出来;每出现一个新格式版本(crypt4、crypt5 等)就意味着要再追一把新密钥,而所附 HTML 在 crypt3 就已止步。他称这是闭源客户端与外界之间的追密钥游戏,LxBox 不参与,也不愿在 GPL 项目里分发他人提取的私钥;并指出即便解密也不够——服务端通常还有 HWID 与 User-Agent 校验,除非客户端伪装成 Happ,否则解密出的地址依然不可用。他建议需要底层订阅的用户向服务商索取普通链接(服务商两种都能提供),只想解码已有链接的可使用他人维护的独立工具(hpwnr、happ-decrypt-universal、happ-decryptor),并声明这些与本项无关联。他还提到据他所知没有开源客户端支持这类链接,PassWall2、Hiddify 与 Throne 出于同样理由也拒绝过,议题以 not planned 关闭。

作者原文

Thanks for the write-up and the attachment — I read both, plus Happ's crypto-link docs.

We are not going to add happ://crypt* support to LxBox, and I'd rather say why than let it sit.

The link is a plain RSA block over a subscription URL. Decrypting it needs Happ's private key, which is embedded in their app and only exists outside of it because people extract it. Each new format version (crypt4, crypt5, …) means a new key to chase, and the attached HTML already stops at crypt3. That's a key-chasing game between a closed client and everyone else, and LxBox is not going to play it: shipping someone else's extracted private key in a GPL app is not something I want in this repository. It wouldn't even be enough on its own — these links usually sit behind HWID and User-Agent checks on the provider side, so a decrypted URL still fails unless the client pretends to be Happ.

If you need the underlying subscription, ask your provider for a regular link; providers can issue both. If you just want to decode a link you already have, standalone tools exist and are maintained by others, for example:

  • https://github.com/Omegaplexx/hpwnr (Rust, up to crypt5)
  • https://github.com/amurcanov/happ-decrypt-universal (Rust)
  • https://github.com/LeeeeT/happ-decryptor (JS)

Use them at your own discretion — they are not affiliated with this project.

For the record, no open client I know of supports these links either (PassWall2, Hiddify and Throne declined for the same reasons). Closing as not planned.