Releases: serenashenn3-art/wechat-forensic-pro
Releases · serenashenn3-art/wechat-forensic-pro
Release list
v2.0.5 — Pluggable Cloud Upload (6 adapters + open plugin system)
v2.0.5 — Pluggable Cloud Upload (6 adapters + open plugin system)
v2.0.5 — 2026-08-02
Highlights
- 🧩 Pluggable uploader architecture —
UploaderBaseabstract class with 6 built-in adapters (baidu / aliyun / s3 / webdav / sftp / local); open plugin mechanism for any custom cloud - 🌐 S3-compatible out of the box — covers AWS S3, Tencent COS, Qiniu S3 mode, Aliyun OSS-S3, MinIO, Cloudflare R2, self-hosted Ceph — just change
endpoint_url - 📁 WebDAV / SFTP / Local — 坚果云 / Nextcloud / ownCloud / OneDrive(WebDAV); 自建 SFTP; NAS 挂载 / USB 移动硬盘
- 🔌 Zero-config plugin discovery — drop a
.pyfile into~/.config/wechat-forensic/plugins/uploaders/and it just works (no setuptools entry_points) - ⚙️ Flexible configuration — YAML / JSON file, env vars, or inline
WECHAT_FORENSIC_UPLOAD_<NAME>_<FIELD>=...patterns - 📋 Audit trail enhancement —
operations[].uploadnow includesmessage,remote,algorithmfor judicial review
What's new
| Area | Change |
|---|---|
wechat_forensic/uploader.py |
Rewritten — UploaderBase + 6 adapters + UploaderRegistry + load_config / get_config_for |
wechat_forensic/cli.py |
--upload-config <path> flag, --upload-list flag, --upload accepts any name; deprecation warnings on old static methods |
wechat_forensic/__init__.py |
Version bump to 2.0.5 |
pyproject.toml |
Version 2.0.5; 4 new extras: [s3] / [webdav] / [sftp] / [yaml]; [all] includes all cloud SDKs |
examples/uploaders/tencent_cos.py |
New — complete Tencent COS plugin |
examples/uploaders/qiniu.py |
New — complete Qiniu Kodo plugin |
examples/uploaders/README.md |
New — plugin development guide + config schema |
tests/test_uploader.py |
New — 21 tests covering registry, plugins, config, error handling, CLI |
tests/test_cli.py |
Bumped version assertion 2.0.3 → 2.0.5 |
README.md |
New "Cloud Upload" chapter with quickstart + plugin template |
AGENTS.md |
New "可插拔云盘" section + security requirements for plugin authors |
CHANGELOG.md |
v2.0.5 entry with full migration guide |
Built-in uploaders (6)
--upload |
Protocol | Required extra | Typical providers |
|---|---|---|---|
baidu |
bypy CLI | [baidu] |
百度网盘 |
aliyun |
oss2 | [aliyun] |
阿里云 OSS |
s3 |
boto3 (S3 API) | [s3] |
AWS S3 · 腾讯 COS · 七牛 · MinIO · Cloudflare R2 · 自建 Ceph |
webdav |
webdavclient3 | [webdav] |
坚果云 · Nextcloud · ownCloud · OneDrive(WebDAV) |
sftp |
paramiko | [sftp] |
自建 SFTP · 树莓派 NAS |
local |
stdlib only | (none) | NAS 挂载 · USB 移动硬盘 · 第二块硬盘 |
Quick start — any S3-compatible cloud
# ~/.config/wechat-forensic/upload.yaml
s3:
endpoint_url: https://cos.ap-guangzhou.myqcloud.com
region: ap-guangzhou
bucket: example-1250000000
access_key: AKIDxxxxxxxxxxxxxxxxxxxx
secret_key: xxxxxxxxxxxxxxxxxxxxxxxx
prefix: wechat_forensic/wechat-forensic --upload s3 --upload-config ~/.config/wechat-forensic/upload.yamlPlugin template (10 lines)
from wechat_forensic.uploader import UploaderBase
class MyCloudUploader(UploaderBase):
name = "my-cloud"
display_name = "My Company Cloud"
required_deps = ["my-sdk"]
def upload(self, file, logger=None, config=None):
# your logic
return self._return_success("remote://path", {"extra": "info"})Save to ~/.config/wechat-forensic/plugins/uploaders/my_cloud.py → done.
Verification
pip install -e ".[all]"
pytest tests/ -q # 50 passed (29 → 50, +72%)
wechat-forensic --version # wechat-forensic 2.0.5
wechat-forensic --upload-list # show 6 built-in adaptersCompatibility
- 100% backward compatible — old
--upload baidu/aliyun/nonestill work Uploader.baidu/aliyunstatic methods preserved, emitDeprecationWarning- Recommended migration:
Uploader.baidu(f)→UploaderRegistry().get("baidu").upload(f) - Report JSON schema:
operations[].uploadgains 3 optional fields (message/remote/algorithm) — readers must handle their absence (default tonull)
Legal
- MIT license (code grant) — unchanged
- End-use governed by
AGENTS.md+ local law — unchanged - Never use on unauthorized devices.
Full Changelog: https://github.com/serenashenn3-art/wechat-forensic-pro/blob/main/CHANGELOG.md
✨ Generated via GitHub API · 2026-08-02
v2.0.4 — i18n, AI Agent Skills, diagrams
v2.0.4 — 2026-08-02
Highlights
- 🌐 Bilingual README —
README.md(English) +README.zh-CN.md(简体中文), bidirectional links - 🤖 5 AI Agent Skill manifests — Kimi Work, Codex, Claude, Hermes, OpenClaw (each can load this project independently)
- 🖼 3 SVG diagrams (overview / workflow / compliance) — natively rendered on GitHub
- ✅ 29/29 tests pass, 0 broken cross-links
What changed
| File / Area | Change |
|---|---|
README.md |
Rewritten in English |
README.zh-CN.md |
New — full Simplified Chinese version |
skills/SKILL.md |
New — core skill manifest (shared by all platforms) |
skills/kimi-work/SKILL.md |
New — Moonshot Kimi Work adapter |
skills/codex/SKILL.md |
New — OpenAI Codex adapter |
skills/claude/SKILL.md |
New — Anthropic Claude adapter |
skills/hermes/SKILL.md |
New — Nous Research Hermes adapter |
skills/openclaw/SKILL.md |
New — OpenClaw sandbox adapter |
skills/manifest.json |
New — unified metadata for tool auto-discovery |
assets/diagrams/overview.svg |
New — end-to-end architecture diagram |
assets/diagrams/workflow.svg |
New — 5-step forensic workflow diagram |
assets/diagrams/compliance.svg |
New — ISO 27037 / 27042 / RFC 3227 / NIST 800-86 framework |
AGENTS.md |
Links to all 5 platform skills; embeds workflow diagram |
CHANGELOG.md |
v2.0.4 entry |
Compatibility
- CLI usage: 100% backward compatible (no breaking changes)
- Report JSON schema: v2.0.3 → v2.0.4 (additive; old fields unchanged)
- All 29 tests pass.
Verification
pip install -e ".[all]"
pytest tests/ -q # 29 passed
wechat-forensic --version # wechat-forensic 2.0.3 (report schema v2.0.4)Legal
- MIT license (code grant) — unchanged
- end-use governed by
AGENTS.md+ local law — unchanged - Never use on unauthorized devices.
Full Changelog: https://github.com/serenashenn3-art/wechat-forensic-pro/blob/main/CHANGELOG.md
v2.0.3 — Compliance Hardening (Chain of Custody · Digital Signature · WeChat DB Disclosure)
v2.0.3 — Compliance Hardening (Chain of Custody · Digital Signature · WeChat DB Disclosure)
v2.0.3 — 2026-08-01
Highlights
- 🔒 Chain of Custody — full ISO/IEC 27037:2012 template (case_id, evidence_id, write_blocking, transfer_chain, storage, disposal)
- ✍️ Digital signature — HMAC-SHA256 (built-in) + RSA-PSS-SHA256 (optional, for judicial forensics)
- 📋 Compliance framework — references ISO 27037 / 27042 / RFC 3227 / NIST SP 800-86
- 📂 WeChat path table — macOS sandbox full path, iOS UDID note, Android 11+ Scoped Storage permission, EnMicroMsg.db SQLCipher disclosure
- ⚖️ License clarification — MIT scope (code grant) separated from end-use (three independent layers)
What changed
| File / Area | Change |
|---|---|
wechat_forensic/security.py |
New — Chain of Custody template, HMAC/RSA sign, write-blocking guide |
wechat_forensic/report.py |
Rewritten — case_id / evidence_id params, compliance section, disclaimer section |
wechat_forensic/config.py |
Full macOS sandbox path; iOS UDID note; Android 11+ permissions; EnMicroMsg.db SQLCipher key derivation |
wechat_forensic/cli.py |
New flags: --case-id / --evidence-id / --sign |
README.md |
Restructured into 5 sections (Quick Start / Install / Usage / Output / Limits) |
LICENSE |
"SCOPE OF LICENSE" section — MIT code grant + end-use separation |
CHANGELOG.md |
v2.0.3 entry |
tests/ |
29 cases, covering new report schema / signature / path table / config |
Compliance
- ISO/IEC 27037:2012 — Identification, collection, acquisition, preservation of digital evidence
- ISO/IEC 27042:2015 — Analysis and interpretation of digital evidence
- RFC 3227 — IETF best practices (Use copies, avoid contamination, record everything)
- NIST SP 800-86 — Forensic process integration
Compatibility
- CLI usage: 100% backward compatible (all new flags have defaults)
- Report JSON schema: v2.0.1 → v2.0.3 BREAKING (tool moved from string to dict — readers must update from
data["tool"]todata["tool"]["name"]) sign_reportdefault HMAC mode (no new dependency); RSA mode requirespip install cryptography
Verification
pip install -e ".[all]"
pytest tests/ -q # 29 passed
wechat-forensic --version # wechat-forensic 2.0.3Legal
- MIT license (code grant) — unchanged
- end-use governed by
AGENTS.md+ local law — unchanged - Never use on unauthorized devices.
Full Changelog: https://github.com/serenashenn3-art/wechat-forensic-pro/blob/main/CHANGELOG.md
✨ Generated via GitHub API · 2026-08-02