## 英国航空“免费消息”WiFi - 深度分析 (2025)
最近一次英国航空从香港(HKG)到伦敦(LHR)的航班显示了一个有趣的福利:英国航空俱乐部会员可以免费使用“消息”WiFi。令人惊讶的是,即使没有现有的互联网连接,也能通过 captive portal 轻松注册。虽然广告宣传适用于 WhatsApp 和 Signal 等消息应用程序(仅限文本),但作者发现了一个漏洞。
英国航空似乎通过检查服务器名称指示 (SNI) 来过滤流量——TLS 握手 *之前* 暴露的域名。通过使用有效的 SNI(例如 WhatsApp 的 `wa.me`)来欺骗系统,可以建立完整的 TLS 隧道,绕过限制。
这使得作者能够将所有网络流量通过个人 VPS 代理,从而在“仅限消息”访问的情况下也能浏览互联网。进一步使用加密客户端问候 (ECH) 测试表明,浏览更加安全,可以掩盖真实的网站目的地。
作者怀疑也存在带宽限制,解释了较慢的速度,但核心要点是仅依赖 SNI 进行安全防护是有缺陷的。SNI 很容易被伪造,这凸显了它不适合强大的威胁检测,并强调了完整 TLS 加密的重要性。
## Bruijn 中的多种阶乘实现
这篇文章展示了在 Bruijn 编程语言中计算阶乘的多种方法——一种使用 de Bruijn 指标的无类型 lambda 演算的极简语法。作者在 16 小时的飞行中探索了不同的方法,并将其中一些方法构建为有趣的谜题。
示例从基本的递归定义到更复杂的技术,利用组合子、CPS(Continuation Passing Style),甚至避免传统的乘法,而选择对数和指数函数。 几种实现利用了元编程、列表操作和高阶函数(如 `foldr` 和 `cata/hylo`)等高级概念。
作者包含了大量的测试来验证正确性,并邀请贡献新的解决方案。这篇文章突出了 Bruijn 的灵活性和表达能力,展示了一个看似简单的语言如何支持多种编程范式。 提供了一个包含所有函数和测试的可重现文件,鼓励实验和进一步探索。