XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

LumaTunnel

【WinUI】LumaTunnel 是一个面向个人多设备的 Windows 代理系统。客户端在本机提供 HTTP/HTTPS CONNECT 与 SOCKS5 TCP 代理,并通过一个受信任 TLS 证书保护的 WSS 会话,将多个 TCP 流复用到自建 Windows Server 节点。

公开
关注 0 Fork 0 Star 0
UTF-8

安全边界与威胁模型

保护目标

  • 设备令牌和一次性配对码不进入日志。
  • HTTPS 目标流量保持端到端加密;LumaTunnel 不安装 CA、不做中间人解密。
  • 服务端不能被已配对设备用作访问本机、云元数据地址或内网的 SSRF 跳板。
  • 客户端崩溃后不遗留指向失效端口的 Windows 系统代理。
  • 无界输入、慢速目标和高并发不能导致不受控内存增长。

已实现控制

  • RandomNumberGenerator 生成配对码和 256 位令牌,摘要比较使用固定时间算法。
  • 配对码持久化为摘要,使用一次或过期即失效,最长 TTL 一天。
  • WSS 同时检查设备 ID、Bearer 令牌和协议头;吊销通过文件监视通知活动会话。
  • 目标端口和所有 DNS 解析结果在连接前校验;只要一个结果属于禁止网段,整个目标即拒绝。
  • 本地 HTTP/SOCKS 监听器拒绝非回环绑定。
  • 代理解析和隧道发送使用固定上限,单帧最大 32 KiB。
  • 内部 API/WSS 禁用系统代理,避免本地代理递归。
  • 系统代理恢复采用 compare-before-restore:只有当前值仍完全指向 LumaTunnel 时才恢复快照,避免覆盖用户在外部做的新设置。
  • Watchdog 同时观察父进程和命名管道;正常退出有显式信号,异常 EOF/进程退出会恢复快照。

运维要求

  • 正式环境必须使用公开受信任证书和 wss://;开发用 http://localhost:3300 不得暴露到网络。
  • 不要把 server.json 中的绑定改成明文公网 HTTP。
  • 服务账户保持 NetworkService,不要改成 LocalSystem。
  • 定期审计设备列表并吊销遗失设备。
  • 只从受信任构建流程分发客户端,发布前对可执行文件和安装器进行代码签名。

明确不提供的保护

  • 服务器作为出口节点能看到目标域名/IP、端口、连接时长和流量大小。
  • 已入侵的客户端用户账户可调用 DPAPI 解密自己的设备令牌。
  • LumaTunnel 不是匿名网络;节点运营者和目标服务仍可关联出口 IP。
  • v1 没有 UDP、TUN、局域网共享、私网穿透或多用户计费隔离。

安全问题应附带版本、复现条件和经过脱敏的日志;切勿提交设备令牌、配对码或证书私钥。