Commit Graph
158 Commits
Author SHA1 Message Date
H3CoF6 94c7a099d5 feat(image): 增加可选的自动大图下载功能 2026-04-28 05:54:31 +08:00
2977094657 e93423db42 fix(key): 修复数据库密钥模式识别逻辑
- 新增原始加密密钥与 SQLCipher passphrase 两种密钥模式自动识别
- 通过首页 HMAC 校验确认实际密钥模式,避免错误派生导致解密失败
- 解密输出时清理加密页尾部的 IV/HMAC 保留区
- 增加解密失败时的 key_mode、HMAC 与 SQLite 诊断信息
- 新增单测覆盖两种密钥模式的解密路径
- 更新 README 补充数据库解密兼容性说明
2026-04-27 13:15:44 +08:00
2977094657 ad29c8b251 chore(release): bump version to 1.7.20 2026-04-25 23:37:26 +08:00
2977094657 2f8af245ea feat(export): 支持账号归档 ZIP 导出
- 新增账号归档导出后端接口,支持创建、查询、取消导出任务和下载 ZIP 文件
- 支持按账号打包数据库、元信息文件和资源文件,并使用 ZIP 存储模式提升大文件归档速度
- 前端接入账号归档导出 API,支持导出目录选择、导出内容勾选、进度轮询和取消导出
- 简化全局导出弹窗,将入口聚焦为数据库与资源文件归档导出
- 开启侧边栏导出入口,并补充 README 中的导出说明
2026-04-25 23:37:26 +08:00
2977094657 751c252e88 improvement(import): 支持 wxdump 目录导入并增加导入保护
- 兼容 wxdump 的 output 目录、database/ 和 media/ 结构

- 缺少 account.json 时自动推断账号信息并补充导入预览

- 导入前展示目标账号状态,并拦截源目录与目标目录重叠的情况

- 支持取消导入、已有账号自动备份,以及失败/取消后的回滚恢复

- 补充资源查找兼容逻辑,适配 wxdump 导入后的媒体文件布局
2026-04-24 18:04:21 +08:00
2977094657 8c0eeca4ed chore(release): bump version to 1.7.12 2026-04-23 21:46:20 +08:00
2977094657 0987167c4a fix(key): 支持手动指定微信安装目录并校验 db key 来源
- /api/get_keys 支持传入 wechat_install_path,兼容安装目录与 Weixin.exe / WeChat.exe

- 解密完成后保存 db key 的来源路径与别名,避免历史密钥被错误账号复用

- 解密页按 account + db_storage_path 回填已保存密钥,并补充相关测试覆盖
2026-04-23 21:32:02 +08:00
2977094657 ec2a84af18 improvement(sns): 优化朋友圈导出 2026-04-23 14:51:58 +08:00
2977094657 6bed048948 improvement(sns-export): 支持朋友圈多格式离线导出
- 新增 html/json/txt 导出格式参数
- 为导出结果补充 index 与 manifest 信息
- 补充总动态数和当前联系人进度字段
2026-04-20 15:24:26 +08:00
2977094657 e0e50143c9 improvement(desktop-output): 补充 output 目录迁移进度反馈并完善切换体验
- 将 output 目录迁移改为 worker 异步执行,并补充扫描、复制、校验、回滚阶段进度
- 设置页增加迁移进度展示,支持恢复进行中的状态并展示当前文件/传输体积
- 迁移完成后自动清理旧备份目录,并同步源码/桌面端版本号到 v1.7.10
2026-04-16 21:19:04 +08:00
2977094657 7870cd54fc improvement(sns): 精简朋友圈媒体链路并移除手动挑图入口
- 移除 Server-Timing/X-SNS 阶段透出与前端媒体来源标记
- 移除本地候选图与手动匹配接口及预览交互
- /api/sns/media 默认仅保留远程下载解密路径,未命中直接返回 404
- 将导出所需的本地缓存匹配逻辑下沉到 sns_export_service
2026-04-16 01:19:09 +08:00
2977094657 94a8b124c3 improvement(sns-media): 内置 WeFlow WASM 资源并切换朋友圈图片解密实现
- 内置 wasm_video_decode 资源并纳入打包
- Node helper 优先使用包内 weflow_wasm 目录
- 朋友圈图片远程解密改为走 WeFlow WxIsaac64 全量 XOR
- 补充对应测试并更新纯 Python fallback 说明
2026-04-16 01:18:27 +08:00
2977094657 3b34e786f1 improvement(chat-export): 优化导出取消响应并补充保存进度反馈
- 导出弹层展示实际生成位置、浏览器目录保存进度和取消中状态\n- 导出服务补充取消检查、链路追踪与实时同步暂停恢复\n- 预建媒体索引并减少 emoji 空查找开销,补充相关测试
2026-04-15 01:27:55 +08:00
2977094657 23932bf89c feat(media): 新增表情批量下载步骤并支持并发配置
- 解密页新增表情下载步骤,支持开始/停止、进度展示和结果统计\n- 图片解密与表情下载接口支持并发配置,补充 SSE 进度与结果信息\n- 增加表情目录聚合、缓存校验与媒体下载相关测试
2026-04-15 01:26:44 +08:00
2977094657 1fc937ed7c perf(chat-api): 补充聊天接口追踪并异步化图片读取
- 新增后端 perf trace 工具,覆盖会话、消息、头像和图片接口
- 将图片路径探测、候选收集、解密读取与缓存写入移入线程,减少阻塞
- 补充缓存命中与候选选择追踪,并为图片接口增加 prefer_live
2026-04-14 00:21:02 +08:00
2977094657 839949a544 improvement(log): 补充图片密钥与媒体解密链路调试日志
- 为解密页关键阶段补充调试日志
- 为图片密钥获取流程补充请求、命中和回退日志
- 为媒体密钥保存与批量解密补充有效密钥日志
- 对 AES 信息做摘要输出,便于排查且避免完整泄露
2026-04-13 18:11:25 +08:00
2977094657 f5c3fed181 fix(key): 支持通过 db_storage_path 精确获取当前账号图片密钥
- 前端获取图片密钥时补充透传 db_storage_path / wxid_dir
- 后端支持通过 db_storage_path 反推出目标 wxid_dir
- 本地图片密钥匹配改为账号精确匹配,避免子串误命中
- 切换账号时重置并重新预填密钥,避免跨账号串用旧密钥
- 增加单测,覆盖精确匹配和未完成数据库解密时的远程获取场景
2026-04-13 18:10:53 +08:00
H3CoF6 0711750491 fix(key): 修复单/多账号图片密钥的匹配问题 2026-04-13 03:24:19 +08:00
2977094657 15fa6072e3 feat: 添加媒体解密进度取消功能,优化检测逻辑 2026-04-12 19:44:17 +08:00
2977094657 68b11261cc Merge remote-tracking branch 'origin/main' 2026-04-12 15:56:12 +08:00
2977094657 64e8cf6718 fix(chat): 补充视频号消息 objectId 和 objectNonceId 字段透传
补充 Finder/视频号类型 app message 的 objectId、objectNonceId 解析

