💡 不会写代码也能用
不要点右上角绿色
Code按钮下载源码。 请到 Release 下载已经打包好的程序,双击即可运行:👉 下载最新版
系统 下载文件 Windows qq-zone-win.exemacOS(Apple 芯片) qq-zone-macos-m-seriesmacOS(Intel) qq-zone-macos-intelLinux qq-zone-linux不确定是哪款 Mac:左上角苹果菜单 →「关于本机」,芯片写着 Apple 就选 M 系列。Windows 若提示「已保护你的电脑」,点「更多信息」→「仍要运行」即可。
QQ 空间里堆着很多人的照片、视频、说说和留言。手动保存又慢,相册还经常变成压缩图,说说和留言板更是只能在网页里翻。本工具用 Go 重写:相册支持 原图 / 原视频 / 实况图 并 保留拍摄信息(EXIF);说说会连同配图、视频、评论、点赞和浏览数一起拉下来;留言板会保存留言、回复、配图和主人寄语。两者都会生成一份 可双击打开的本地时间线网页。自己的空间和好友对你开放的空间都可以备份,手机 QQ 扫码登录 即可。
index.html,双击就能按时间线翻看,不用对着 JSON 发愁。备份完成后生成 index.html,双击用浏览器打开即可,不必再开本程序。
下载文件见上方表格,或打开 Releases 选对应系统。到这里就可以运行了,下面是给要自己编译的人看的。
git clone https://github.com/qinjintian/qq-zone.git
cd qq-zone
./scripts/build.ps1 # Windows
chmod +x scripts/build.sh # 首次需要,赋予脚本可执行权限
./scripts/build.sh # Linux / macOS
编译产物会生成到本地 bin/ 目录。
go build -o bin/qq-zone ./cmd/qq-zone
./bin/qq-zone-win.exe # Windows (amd64)
./bin/qq-zone-linux # Linux (amd64)
./bin/qq-zone-macos-intel # macOS (Intel)
./bin/qq-zone-macos-m-series # macOS (Apple Silicon)
qrcode.png),用手机 QQ 扫一下即可。以前登录过会先列出历史账号,选一个就能继续,不用反复扫码。↑ ↓ 移动,Enter 确认。
index.html,不必重新登录。auto 即可;建议打开增量下载(跳过已有文件)。相册还可按年/月整理、导出元数据。说说和留言板可以选是否额外保存原始接口 JSON,以及结束后是否打开查看页。Enter 开始下载。说说和留言板没有相册勾选,确认选项后即开始拉取。storage/qzone/<QQ号>/album/storage/qzone/<QQ号>/shuoshuo/index.html,可直接双击打开storage/qzone/<QQ号>/liuyanban/index.html,可直接双击打开storage/tasks/
中途想停按一次 Ctrl+C,等当前文件收尾即可。文件都写在程序所在目录的 storage/ 下:
storage/
├── config.json # 并发、增量等偏好
├── tasks/ # 任务记录,失败重试会用到
└── qzone/<QQ号>/
├── album/<相册名>/ # 照片、视频;可选年/月子目录
├── shuoshuo/
│ ├── index.html # 双击打开说说查看页
│ ├── assets/ # 查看页样式和脚本
│ ├── avatars/ # 头像
│ ├── media/ # 说说配图、视频、语音
│ ├── data/ # backup.json 和按年拆开的页面数据
│ └── raw/ # 可选:接口原始 JSON
└── liuyanban/
├── index.html # 双击打开留言板查看页
├── assets/
├── avatars/
├── media/ # 留言和回复里的配图
├── data/
└── raw/ # 可选:接口原始 JSON
下下来的是原图,还是空间里看到的压缩图?
按相册原始分辨率下载,并尽量保留拍摄信息(EXIF)。不是页面上的预览图。
一定要黄钻才能下原图吗?
以 QQ 空间实际开放的权限为准。空间对你可见的原图/视频,工具就会去下;没有权限的相册会被跳过。
视频或实况图失败怎么办?
下载地址失效时会自动换一条再试。仍失败的文件会记进任务记录,可在菜单里选「重试上次失败项」。
好友相册、说说或留言板为什么是空的?
对方没对你开放,或内容是私密的。可先用「查看对我开放的好友」确认哪些空间能进。访客看不见的说说会被跳过;留言板若无权访问,会在查看页顶部提示,不会覆盖你本地已有的备份。
中途按 Ctrl+C 会把文件下坏吗?
按一次后会等当前文件收尾再退出,尽量不留下半截文件。未完成的可以下次增量续传或失败重试。
说说备份下来怎么看?
备份完成后会生成 storage/qzone/<QQ号>/shuoshuo/index.html。直接双击用浏览器打开即可,支持按年份跳转、搜索正文和评论、点开配图。不需要再开本程序,也不需要联网(空间表情小图除外)。菜单里也可以选「查看说说备份」。
留言板备份下来怎么看?
备份完成后会生成 storage/qzone/<QQ号>/liuyanban/index.html。同样双击打开,可按年份浏览、搜索留言和回复、筛选有图或私密。主人寄语会显示在顶部。私密留言只保存占位说明,看不到的正文不会写进本地。
浏览数、点赞怎么和空间网页对上?
说说列表本身不含赞和浏览,工具会另外去拉,再写进查看页。旧备份若缺这两项,再跑一次增量备份即可补上(已下载的配图仍会跳过)。点赞人特别多时,名单只保留比较前面的一批(大约 60 人),总人数仍显示「共 N 人觉得很赞」。
更早的说说为什么没有?
空间有时会把很久以前的说说封存,或对访客不可见。工具会把已经能拉到的部分存下来,并在查看页顶部提示。开通相关权限后可再跑一次增量备份。
登录会不会把账号密码交给别人?
不会。在你自己电脑上扫码,和网页版 QQ 空间同一套登录。登录信息和备份都只写在本机 storage/ 里,不会上传到别处。
这是腾讯官方工具吗?
不是。这是个人开源项目,未与腾讯关联。请只备份你有权访问的内容。遇到问题欢迎到 Issues 反馈。
文件保存在哪?
相册:storage/qzone/<QQ号>/album/。说说:storage/qzone/<QQ号>/shuoshuo/。留言板:storage/qzone/<QQ号>/liuyanban/(其中 index.html 是查看页)。任务记录在 storage/tasks/。
日常使用可以跳过。想改代码时:登录和空间协议在 internal/qzone,相册/说说/留言板备份在 internal/app,下载在 internal/net,终端菜单在 internal/cli。
| 类别 | 选用方案 |
|---|---|
| 核心语言 | Go 1.25+(以仓库 go.mod 为准) |
| 依赖注入 | uber-go/fx |
| 进度渲染 | vbauerster/mpb/v8 |
| HTTP 客户端 | go-resty/resty/v2 |
| 交互式菜单 | survey/v2 |
| 频率限制 | golang.org/x/time/rate |
| 表格渲染 | olekukonko/tablewriter |
| 日志系统 | uber-go/zap |
| 并发控制 | golang.org/x/sync/errgroup |
| JSON 解析 | gjson |
.
├── .github/ # GitHub Actions 自动化构建与发布流水线
├── bin/ # 编译产物(不入库,可执行文件请前往 Releases 下载)
├── cmd/ # 程序入口
│ └── qq-zone/ # 主程序入口
├── docs/ # 项目文档与演示资料
├── internal/ # 私有业务逻辑
│ ├── app/ # 核心引擎(相册下载 + 说说/留言板备份)
│ │ └── viewer/ # 离线时间线页面(HTML/CSS/JS,说说与留言板共用)
│ ├── cli/ # 终端交互界面
│ ├── net/ # 网络请求封装
│ ├── pkg/ # 公共工具包 (Logger, Util)
│ └── qzone/ # QQ 空间协议实现
├── scripts/ # 跨平台编译脚本(支持 Windows 下构建全平台二进制程序)
├── storage/ # 数据存储(日志、相册、说说、留言板、任务记录、配置)
└── go.mod # 依赖管理
发版时推送 v* 标签会走 GitHub Actions,编译 Windows / Linux / macOS 四个文件并挂到 Release。
如果这个项目对你有帮助,欢迎点一个 ⭐ Star。
Made with ❤️ by qinjintian