如何在 Linux 中使用 ArchiveBox 自托管您自己的 Internet 存档

4.8K

本教程说明 什么是归档盒 以及如何 安装归档盒 在 Linux 中,最后是如何 使用 ArchiveBox 自行托管您自己的个人 Internet Archive.

免责声明: 此处提供的所有信息仅用于教育目的。 作者和 OSTechNix 团队均不对目标站点造成的任何损害负责,例如带宽滥用或下载受版权保护的非法内容。

内容

  1. 介绍
  2. 什么是归档盒?
  3. 在 Linux 中安装 ArchiveBox
    1. 使用 Docker-compose 安装 ArchiveBox
    2. 使用 Docker 安装 ArchiveBox
    3. 使用自动安装脚本安装 ArchiveBox
    4. 使用 PiP 安装 ArchiveBox
    5. 从 Apt 存储库安装 ArchiveBox
  4. 如何使用 ArchiveBox 存档网站?
  5. 打印存档收集统计
  6. Save 新目录中的档案
  7. 访问 ArchiveBox WebUI
  8. 添加新存档
  9. 结论

介绍

互联网档案馆的回溯机 (IAWM) 是最大和最古老的公共网络档案。

在撰写本文时,Internet Archive Wayback Machine (存档.org) 已经捕获了超过 7780 亿个网页,并大致存储了 PB 级的数据。

大多数用户来到 Archive.org 是因为他们在实时 Web 上找不到请求的页面。 大约 65% 的请求存档页面不再存在于实时 Web 上。 感谢 Archive.org,我们仍然可以访问和查看旧的和已停用的网站。

虽然 archive.org 非常有能力保存大量网络资源,但您可能希望在自己的服务器上托管您自己的个人和私人互联网档案。 这是哪里 档案盒 进来帮忙。

什么是归档盒?

档案盒 是一个免费、开源且功能强大的 Internet 存档解决方案,用于收集、保存您喜爱的网站并离线查看或阅读它们。

您可以为其提供单个 URL 或安排从您的浏览器书签、浏览器历史记录、纯文本、HTML、降价、RSS 等提要、Pocket/Pinboard 等书签服务等导入!

ArchiveBox 以多种输出格式保存给定 URL 的快照,例如 HTML、JSON、PDF、PNG 屏幕截图、WARC 等!

默认情况下,ArchiveBox 将所有捕获的页面存储到 archive.org 以实现冗余,但是如果您想要仅本地缓存模式,您可以禁用它。

ArchiveBox 可用作命令行工具、Web 应用程序和桌面应用程序。 它是跨平台的,支持 GNU/Linux、macOS 和 Windows。 ArchiveBox 写在 Python 源代码在 GitHub 中可用。

在 Linux 中安装 ArchiveBox

ArchiveBox 可以通过几种不同的方式安装。 我们可以使用 Docker、Docker-compose 和自动安装脚本安装 ArchiveBox。

首先确保你已经安装 码头工人Docker-compose 如以下任一链接所示。

  • 在 AlmaLinux、CentOS、Rocky Linux 中安装 Docker Engine 和 Docker Compose
  • 如何在 Ubuntu 22.04 LTS 中安装 Docker Engine 和 Docker Compose
  • 使用 DockSTARter 设置 Docker 和 Docker Compose

使用 Docker-compose 安装 ArchiveBox

官方推荐的安装 ArchiveBox 的方式是使用 Docker-compose。

安装 Docker-compose 后,为 ArchiveBox 创建一个目录并下载 docker-compose.yml 文件在里面:

$ mkdir ~/archivebox && cd ~/archivebox
$ curl -O 'https://raw.githubusercontent.com/ArchiveBox/ArchiveBox/master/docker-compose.yml'

运行初始设置并创建一个 admin 用户通过运行以下命令:

$ docker-compose run archivebox init --setup

最后,使用命令启动 ArchiveBox 服务器:

$ docker-compose up

现在您可以登录 ArchiveBox admin 来自 URL 的 Web UI 仪表板 https://127.0.0.1:8000.

登录 Web UI 是完全可选的。 您也可以从命令行执行所有操作。

使用 Docker 安装 ArchiveBox

安装 Docker 后,为 ArchiveBox 创建一个目录并下载 docker-compose.yml 文件在里面:

$ mkdir ~/archivebox && cd ~/archivebox
$ docker run -v $PWD:/data -it archivebox/archivebox init --setup

运行初始设置并创建一个 admin 用户通过运行以下命令:

$ docker-compose run archivebox init --setup

最后,使用命令启动 ArchiveBox Docker 实例:

$ docker run -v $PWD:/data -p 8000:8000 archivebox/archivebox

现在您可以登录 ArchiveBox admin 来自 URL 的 Web UI 仪表板 https://127.0.0.1:8000.

登录 Web UI 是完全可选的。 您也可以从命令行执行所有操作。

使用自动安装脚本安装 ArchiveBox

首先,安装 Docker。 它是可选的,但建议使用。

使用命令运行自动安装脚本:

$ curl -sSL 'https://get.archivebox.io' | sh

这将自动添加 ArchiveBox 存储库并使用所有必要的依赖项安装 ArchiveBox。

ArchiveBox 将安装在当前工作目录中名为“archivebox”的目录中。

Cd 进入 archivebox 目录并使用命令对其进行初始化:

$ cd ~/archivebox
$ archivebox init --setup

您将被要求创建一个新的 admin Web UI 的用户。

[...]
[+] Creating new admin user for the Web UI...
Username (leave blank to use 'ostechnix'): 
Email address: 
Password: 
Password (again): 
This password is too short. It must contain at least 8 characters.
Bypass password validation and create user anyway? [y/N]: y
Superuser created successfully.
[...]
初始化存档框

最后,使用命令启动 ArchiveBox 服务器:

$ archivebox server 0.0.0.0:8000

使用 PiP 安装 ArchiveBox

安装 Python 版本 3.7 或最新版本以及 Node 版本 14 或更高版本,如下面的链接所示。

  • 如何使用 PIP 管理 Python 包
  • 如何在 Linux 上安装 NodeJS

使用 pip3 安装 ArchiveBox:

$ pip3 install archivebox

为 ArchiveBox 创建目录并使用命令对其进行初始化:

$ mkdir ~/archivebox && cd ~/archivebox
$ archivebox init --setup

最后,使用命令启动 ArchiveBox 服务器:

$ archivebox server 0.0.0.0:8000

您现在可以从 URL 访问 ArchiveBox 网络用户界面 https://127.0.0.1:8000.

从 Apt 存储库安装 ArchiveBox

如果您决定从存储库安装 ArchiveBox,则不需要 Docker 和 Docker-compose。

首先添加 ArchiveBox 存储库。

在 Ubuntu 20.04 上:

$ sudo apt install software-properties-common
$ sudo add-apt-repository -u ppa:archivebox/archivebox

在 Ubuntu 22/10 和最新版本以及 Ubuntu 19.10 和更早版本以及其他基于 Debian 的系统上:

$ echo "deb https://ppa.launchpad.net/archivebox/archivebox/ubuntu focal main" | sudo tee /etc/apt/sources.list.d/archivebox.list
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C258F79DCC02E369
$ sudo apt update

添加相关存储库后,使用命令在 Ubuntu 和基于 Debian 的系统上安装 ArchiveBox:

$ sudo apt install archivebox

Apt 仅提供损坏的旧版本 Django,因此我们需要安装 ArchiveBox 使用 画中画 包管理器也是如此。

$ sudo python3 -m pip install --upgrade --ignore-installed archivebox

为 ArchiveBox 创建一个目录并初始化它:

$ mkdir ~/archivebox && cd ~/archivebox
$ archivebox init --setup

最后,使用命令启动 ArchiveBox 服务器:

$ archivebox server 0.0.0.0:8000

您现在可以从 URL 访问 ArchiveBox 网络用户界面 https://127.0.0.1:8000.

要查看 ArchiveBox 版本, run:

$ archivebox --version

要查看 ArchiveBox 帮助部分, run:

$ archivebox help

如何使用 ArchiveBox 存档网站?

ArchiveBox 可用于从命令行或通过其 WebUI 存档 URL。

要从命令行归档单个 URL,只需将 as 作为参数传递,如下所示:

archivebox add https://example.com/some/page

或者,

echo https://example.com/some/page | archivebox add

例子:

$ archivebox add https://github.com/ArchiveBox/ArchiveBox
使用 ArchiveBox 存档网站

要从文本文件中归档 URL 列表, run:

$ archivebox add < archive_urls.txt

或者,

$ cat archive_urls.txt.txt | archivebox add

或者,

$ archivebox add ~/Downloads/browser_bookmarks.html

或者,

$ archivebox add ~/Downloads/pinboard_bookmarks.json

或者,

$ curl https://getpocket.com/users/USERNAME/feed/all | archivebox add

您还可以添加 --depth=1 对上述任何一个命令递归下载 URL 和一跳之外的所有 URL。

$ archivebox add --depth=1 < ~/Downloads/bookmarks_export.html

归档 URL 后,您可以使用命令查看有关归档集合的信息和统计信息:

$ archivebox status

此命令将扫描存档数据目录并显示索引链接、已存档或未存档的索引链接以及存档文件夹中存在的目录。

打印存档收集统计打印存档收集统计

您还可以使用以下命令按状态(例如索引、损坏、存档等)列出链接数据目录:

archivebox list --status= <status>

为了 example列出所有归档数据目录, run:

$ archivebox list --status=archived

示例输出:

[i] [2023-01-05 12:11:06] ArchiveBox v0.6.2: archivebox list --status=archived
    > /home/ostechnix/archivebox

/home/ostechnix/archivebox/archive/1672909053.266666 https://github.com/ArchiveBox/ArchiveBox "GitHub - ArchiveBox/ArchiveBox: 🗃 Open source self-hosted web archiving. Takes URLs/browser history/bookmarks/Pocket/Pinboard/etc., saves HTML, JS, PDFs, media, and more..."

正如您在上面的输出中看到的,我已经将 ArchiveBox GitHub 存储库本身存档了。

您可以使用进一步查看此存档文件夹的下载内容 ls 命令:

$ ls /home/ostechnix/archivebox/archive/1672909053.266666/
avatars.githubusercontent.com  git                      headers.json  media                      readability
camo.githubusercontent.com     github.com               index.html    mercury                    user-images.githubusercontent.com
favicon.ico                    github.githubassets.com  index.json    raw.githubusercontent.com  warc

Save 新目录中的档案

如上面的安装步骤所述,我们将档案存储在 ~/archivebox 目录。 您还可以在其他位置创建一个新目录并对其进行初始化以存储存档集合。

$ mkdir my_new_archive; cd my_new_archive/
$ archivebox init

现在开始按照上一节中的描述归档 URL。

这样您就可以创建不同的存档集合并将它们存储在不同的目录中。

访问 ArchiveBox WebUI

访问存档框 admin Web UI,首先使用以下命令启动 ArchiveBox 服务器:

$ archivebox server 0.0.0.0:8000

您现在可以从 URL 访问 ArchiveBox 网络用户界面 https://127.0.0.1:8000 或者 https://IP-地址:8000.

访问 ArchiveBox WebUI访问 ArchiveBox WebUI

如您所见,我已经将 ArchiveBox 官方 GitHub 存储库本身存档了。 只需单击存档即可将其打开。

您会看到存档以不同的输出格式保存。 只需单击任何输出格式即可打开相应的文件。 我单击 Wget > HTML 链接,ArchiveBox 在同一窗口中显示存档内容。 您也可以在新的浏览器选项卡或窗口中打开它。

打开档案打开档案

您现在可以离线阅读 URL。 该存档将一直保存在您的本地系统中,直到您将其删除。

要停止 ArchiveBox 服务器,请返回启动它的终端窗口并按 CTRL+C.

添加新存档

点击 登录 Web UI 中的按钮。 使用您在前面步骤中初始化 ArchiveBox 时创建的用户名和密码登录。 请参阅安装部分以了解如何初始化 ArchiveBox。

登录到 ArchiveBox WebUI登录到 ArchiveBox WebUI

小心: 请注意, admin 用户是在您初始化 ArchiveBox 时创建的。 如果由于任何原因未创建它,请 cd 进入您的存档文件夹,然后 run 此命令创建 admin 用户并为其设置密码。

$ archivebox manage createsuperuser

点击 添加 按钮,然后一一输入要存档的 URL。 选择 URL 格式、存档深度(例如 0 或 1)并单击 “添加 URL 和存档” 按钮。

现在归档过程将开始。

通过 ArchiveBox WebUI 存档网站通过 ArchiveBox WebUI 存档网站

可以安全离开或 close 此页面作为归档过程将在后台继续。

URL 存档后,转到快照以查看存档页面列表。

在 ArchiveBox WebUI 中查看存档快照在 ArchiveBox WebUI 中查看存档快照

结论

ArchiveBox 是一个完美且有前途的解决方案,可以自行托管您自己的个人 Internet Archive,以在网页被编辑或完全删除之前保存网页。

我要求用户公平、合法地使用本服务。 请不要将其用于带宽滥用、抓取竞争对手的网站或下载受版权保护的非法内容。

资源:

  • 档案盒网站
  • ArchiveBox GtiHub 存储库

存档网站archive.orgArchiveBoxIAWMInternet ArchiveLinux开源PythonWayback Machine