ArchiveBox 超酷
原文由 Michael Lynch 于 發布,訂閱此部落格
你有用過 archive.org 的 Internet Wayback Machine 嗎?它是一款從 1996 年就開始封存網路的免費工具。所以,如果你想看看 1999 年的 Google 長什麼樣子,這裡就有。

1999 年 4 月 22 日 Internet Archive 所擷取的 Google 頁面
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 連接埠啟動一個本地網頁伺服器:
封存 Reddit 貼文
我最喜歡的 Reddit 故事之一,是 /r/legaladvice 上那則鄰居把自己搞成「袋地」的 saga。
這位發文者的鄰居擁有一塊包含車道的土地,車道連接著他家與公共道路,但他把包含車道的那部分土地賣掉了。結果,鄰居在不侵入他人土地的情況下,根本無法進出自己的房子。鄰居想解決這個問題,竟要求使用發文者的私人車道。

一張粗糙的手繪圖,卻捕捉了 /r/legaladvice 版上當時的熱烈討論
這個故事分三篇 Reddit 討論串講完:
於是我把這三個網址貼進 ArchiveBox:

幾秒鐘內,ArchiveBox 就把這些貼文封存好,讓我在本地離線也能瀏覽:

ArchiveBox 已下載這三篇 Reddit 討論串,讓它們可以離線瀏覽
ArchiveBox 會用幾種格式下載頁面:PDF、PNG、WARC,但其中一種是 single-file 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 網址,它就會把頁面和影片一起封存下來。
如果我想確保自己永遠留有一份 Lonely Island/SNL 經典歌曲〈Like a Boss〉的備份,我只要像處理其他網站一樣把它交給 ArchiveBox 就好。

ArchiveBox 已下載該 YouTube 影片
ArchiveBox 沒辦法完美重現真正的 YouTube 體驗,但它會建立頁面的快照,並另外單獨保存影片檔:


ArchiveBox 無法完美封存 YouTube 頁面,因此它改為以靜態圖片取代影片播放器,並將影片另存為單獨的檔案
為什麼感覺似曾相識?
當我查看 ArchiveBox 的貢獻者名單時,在最上方看到了一個熟悉的名字:Nick Sweeting。我認識他!我在 2019 年的 PyGotham 認識了他。
我快速瀏覽了 Nick 演講的影片,才發現五年前就在同一場研討會上,Nick 其實就已經 demo 過 ArchiveBox 了。我當時還寫過關於他演講的筆記,但不知為何 ArchiveBox 並沒有留在我的印象中。
自從看過 Nick 的演講以來,ArchiveBox 顯然已經成熟許多,而我也更意識到封存的重要性,所以很高興能重新發現它。
參考資源
- ArchiveBox - 一款用於建立本地、私人網頁封存的免費開源工具。
- archive.org 的 Internet Wayback Machine - 自 1996 年起公開封存網路的服務。
隨機一篇部落格
留言
登入後參與討論