Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions .github/release-notes.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
## MPider v2.0.0
## MPider v2.0.1

- 新增本地微信推送监测。
- 优化文章下载与限流配置。
- 推送监测与待处理链接分开控制,已保存链接可独立处理。
- 其他体验改进和问题修复。

提供 Windows x64 安装版与便携版。
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@

本页记录面向使用者的功能与已知限制。开发完成、实机验证和正式发布分别说明,发行状态以 [GitHub Releases](https://github.com/areyoubugcoder/mpider/releases) 为准。

## v2.0.1

- 推送监测与待处理链接分开控制,已保存链接可独立处理。
- 其他体验改进和问题修复。

## v2.0.0

- 新增本地微信推送监测。
Expand Down
6 changes: 3 additions & 3 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ members = ["crates/article-md", "crates/core", "src-tauri"]

[workspace.package]
edition = "2021"
version = "2.0.0"
version = "2.0.1"
license = "MIT"
repository = "https://github.com/areyoubugcoder/mpider"

Expand Down
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

[项目官网](https://areyoubugcoder.github.io/mpider/) · [下载客户端](https://github.com/areyoubugcoder/mpider/releases/latest) · [全部版本](https://github.com/areyoubugcoder/mpider/releases) · [使用说明](docs/windows-standalone.md) · [常见问题](docs/faq.md) · [反馈问题](https://github.com/areyoubugcoder/mpider/issues/new/choose) · [演示视频](https://xhslink.cn/o/8c23uHExcT6) · [进群交流](https://qm.qq.com/q/s4JavFxA3e)

> **v2.0.0 · Windows x64 正式开源版**。当前仅验证微信 **4.1.15.56 x64** 的模块与函数指纹;微信升级后需要重新适配。macOS、Linux 不支持本次原生采集。
> **v2.0.1 · Windows x64 正式开源版**。当前仅验证微信 **4.1.15.56 x64** 的模块与函数指纹;微信升级后需要重新适配。macOS、Linux 不支持本次原生采集。

## 什么是账号池?有什么风险?

Expand Down Expand Up @@ -75,7 +75,7 @@ flowchart TD

| 功能 | 使用方式 |
| --- | --- |
| 推送监测 | 后台发现本机微信中的文章链接,通过网页校验后自动去重入库,详见[使用说明](docs/push-monitor.md) |
| 推送监测 | 后台发现本机微信中的文章链接,独立处理已保存链接并去重入库,详见[使用说明](docs/push-monitor.md) |
| 主页识别 | 开启后在微信手动打开公众号主页,登记公众号与会话;识别本身不入库文章 |
| 同步最新文章 | 每个公众号单独获取首页,去重入库,不改变历史检查点 |
| 采集历史文章 | 按追加篇数或截止日期创建任务,支持暂停和检查点续采 |
Expand All @@ -97,17 +97,17 @@ flowchart TD

| 下载文件 | 用途 |
| --- | --- |
| `MPider_2.0.0_x64-setup.exe` | 推荐,NSIS 安装版,支持应用内更新 |
| `MPider_2.0.0_x64_zh-CN.msi` | 中文 MSI 安装版 |
| `MPider-v2.0.0-windows-x64.zip` | 便携版,完整解压后运行 `MPider.exe`,保留旁边的 `runtime/` |
| `MPider_2.0.1_x64-setup.exe` | 推荐,NSIS 安装版,支持应用内更新 |
| `MPider_2.0.1_x64_zh-CN.msi` | 中文 MSI 安装版 |
| `MPider-v2.0.1-windows-x64.zip` | 便携版,完整解压后运行 `MPider.exe`,保留旁边的 `runtime/` |
| `SHA256SUMS` | 核对下载文件的 SHA-256 |

三个客户端包均携带 Python **3.12.10**、Frida **17.23.3**、cryptography **50.0.2** 及所需许可,无需另外安装 Python、Node.js、pnpm 或 Rust。微信和 WebView2 需要自行安装。不要只复制便携包内的 EXE。

安装包附带应用更新签名,用于 MPider 验证更新文件;它不等同于 Windows 开发者代码签名,系统仍可能提示发布者未知。可先核对附件摘要:

```powershell
Get-FileHash .\MPider_2.0.0_x64-setup.exe -Algorithm SHA256
Get-FileHash .\MPider_2.0.1_x64-setup.exe -Algorithm SHA256
```

## 开始采集
Expand Down
4 changes: 4 additions & 0 deletions crates/core/examples/push_monitor.rs
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ async fn main() -> Result<()> {
store.wb_set_policy(policy)?;
let id = store.push_start(Config::default())?;
let runner = tokio::spawn(push_monitor::run(store.clone(), id));
let queue_id = store.push_queue_start()?;
let queue = tokio::spawn(push_monitor::run_queue(store.clone(), queue_id));
let until = tokio::time::Instant::now() + std::time::Duration::from_secs(seconds);
loop {
tokio::time::sleep(std::time::Duration::from_secs(2)).await;
Expand All @@ -52,7 +54,9 @@ async fn main() -> Result<()> {
}
}
store.push_end(id, "stopped", None)?;
store.push_queue_end(queue_id, "paused", None)?;
tokio::time::timeout(std::time::Duration::from_secs(30), runner).await??;
tokio::time::timeout(std::time::Duration::from_secs(30), queue).await??;
Ok(())
}
}
1 change: 1 addition & 0 deletions crates/core/src/store.rs
Original file line number Diff line number Diff line change
Expand Up @@ -378,6 +378,7 @@ impl Store {
conn.execute_batch(native::SCHEMA)?;
conn.execute_batch(workbench::SCHEMA)?;
conn.execute_batch(push_monitor::SCHEMA)?;
push_monitor::migrate(&conn)?;
// 系统日志迁移必须确认成功,禁止因磁盘或权限失败而静默丢失日志字段。
let has_context = conn
.prepare("PRAGMA table_info(app_log)")?
Expand Down
Loading
Loading