106 Commits

Author SHA1 Message Date
jock 28feff2095 v0.27.1 v0.27.1 2026-04-20 23:16:54 +08:00
jock 9b14ea4630 fix: Windows 证书检测仅认 Trusted Root store,覆盖 LocalMachine\Root
之前 is_certificate_installed 在 Windows 下会遍历 MY / ROOT / CA 三个 store,
任一命中即返回 True。但浏览器 / OS 验证 HTTPS 信任链只认 ROOT:
- 证书放在 MY (Personal) 里 → 我们误判已安装,面板绿灯
- 浏览器从 ROOT 里找不到信任锚 → 报"你的连接不是专用连接"
导致用户面板看似成功但实际抓不到也连不上。

同时 wincertstore 默认仅打开 CurrentUser 的 stores,用户如以管理员权限执行
certutil -addstore root(证书落到 LocalMachine\Root)则完全漏查。

改为调用 certutil 子进程,分别查 LocalMachine\Root(默认)与 CurrentUser\Root
(加 -user),按 SHA-1 指纹比对。regex 同时兼容中文 / 英文 Windows 输出与
全角冒号边缘情况。wincertstore 不再使用,从 requirements.txt 移除。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 23:16:44 +08:00
jock 9e46b9b74d v0.27.0 v0.27.0 2026-04-20 14:00:49 +08:00
jock e4978de9b9 docs: 更新 README 对齐近期代码变更
- 使用段:说明 websocket 地址变为 wss://,明确 https 与 http://localhost 前端都支持,
  新增 Firefox 独立信任库的导入指引
- 证书安装命令:Windows 下拆成 cmd / PowerShell 两条,路径加引号兼容带空格的用户名
- 新增"源码运行"章节,三步启动本地调试(venv + 安装依赖 + python main.py)
- 常见问题:由 2 条扩到 5 条,覆盖端口占用、证书未装、HTTPS 探测失败、前端连 wss 失败、日志位置
- 功能说明:刷新成当前实际流程(指纹比对、自动签发 wss、真实 HTTPS 探测、凭证恢复)
- 构建说明:备注 cryptography 是 mitmproxy 传递依赖
- todo:澄清 wss 叶子证书已自动,CA 信任安装仍待做
2026-04-20 13:53:45 +08:00
jock 3bf0b1aaa2 fix: 改善启动失败反馈、Ctrl+C 立退与 Windows 兼容性
- main: Ctrl+C 时直接 SIGKILL 所有 daemon 子进程,跳过 mitmproxy graceful shutdown
  与 mitmdump 重启循环里的 time.sleep(3),实现秒退
- main: 启动失败时透传子进程真实错误行(端口/CA 缺失/文件权限等),告别"请切换端口后重试"
  一刀切提示;Windows 下等用户按回车再退出,防止 PowerShell/双击启动窗口闪退
- mitm: start() 返回 (proxy_address, error_line);mitmdump 重启循环处理 KeyboardInterrupt
- watcher: start() 返回 (ws_address, queue, error_line);将 wss 证书生成失败纳入快速失败识别
- utils: check_system_proxy 修复 KeyError — Windows 下 getproxies() 可能返回仅含 'no' 等
  非 http/https key 的字典,旧写法 proxy_obj.keys() < {'http', 'https'} 是真子集判断,
  会漏掉这些场景继续访问 proxy_obj['http'] 引发崩溃
- ui/startup: 证书安装命令里 %userprofile% 在 PowerShell 下不会展开导致
  certutil 报 ERROR_PATH_NOT_FOUND;改为 Python 侧展开为绝对路径,cmd/PowerShell/bash/zsh
  均可直接粘贴执行,同时用双引号包住路径兼容带空格的用户名
