Pangolin 文档索引

全部设计 / 调研 / 排障文档汇总 · 单一入口

约定:新的设计文档 / 调研文档统一以 HTML 形式输出(深色家族风格,可直接 file:// 打开),并登记到本索引。历史 .md 文档保留原状、逐步迁移。

设计方案 / Specs

联系我们 · 渠道二级页(Telegram 频道/群组,DB 配置)HTML
点 Telegram 进二级页,按 kind 分组(频道/群组/Bot)列多条链接,含 @handle/说明/认证/「打开·加入」动作,全渠道(含邮箱/发卡)统一一张 contact_link 表(靠 url 协议区分 mailto/https/tg)。独立 GET /v1/contact。规则:平台 >1 条链接才进二级,否则点击直达。LINE 同构但先灰置「即将开放」(registry comingSoon 开关,配好即去灰)。不展示成员数、群组=加入。含可点原型。
docs/contact-telegram-channels-design.html
免费版 10 分钟卡控 + 累加式看广告加时 HTML
免费版真卡控(账户级/全设备共享):连接期倒计时 + 到点自动切断 + 耗尽按钮灰化 + 点击弹广告看完 +10 分钟(累加,每日封顶 120)。桌面硬 10 分钟不可延。服务端 ad_bonus_minutes 累加模型 + ConnectNode 按 remaining 卡控 + TTL 硬切断;占位 DevVerifier。#21。
docs/free-quota-ad.html
设备数量限制 + 超限 UX HTML
真正启用套餐设备上限(free 1 / pro 3 / team 10):卡在登录(非硬拒登,返回 device_limit 信号)+ 选择移除/一键踢最旧 + 服务端按 last_seen 自动清理久不活跃。复用现成 DeleteDevice/ResolvePlan。无 DB schema 变更。#16。
docs/device-limit-design.html
设备 & 会话管理 + 每设备流量归因 HTML
「我的设备」管理(名称/平台/客户端版本/在线/最后登录 + 强制退出/清除登录信息)+ 控制面 sessions 表绑设备 + 数据面每设备 dp_uuid 记账。核心洞察:后端大半已建但 RegisterIfAbsent 未接线致 devices 表空。P1–P5 路线。
docs/device-session-management-design.html
Pangolin Android 客户端设计方案 HTML
把 M2 纸面 PoC 推到真机端到端连通 + 切节点 + KillSwitch(清 TODO 11G)。里程碑 A–F、三处定调。
docs/android-client-design.html
iOS + iPad 支持设计方案 HTML
iOS 隧道从 PoC 桩推到真机连通 + TestFlight;五条工作线 + NE 50MB 内存闸门;iPad 横屏侧栏布局适配。
docs/ios-ipad-support-design.html
Windows 客户端设计 MD
Windows 端 sing-box 子进程 + wintun 隧道客户端设计。
docs/superpowers/specs/2026-06-21-windows-client-design.md

实现计划 / Plans

设备 & 会话管理 + 每设备流量归因 实现计划(P1–P6)HTML
阅读版;执行真相源为 docs/superpowers/plans/2026-06-29-device-session-management.md(含 checkbox)。P1 设备注册打通 → P2 sessions表+在线/最后登录 → P3 强制退出/清除 → P4 每设备流量 → P5 2FA信任(future) → P6 UI重做。
docs/device-session-management-plan.html
Android 客户端实现计划 MD
11 个任务:Go 1.24.3 工具链 → 构建 libbox.aar → 解析真实 API → Dart 接线 → 修原生编译 → 模拟器端到端 → 统计 → 切节点 → KillSwitch → 真机验证。
docs/superpowers/plans/2026-06-22-android-client.md
iOS + iPad 支持 实现计划 HTML
阅读版;执行真相源为 docs/superpowers/plans/2026-06-22-ios-ipad-support.md(含 checkbox)。6 阶段 12 任务。
docs/ios-ipad-support-plan.html
Windows 客户端实现计划 MD
Windows 客户端的分步实现计划。
docs/superpowers/plans/2026-06-21-windows-client.md
统计体系整改 实现计划(#5)HTML
阅读版;执行真相源为 docs/superpowers/plans/2026-06-24-stats-overhaul.md(含 checkbox)。三期:四端实时统计修复 → 每设备归因+GB综合配额 → 统计页重设计(上聚合·下分设备)。
docs/stats-overhaul-plan.html

知识库 / 调研

全栈设计审查 2026-07(前端/后端/数据库)HTML
核心链路精读式审查,13 项发现分 P0/P1/P2:明文 HTTP、SQLite 零备份(P0);同机换账号 403 死结、disconnect 撤错凭证、用量取走即焚、Redis 重启全员掉线、argon2id OOM(P1);留存/UTC 日界/三时钟口径等(P2)。附「做得好的」与处理顺序建议。
docs/code-review-2026-07.html
开发规范 · 可测试性五支柱 HTML
「怎么写才好测」——开发规范作为可测试性前置条件。五支柱(接缝即接口/契约单源/纯逻辑分离/错误是值/可观测)+ 支柱↔测试层咬合矩阵图 + 反例→真实bug→对应支柱对照表。与测试框架文档咬合。
docs/dev-conventions.html
统一测试框架 · 架构说明 HTML
多端项目可复用的分层测试方法论(L0 契约→L4 E2E)+ 四类诉求(界面一致/交互/数值/后端记账)→层→工具→量化指标映射 + 五张架构图(金字塔/契约接缝/CI 流水线/E2E 拓扑)+ ⑩「已知缺口/测试盲区」单一跟踪源(没测什么·为什么·何时补)。
docs/test-architecture.html
功能 × 测试覆盖清单 HTML
逐功能盘点验证五端是否正确:A 共享逻辑+后端(控制面 21 包/数据面渲染+记账/Flutter 共享),每行「现有能力→已覆盖+怎么覆盖→欠缺→只能人工」;B 平台隧道层五端矩阵 + 每端真连通验收清单(出口IP变化/DNS劫持/分流/记账对账/KillSwitch/切节点)。配套 test-architecture.html 的「逐功能」视角。
docs/feature-test-coverage-checklist.html
流量记账口径 · 连接页实时 vs 统计页累计 HTML
客户端两处"上传/下载"为何对不上:连接页实时来自内核 Clash API 全局吞吐(/traffic+/connections)含直连;统计页累计来自服务端节点 v2ray_api per-user 计数仅代理。差额=直连流量(国内站/分流),设计使然非 bug;附对账口径警示(不能拿连接页含直连的数去对节点计数)。
docs/traffic-accounting-scopes.html
KillSwitch 设计与跨平台能力矩阵 HTML
断网保护 L0–L3 分级模型 + 各平台能力天花板 / 当前实现矩阵。KillSwitch 决策依据。
docs/killswitch-design.html
技术方案(总) MD
Pangolin 整体技术选型与架构方案。
docs/技术方案.md
VPN 内核内嵌 MD
sing-box 内核在各端的内嵌方式调研。
docs/vpn-core-embedding.md
VPN 测试调研 MD
VPN 黑盒测试方法与口径调研。
docs/vpn-testing-research.md
VPN 测试计划 MD
国内外站点矩阵 + 延迟/连通性测试计划。
docs/vpn-test-plan.md

排障 / Runbook

连接页延迟(urltest)· 跨端实现 + 排障 HTML
连接页"延迟"= 内核 urltest(非直连实测)。根因链:服务端配置无 clash_api、libbox 单 client Group 不回调、Dart 广播流抢 EventChannel sink、连接态直连实测假值。各端(macOS/iOS/Android/Windows)注入 clash_api + 本地 HTTP 取法 + 排障打点 + libbox 构建前置(Android 要 JDK 17、包名 io.nekohasekai.libbox)。
docs/connect-latency-urltest.html
CI Runner 设置记录 MD
gitea Actions self-hosted runner 记录:决定用 1 个(mac-pangolin-2,项目级·mac host·label nas·复用 jiu relay)、已删 orphan 的清理命令、launchd 持久化 + 单点韧性(runner 离线 Telegram 告警)。CI 首跑 run #298。
docs/ci-runner.md
macOS 系统扩展 realize 失败(code=4)踩坑复盘 HTML
PacketTunnel 系统扩展无法激活的三个叠加配置 bug 排查与修复。
docs/macos-sysext-realize-troubleshooting.html
P1 macOS 系统扩展 MD
macOS 原生 System Extension 隧道方案说明。
docs/p1-macos-system-extension.md
节点重建检查单 MD
节点重装/重建的操作检查清单。
docs/node-rebuild-checklist.md
Scheduler Runbook MD
调度器运维手册。
docs/runbook-scheduler.md