在聊天消息接口、搜索结果和导出链路中透传上述字段

前端消息归一化增加 objectId、objectNonceId 字段

新增对应测试,覆盖 type=51 场景
2026-04-12 15:51:00 +08:00
2977094657 52ef2b8ded fix(realtime): 修复前后端分离运行时实时模式校验失败
前后端分离运行时补齐 WCDB sidecar 自动启动链路

在缺少 sidecar 环境变量时自动探测并拉起本地 Electron sidecar
初始化失败时回退到进程内 WCDB 路径,避免直接中断实时模式
服务关闭时回收自动启动的 sidecar 进程,减少残留进程
2026-04-12 15:26:40 +08:00
H3CoF6 f598289939 feat: 更稳定的密钥获取
- 不再维护偏移量/特征码
- 不再hook图片密钥
2026-04-12 03:49:48 +08:00
2977094657 4f9acd3f69 fix(decrypt): 加强解密结果校验并过滤内部数据库
- 新增可用 SQLite 校验,解密失败时返回更明确提示并清理无效输出

- 统一过滤 key_info、FTS 索引库和内部缓存库,修正数据库扫描与账号统计

- 补充解密流和数据库过滤相关测试
2026-04-11 16:57:01 +08:00
2977094657 604e01eb50 fix(realtime): 内置 WCDB sidecar 并切换项目内 DLL
- 桌面端启动时自动拉起 WCDB sidecar,并向后端注入连接参数

- 打包附带 sidecar 脚本与 koffi 运行时