2026-04-20 13:53:45 +08:00
jock 8e073592a7 fix: 修复代理假绿灯、wss 支持、并发与重启数据丢失问题
- utils: 用真实 HTTPS 探测替代仅走本地的 mitm.it 检查,证书不受信/上游不可达时给出具体原因
- cert: 证书检测按 SHA-1 指纹比对(非仅名字),旧 CA 残留不再误判为已安装
- cert: 新增 ensure_wss_cert,用本机 mitmproxy CA 按需签发 wss 叶子证
- watcher: 切换到 wss://;ws_clients 加锁 + 迭代前快照,根治 set 并发崩溃与幽灵客户端
- watcher: notify_clients 加锁串行化;JSONDecodeError 独立兜底
- watcher: 端口占用错误写回 stdout,父进程不再空等 10 秒
- credential: running() 钩子加载旧 credentials.json,mitmdump 重启时不再清空历史凭证
- mitm: 启动前清除 HTTP(S)_PROXY 环境变量,避免 mitmproxy 把自己当上游代理产生死循环
- mitm: 端口占用匹配改大小写不敏感
2026-04-20 13:53:45 +08:00
jock 9d7a96915c update 2026-01-21 18:12:16 +08:00
jock fb866c3213 update 2025-11-18 17:38:57 +08:00
jock 0cbd98256f update 2025-10-23 09:55:16 +08:00
jock 5ff821432a update 2025-09-03 09:50:40 +08:00
jock b2eb6adb42 v0.26.4 v0.26.4 2025-08-31 17:09:30 +08:00
jock ef6ef51907 fix windows encoding bug 2025-08-31 17:09:06 +08:00
jock 6925760fe1 v0.26.3 v0.26.3 2025-08-29 01:06:22 +08:00
jock ac36503c7b 修复windows打包命令 2025-08-29 01:05:56 +08:00
jock 49779c5471 v0.26.2 v0.26.2 2025-08-29 01:03:33 +08:00
jock 26bd9fe68f update 2025-08-29 01:03:07 +08:00
jock d34476a29c v0.26.1 v0.26.1 2025-08-11 17:03:18 +08:00
jock a6ff473242 修复依赖问题 2025-08-11 17:02:27 +08:00
jock 018fcb0267 v0.26 v0.26 2025-08-11 15:46:20 +08:00
jock f2a74493bd credentials中增加name和avatar字段的解析 2025-08-11 15:43:17 +08:00
jock 253fadb43f update 2025-07-03 17:49:27 +08:00
jock a9ad0c5f4f v0.25.4 v0.25.4 2025-07-03 17:20:55 +08:00
jock b9ab0a832a update 2025-07-03 17:20:41 +08:00
jock 155d19cbf3 v0.25.3 v0.25.3 2025-07-03 17:16:09 +08:00
jock 84f33ecf9e mitm进程增加重启 2025-07-03 17:06:32 +08:00
jock d77b70e5e6 v0.25.2 v0.25.2 2025-07-03 14:27:21 +08:00
jock 4190aa1539 修复打包命令 2025-07-03 14:26:50 +08:00
jock fd4a740637 v0.25.1 v0.25.1 2025-07-03 14:23:23 +08:00
jock 9ae3e2925d update 2025-07-03 14:22:38 +08:00
jock 6e2df3e7f2 v0.25 v0.25 2025-07-03 11:50:59 +08:00
jock 8c50f71dbe 优化代理检测 2025-07-03 11:50:13 +08:00
jock b8299a164e update 2025-07-03 06:52:19 +08:00
jock ceb395170c v0.24 v0.24 2025-07-02 17:35:18 +08:00
jock 3b722b74a9 可指定websocket端口 2025-07-02 17:33:52 +08:00
jock 6bab356d8b v0.23 v0.23 2025-07-02 15:11:28 +08:00
jock 12fdfdca78 增加客户端与Credentials数显示 2025-07-02 15:10:40 +08:00
jock 4a444e98ba 修复bug v0.22.1 2025-07-02 13:28:13 +08:00
jock 2cca9c2fff v0.22 v0.22 2025-07-02 11:40:17 +08:00
jock 7497b15d49 支持ipv6 2025-07-02 11:39:49 +08:00
jock c5b3ac85e0 v0.21 v0.21 2025-06-30 18:35:31 +08:00
jock a223fc8260 重构 2025-06-30 18:34:47 +08:00
jock ea5587542b update 2025-06-19 17:44:12 +08:00
jock 0b678382df update 2025-06-18 08:01:10 +08:00
jock 3d6d1b2239 update ui v0.20 2025-06-17 21:05:50 +08:00
jock 1cc607fbd0 update 2025-06-13 14:20:55 +08:00
jock 3ba013ba97 update 2025-06-12 17:54:09 +08:00
jock f7570482eb v0.19 v0.19 2025-06-12 17:45:30 +08:00
jock 052c465dfd update 2025-06-12 17:45:11 +08:00
jock b7830daed0 update 2025-06-12 17:41:14 +08:00
jock 5e679c5141 update 2025-06-12 17:32:12 +08:00