ArchiveBox 是开源自托管网页归档工具,从书签/历史/Pocket/Pinboard/RSS 导入 URL,自动保存 HTML、JS、PDF、媒体到本地。Python + Django 全栈,Docker 一键部署,支持 WARC 格式,28k Stars 成熟稳定,MIT 协议完全免费。

🎤 引言

2024 年 Reddit 把 Pocket 应用直接关停,无数用户的收藏夹一夜蒸发;某个论坛里收藏的「深度好文」作者随手删稿;同事分享的行业报告链接半年后 404;浏览器历史记录清空后想找回三年前那个资源页面——

这就是所谓的 link rot(链接腐烂)——互联网的「集体失忆症」。

GitHub 28k Stars 的 ArchiveBox/ArchiveBox 是这个问题的标准答案——开源自托管网页归档工具,从浏览器书签、Pocket、Pinboard、RSS、历史记录导入 URL,完整保存 HTML / JS / CSS / PDF / 媒体到本地,附带搜索索引和全文检索。

截至 2026-07-26,项目已稳定维护 9 年(2017-05 首发),1.6k Forks + 169 open issues,是 self-hosted 圈里公认的「网页时光机」标杆。


⭐ 核心功能

1. 多源导入

ArchiveBox 不只是「粘贴 URL 一键归档」,它支持从各种常用服务导入待归档链接:

  • 浏览器书签:Chrome / Firefox / Safari / Edge 一键导出 HTML 导入
  • Pocket / Pinboard / Instapaper:导出 CSV / JSON 批量导入
  • RSS / Atom Feed:订阅源自动拉取新条目
  • 浏览器历史:Chrome history.sqlite / Firefox places.sqlite 直接导入
  • txt 链接列表:一行一个 URL 即可
  • 其他 ArchiveBox 实例:跨实例同步归档

实测从 Chrome 导出 800 条书签 → ArchiveBox 入队 → 后台依次抓取 → 全部跑完大约 6-8 小时(取决于网速和并发数)。

2. 多 extractor 多格式归档

每个 URL 不只保存 HTML 页面,而是 同时调用多个 extractor 把不同形态都拉一份:

  • wget — 完整站点镜像(含 HTML / CSS / JS / 图片)
  • SingleFile — 单文件 HTML(所有资源打包到一个 .html)
  • headless Chrome — 渲染后的最终页面(处理 JS 动态加载)
  • readability — 提取正文(去除广告 / 导航 / 干扰元素)
  • media — 单独下载视频 / 音频(依赖 yt-dlp)
  • pdf — 用 Chromium 渲染 PDF 版
  • screenshot — 页面截图(PNG)
  • dom — 原始 DOM 序列化
  • title / favicon / headers — 元数据

一个页面归档下来可能产生 10+ 个文件,完整覆盖「未来想重新访问」的所有可能。

3. WARC 标准格式

ArchiveBox 用 WARC(Web ARChive)格式保存原始 HTTP 响应,符合互联网档案馆(Internet Archive)和 Wayback Machine 的行业标准。

好处是:

  • 归档数据可移植——导入 Internet Archive 或其他 WARC 工具都能用
  • 包含完整的 HTTP headers(cookies、redirect chain 都能复现)
  • 法律 / 学术 / 数字保存场景的合规格式

如果你的归档有一天需要举证(比如诉讼取证、学术引用),WARC 是最被认可的格式。

4. 内置 Django Web UI + 全文搜索

archivebox server 0.0.0.0:8000 启动 Web 后台:

  • 搜索框:SQLite FTS5 全文搜索,可搜标题 / 正文 / URL
  • 时间线视图:按归档日期浏览
  • 标签 / 收藏夹:手动给重要页面打标签
  • 截图墙:可视化浏览归档页面缩略图
  • 导出 / 分享:单页面分享链接,可发给朋友或嵌入博客

UI 朴素但功能完整,2025 后的新版用 Django + HTMX 写了现代化的实时刷新。

5. 增量抓取 + 重试机制

ArchiveBox 跑起来后是「常驻 worker」模式:

  • 新 URL 入队自动后台抓取(可配置并发数)
  • 抓取失败的 URL 自动重试(指数退避)
  • 已归档的页面自动跳过(按 URL + content hash 去重)
  • 支持「定期重新归档」——跟踪页面变化

对 RSS 订阅场景特别友好:把 feed URL 加进去,ArchiveBox 会按 cron 节奏抓取新条目,零人工干预。


📥 安装与使用

环境要求

  • Docker + Docker Compose(推荐)
  • 或 Python 3.11+ / Node.js 18+(自行部署)
  • SQLite(默认)/ Postgres(可选)
  • Chromium / Chrome / Firefox(用于 headless 渲染)
  • yt-dlp(用于视频归档)

Docker Compose 一键部署(推荐)

git clone https://github.com/ArchiveBox/ArchiveBox.git
cd ArchiveBox
docker compose up -d

默认监听 0.0.0.0:8000,首次访问 http://your-ip:8000 进入管理后台。

添加 URL 归档

# 单条 URL
docker compose run archivebox add 'https://example.com'

# 批量从 txt 文件
docker compose run archivebox add < urls.txt

# 从 Pocket 导出
docker compose run archivebox add < pocket-export.csv

启动 Web UI

docker compose up

浏览器打开 http://your-ip:8000,搜索、浏览、导出归档。

配置文件

# ArchiveBox.conf.yml
TIMEOUT: 60
CONCURRENCY: 8
CHECK_SSL_VALIDITY: true
SAVE_WARC: true
SAVE_PDF: true
SAVE_SCREENSHOT: true
SAVE_MEDIA: true

官方文档:https://github.com/ArchiveBox/ArchiveBox

项目仓库:GitHub - ArchiveBox/ArchiveBox


🎯 适用场景

  • 链接收藏党 / 信息囤积者:Pocket 用户、Notion Web Clipper 重度用户,担心哪天服务关闭。
  • 学术研究者 / 调查记者:引用网页材料做研究 / 报道,需要归档「证据」级别的网页快照。
  • 企业知识管理:把团队共享的行业资讯、内部文档链接定期归档,防止 404。
  • 个人 / 家庭数字遗产:把家庭照片墙、亲友博客、老网站归档作为「数字记忆」保存。
  • RSS 重度用户:用 RSS 订阅了大量博客 / 新闻源,ArchiveBox 自动后台归档每条新文章。
  • 隐私敏感者:不愿把浏览历史 / 收藏夹交给第三方云服务,全部本地存储。

不太适合:纯实时性新闻(归档有延迟);超大规模网站(百万级 URL 单实例会卡,需要分布式);需要频繁归档视频流媒体(版权风险 + 存储爆炸)。


🔍 对比 / 替代方案

工具部署方式输入源归档完整度搜索WARC维护活跃度协议
ArchiveBoxDocker / Python9+ 源⭐⭐⭐⭐⭐✅ FTS5⭐⭐⭐⭐⭐(9年)MIT
Wayback Machine云端(IA)URL / 爬虫⭐⭐⭐⭐⭐⚠️ 外部⭐⭐⭐⭐⭐AGPL
Perma.cc云端(学术)URL⭐⭐⭐⚠️ 外部⭐⭐⭐⭐AGPL
WallabagDockerRSS / 手动⭐⭐⭐⭐⭐⭐⭐MIT
LinkwardenDocker手动 / 浏览器扩展⭐⭐⭐⭐⭐⭐AGPL
ShioriDocker手动 / 浏览器扩展⭐⭐⭐⭐⭐MIT

ArchiveBox 的甜蜜点非常清晰:多 extractor 全格式归档 + WARC 标准 + 自托管可控 + 9 年成熟稳定。Wayback Machine 是行业天花板但无法自托管;Perma.cc 偏学术圈准入门槛高;Wallabag 是「类 Pocket」应用而非「网页归档」工具;Linkwarden / Shiori 主要做书签管理,归档深度不及 ArchiveBox。

横向对比 Wallabag:ArchiveBox 的核心是「完整保存网页到本地」,Wallabag 是「简化版只读视图」,对真正想 100% 还原原页面的需求 ArchiveBox 没对手。

诚实缺点:GitHub 显示 169 open issues 比同类项目高一截,活跃维护但 bug 修复节奏不算快;Docker 镜像含 Chromium / FFmpeg / yt-dlp 等大块依赖,初次拉镜像 1GB+ 起步;存储需求爆炸(每页平均 5-50MB,10 万 URL 轻松破 TB),需要定期清理或迁移到大容量盘。


⚠️ 注意事项

  1. 存储爆炸预警:每归档一个页面平均 5-50MB(含 PDF + 截图 + 视频),10 万 URL 轻松破 1TB。强烈建议:把归档目录挂载到大容量磁盘,定期归档冷数据到对象存储。
  2. 版权合规:归档他人网站涉及版权问题,ArchiveBox 不提供任何法律担保。仅用于:个人备份、研究存档、合理使用范围内。商业平台归档务必确认原作者授权。
  3. Docker 镜像体积:首次拉镜像约 1.5GB(含 Chromium / FFmpeg / yt-dlp / wget 等),国内网络拉镜像可能需要配置镜像加速器。
  4. 并发数配置:默认 CONCURRENCY=8 对家庭宽带可能压力太大,下载时影响正常上网。建议根据上行带宽调到 2-4。
  5. WARC 格式归档的文件 体积巨大(一个完整 WARC 可能 10-100MB),如果存储紧张可以在配置里关掉:SAVE_WARC: false,但失去「证据级」归档能力。
  6. Chromium 渲染:headless Chrome 是吃内存大户,每并发约 200-300MB。1GB 内存服务器建议 CONCURRENCY=2,4GB+ 才能跑到 8 并发。
  7. 定期重归档:部分网页(如新闻)会持续更新,ArchiveBox 的「定期重抓」功能会消耗大量带宽和存储。建议对重要订阅源单独开启。
  8. 登录 / Cookie 站点:ArchiveBox 默认无 cookie 抓取,登录后的页面(推特、知乎、小红书)抓不全。需要手动配置 cookie 文件(参照 官方文档)。

✅ 总结

ArchiveBox 是 self-hosted 网页归档赛道里九年磨一剑的标杆项目。28k Stars、1.6k Forks、持续维护至今——这三个数字组合在一起的「网页时光机」项目在 FOSS 圈几乎找不到对手。

推荐指数 ⭐⭐⭐⭐⭐(5/5):多源导入 + 多 extractor 全格式归档 + WARC 标准 + Django Web UI + 9 年稳定维护,五件套组合把「网页归档」这件事做到极致。适合需要长期保存网页内容的个人 / 团队 / 学术机构。

适合:链接收藏党、学术研究者 / 调查记者、企业知识管理、个人数字遗产保存、RSS 重度用户、隐私敏感者。

不太适合:纯实时性新闻需求、超大规模网站(百万级 URL)、频繁归档视频流媒体。

如果你曾经为某个 404 的链接感到惋惜,或者担心 Pocket 关闭事件重演——花 30 分钟 docker compose up -d,把浏览器书签导出导入 ArchiveBox,未来任何链接 404 都能从你的本地归档里找回。这是数字时代每个重度网民都该有的「保险」。

官方文档:https://github.com/ArchiveBox/ArchiveBox
GitHub:https://github.com/ArchiveBox/ArchiveBox