wangjia 6c19b1bd92 fix(client/macos): 实时统计改走 sendProviderMessage,根治容器路径死局
上一版试图让 root 扩展把 command.sock 建到用户容器,反而让 startTunnel 抛错、隧道连不上
(root 在用户 home 建 socket、属主/路径与无 root 的 app 对不上,且方向本就错)。回退该路子。

正解:用 NetworkExtension 官方跨进程通道,绕开「root 扩展容器 vs 用户 app 容器」死局——
- 扩展内新增 StatsCollector:连本进程自己的 command.sock(同容器、root 可达),订阅
  status/group 缓存最新上下行 + urltest;handleAppMessage 收到 "stats" 即回最新 JSON。
- 主 app StatsClient 改为每秒 NETunnelProviderSession.sendProviderMessage("stats") 拉取、
  解析后推 onStats(不再直连 socket);VpnChannel 三处启动点改传 session。
- 扩展代码变更 → CURRENT_PROJECT_VERSION 44→45,让 sysextd 重装。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 12:05:43 +08:00

Pangolin

面向中国大陆用户的终端 VPN(科学上网)项目。

Phase 0 现状

数据面两条线,容器化、经 Gitea Actions 自动部署到节点,与现网服务隔离:

  • Xray VLESS + REALITY(主线,经宿主 nginx SNI 分流)
  • sing-box Hysteria2(晚高峰加速线,UDP 443)

部署细节见 deploy/README.md

S
Description
vpn
Readme 55 MiB
server 1.1.0 Latest
2026-07-28 23:50:55 +00:00
Languages
Go 39.9%
Dart 21.1%
JavaScript 14.7%
Shell 5.2%
HTML 4.8%
Other 14%