Skip to content
 
 

Repository files navigation

空间归档 (QzoneArchive)

Rust Tauri Vue License

将 QQ 空间动态、照片、视频与互动记录安全归档到本地的桌面 / 移动端工具。

功能

  • 完整归档:还原原始动态正文、图片、视频和评论,按「本人动态」「好友动态」「留言」分类整理
  • 断点续传:中断后自动从上次位置继续,已归档的内容不会丢失
  • 频率保护:每 10 分钟最多请求 300 页,触发限流后安全暂停,倒计时结束即可继续
  • 互动还原:查看每条动态的点赞用户和评论回复,支持互动排行榜
  • 本地存储:所有数据以 SQLite 保存在本地应用数据目录,不上传任何服务器
  • HTML 导出:支持按分类或选中导出为独立 HTML 文件,可离线浏览
  • 媒体时光轴:按年份浏览归档的照片和视频,视频支持按需缓存
  • 暗色模式:跟随系统或手动切换
  • 跨平台:Windows / macOS / Linux 桌面端 + Android 移动端

截图

仪表盘 归档内容
仪表盘 归档内容
媒体时光轴 归档任务
媒体时光轴 归档任务

技术栈

技术
桌面框架 Tauri 2
前端 Vue 3 + TypeScript + Vite
UI 组件 PrimeVue 4
状态管理 Pinia
后端数据库 SQLite (rusqlite)
HTTP 客户端 reqwest (rustls-tls)
打包 NSIS (Windows) / Android APK

开发

前置要求

启动开发环境

# 安装前端依赖
npm install

# 启动开发服务器(桌面端)
npm run tauri dev

# Android 构建
npm run tauri android dev

构建

# Windows NSIS 安装包
npm run tauri:build:windows

# Windows NSIS + MSI
npm run tauri:build:windows:all

# Android APK
npm run tauri android build

项目结构

├── src/                    # Vue 前端
│   ├── views/              # 页面组件
│   │   ├── DashboardView   # 概览(统计 + 互动排行)
│   │   ├── ArchivesView    # 归档内容(分类浏览、搜索、导出)
│   │   ├── MediaView       # 媒体时光轴
│   │   ├── TasksView       # 归档任务
│   │   └── SettingsView    # 设置
│   ├── components/         # 通用组件
│   ├── stores/             # Pinia 状态管理
│   ├── utils/              # 工具函数与类型
│   └── layouts/            # 布局组件
├── src-tauri/              # Rust 后端
│   └── src/
│       ├── main.rs         # 入口
│       ├── lib.rs          # Tauri 命令注册
│       ├── qlogin.rs       # QQ 登录(二维码 + 网页)
│       ├── qzone.rs        # QQ 空间接口
│       └── archive.rs      # 归档引擎 + 数据库
└── src-tauri/capabilities/ # Tauri 权限配置

原理

数据来源

归档基于 QQ 空间的移动端互动列表接口 (mobile.qzone.qq.com/get_feeds)。该接口返回当前账号收到的所有互动通知——包括好友发布的新动态、点赞、评论、回复、留言等。程序从中提取原始动态内容并存入本地数据库。

没有被点赞或评论过的动态无法被恢复,因为它们不会出现在互动列表中。

登录方式

  • 二维码登录:调用 QQ 空间移动端扫码登录流程,全程不接触密码
  • 网页登录(桌面端):打开独立窗口加载 QQ 登录页,通过 WebView Cookie API 提取登录凭证

登录凭证(Cookie)仅存储在 Rust 后端内存中,不会写入控制台或日志。

注意事项

  • 请只归档本人或已获得授权的账号内容
  • 归档过程中不要切换 QQ 客户端账号,否则可能有冻结风险
  • 出现频繁提示时建议换个时间段继续,程序支持断点续传
  • QQ 的视频签名有时效性,过期后需要重新归档以更新视频地址
  • 数据默认保存在应用数据目录,建议定期将重要资料额外备份

免责声明

本软件是用于整理和备份个人 QQ 空间资料的本地工具,与腾讯公司、QQ、QQ 空间及其关联主体不存在隶属、授权、合作关系。使用者应在合法授权范围内使用,并自行承担使用风险。详见应用内《免责声明与使用须知》。

赞赏

如果这个项目对你有帮助,欢迎请开发者喝杯咖啡 ☕

微信 支付宝
微信赞赏 支付宝赞赏

许可证

本项目采用 GPLv3 许可证。

About

将 QQ 空间历史动态、照片、视频与互动记录安全归档到本地的桌面 / 移动端工具。

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages