ArchiveBox 超级酷
你有没有用过 archive.org 的 Internet Wayback Machine?这是一款自 1996 年以来一直在存档网页的免费工具。所以,如果你想看看 1999 年的 Google 是什么样子,他们就有存档。

1999 年 4 月 22 日 Google 的 Internet Archive 快照
ArchiveBox 就像是你自己的私人 Internet Wayback Machine。它免费且开源,你可以用它来存档大多数网站。

ArchiveBox 是一款免费的开源工具,可让你在本地存档网站。
为什么要存档?
大约一年前,我还完全没有在本地存档网站的想法。网上有一些会存档网站并保存公开副本的工具,那我为什么还要费劲去自托管自己的存档呢?
然后,去年许多社交媒体公司纷纷开始收权。reddit 赫赫有名地收紧了其第三方 API,导致许多存档 reddit 的站点崩溃。这些 reddit 存档站点干脆直接关停,存档也随之消失了。
我意识到,尽管有许多本应提醒我这些服务在运营上不可持续的危险信号,我却对这些免费的、由志愿者运营的存档服务寄予了多大的信任。
所以,如果我不能指望某个基于云的存档服务永远在线,我就应该自己保留一份我所关心内容的副本。
安装 ArchiveBox
安装 ArchiveBox 有几种方法,但我选择了官方推荐的 Docker Compose 方法:
mkdir archivebox && \
cd archivebox && \
curl -O 'https://raw.githubusercontent.com/ArchiveBox/ArchiveBox/dev/docker-compose.yml' && \
docker compose run archivebox init --setup接下来,我可以通过启动 Docker 容器来运行 ArchiveBox:
docker compose up它会在 8000 端口上启动一个本地 Web 服务器:
存档 reddit 帖子
我最喜欢的 reddit 故事之一是来自 一位邻居把自己“困住”了的 /r/legaladvice 版块传奇。
这位 reddit 发帖人的邻居拥有一处房产,其中包括一条连接其房屋与公共道路的车道,但他们卖掉了包含这条车道的那部分土地。结果,邻居在不非法侵入他人土地的情况下,无法进出自己的房产。邻居试图通过要求使用 reddit 发帖人私有车道来解决这个问题。

一幅粗糙的绘图,生动地展现了 /r/legaladvice 版块的热烈反响
这个故事通过三篇 reddit 帖子讲述:
- 邻居傻乎乎地把自己搞成了被围困地。我们会被法律要求共享我们的私有道路吗?
- 更新:我的邻居把自己搞成了被围困地。现在治安官想让我让他们使用我的路。
- 更新:我的邻居把自己搞成了被围困地,我曾在这里发过帖,现在问题已经解决了
于是我把这三个 URL 粘贴到了 ArchiveBox 中:

几秒钟内,ArchiveBox 就存档了这些帖子,并让我可以在本地离线访问它们:

ArchiveBox 已下载这三篇 reddit 帖子,以便离线访问
ArchiveBox 会以几种格式下载页面:PDF、PNG、WARC,但其中一种格式是 Single-file HTML(单文件 HTML),这是我以前从未听说过的:
Single-file HTML 是个巧妙的技巧!它把所有的 HTML、JavaScript 和 CSS 都压缩到单个文件中。它甚至会对图片进行 base64 编码,使它们也存在于同一个 HTML 文件中。
<style>:root{--sf-img-2: url("data:image/gif;base64,R0lGODlhFQAQAIABAICAgP///yH5BAEAAAEALAAAAAAVABAAAAIajI...用这种方式阅读 reddit 帖子非常酷,因为速度非常快。我已经习惯了 reddit 以及整个网络在加载一个简单的、以文字为主的页面时变得有多慢。当你可以在本地浏览一个预先计算好的页面时,体验那种浏览的感觉很有趣。
存档 YouTube 视频
有更专业的工具可以存档 YouTube 视频,但 ArchiveBox 也集成了 yt-dlp,所以你只需给它一个 YouTube URL,它就会存档该页面和视频。
如果我想确保自己永远有一份 Lonely Island / SNL 经典作品 “Like a Boss” 的副本,我可以像对待其他任何网站一样把它交给 ArchiveBox。

ArchiveBox 已下载该 YouTube 视频
ArchiveBox 无法完美复刻真实的 YouTube 体验,但它会创建页面的快照,然后将视频单独保存:


ArchiveBox 无法完美存档 YouTube 页面,因此它会在视频播放器位置显示一张静态图片,并将视频保存为单独的文件
为什么这感觉如此熟悉?
当我查看 ArchiveBox 的贡献者名单时,我在顶部注意到一个熟悉的名字,Nick Sweeting(尼克·斯威廷)。我认识他!我在 2019 年的 PyGotham 大会上见过他。
我快进浏览了尼克·斯威廷演讲的视频,才意识到他其实在五年前同一场大会上就演示过 ArchiveBox。我当时还写过关于他演讲的文章,但不知为何 ArchiveBox 当时并没有给我留下深刻印象。
自从看了尼克·斯威廷的演讲以来,ArchiveBox 显然已经成熟了许多,而我也意识到自己对存档的需求更大了,所以很高兴能重新发现它。
资源
- ArchiveBox - 一款用于创建本地、私有网页存档的免费开源工具。
- archive.org 的 Internet Wayback Machine - 一个可追溯至 1996 年的公共网络存档。
随机一篇博客