- 改为通过项目内置 WeFlow DLL 处理 realtime 调用,规避宿主校验失败和连接超时
2026-04-11 16:56:42 +08:00
H3CoF6 4b47c1e69c feat: parse last login account info 2026-04-09 01:30:35 +08:00
H3CoF6 73f69f6f14 feat: parse wxgf(wxam) for import data 2026-04-09 01:13:48 +08:00
H3CoF6 0ccd2016e7 feat: 文件选择器 + 信息解析 2026-04-08 16:43:02 +08:00
H3CoF6 ad6031651b feat: 优化导入流程,将导入按钮移至首页并支持目录选择和账号预览 2026-04-08 07:00:53 +08:00
H3CoF6 d64a2e46f7 feat: 新增导入已解密目录功能,支持不走密钥流程导入已解密的数据库和资源 2026-04-08 06:39:06 +08:00
2977094657 655a1fd7f5 feat(chat-media): 修复媒体缓存 2026-04-08 00:21:20 +08:00
2977094657andCodex 1064c5a248 Add detailed chat search click tracing
Co-authored-by: Codex <noreply@openai.com>
2026-04-04 21:45:16 +08:00
2977094657andCodex 624853f483 Add logging and sync guards around chat search decrypt flow
Co-authored-by: Codex <noreply@openai.com>
2026-04-04 20:02:43 +08:00
2977094657 4ba2c75332 feat: improve text chat record loading diagnostics 2026-04-03 18:39:55 +08:00
2977094657 7ae152af33 fix(chat-media): 修复聊天图片缓存降级并刷新当前会话媒体
- 优先使用更高质量的微信图片资源并回写本地缓存
- 图片接口返回 no-store,避免浏览器继续命中旧缓存
- 页面恢复前台时刷新当前会话媒体资源,并补充相关测试
2026-03-30 22:02:09 +08:00
2977094657 697e788318 feat(desktop): 支持自定义 output 目录并迁移现有数据
- 支持在桌面端查看、选择和恢复默认 output 目录
- 安装器记录待应用目录,并在应用启动时自动迁移数据
- 后端支持 output 目录覆盖,补充桌面端与后端相关测试
2026-03-30 22:01:51 +08:00
2977094657 673d1f916a fix(realtime): 修复服务号实时同步写入解密库并优化桌面端运行时兼容性
服务号实时同步改为直接读取 live biz_message 库,避免 gh_* 会话走空的 wcdb_get_messages。

将同步结果写回 output/databases 解密库,并补充异常降级路径。

修复桌面端日志处理与 wcdb_api.dll 的运行时定位问题。
2026-03-28 13:18:22 +08:00
H3CoF6 9a7e0f5854 feat(biz): add biz type 2026-03-28 05:04:12 +08:00
H3CoF6 05cba6c454 fix(biz): fix avatar and cover bug 2026-03-28 04:48:38 +08:00
H3CoF6 46fba98202 fix(biz): fix database_error 2026-03-28 04:33:07 +08:00
H3CoF6 c29b425791 feat(biz): implement parse biz data 2026-03-28 04:16:24 +08:00
2977094657 a94ab83668 feat: support finder cards in chat view 2026-03-26 12:57:50 +08:00
2977094657 c04d515f92 Fix realtime sync writing Msg tables 2026-03-24 17:56:17 +08:00
2977094657 f5f3e85e31 Revert "fix(decrypt): 修复数据库原始密钥解密与设备绑定提示"
This reverts commit bcd8f67c25.
2026-03-24 12:14:18 +08:00
2977094657 dc7ac0a5e4 Revert "fix(decrypt): 修复 SQLCipher 密钥兼容性回归"
This reverts commit 22399f4110.
2026-03-24 12:14:13 +08:00
2977094657 22399f4110 fix(decrypt): 修复 SQLCipher 密钥兼容性回归
- 解密时同时兼容 raw enc_key 与 SQLCipher 派生密钥两种输入形态
- 通过首页 HMAC 自动识别可用密钥模式,避免真实账号密钥被误判为不匹配
- 后续页面解密统一使用识别出的有效密钥,恢复数据库解密流程
- 补充 SQLCipher passphrase 场景回归测试,覆盖此次回归问题
2026-03-23 15:36:39 +08:00
2977094657 11d31ac022 fix(chat): 修复 realtime 同步下 Name2Id 映射缺失
- 将 Name2Id 从随新消息顺带补写调整为按 live WCDB 整表同步\n- 修复输出库中 real_sender_id 无法稳定反查 sender_username 的问题\n- 消除必须删除当前项目数据并重新加载后 Name2Id 才能补全的问题\n- 增加 Name2Id 自愈同步回归测试,覆盖无新消息时的修复场景
2026-03-23 14:38:32 +08:00
2977094657 bcd8f67c25 fix(decrypt): 修复数据库原始密钥解密与设备绑定提示 2026-03-22 19:52:04 +08:00
2977094657 a01dba4a93 fix(chat): 修复群聊置顶系统消息显示名称与导出文案
- 解析 ChatRoomTopMsg 文本/XML 系统消息,识别置顶与取消置顶操作
- 优先使用备注名/联系人名替换 wxid,避免实时消息、历史消息、搜索结果显示原始账号
- 导出 JSON/TXT/HTML 时复用同一套系统消息名称解析逻辑
- 补充系统消息解析与实时消息展示测试,覆盖多种消息载荷格式
2026-03-22 15:34:05 +08:00
2977094657 fb6601251b fix(decrypt): 修复错误账号目录导致的坏库读取问题
- 修正 db_storage 路径扫描逻辑,避免将多账号上级目录误识别为单个账号

- 统一普通解密和流式解密的账号识别与来源写入逻辑

- 为聊天和媒体账号列表增加 SQLite 文件头校验

- 跳过损坏的解密目录,避免聊天页和头像接口继续读取坏库
2026-03-17 12:13:50 +08:00