如何创建自己的私人自托管即时阅读应用程序

互联网是巨大的知识宝库。但这是短暂的,不能保证您喜欢的内容将来会出现。如果您负担不起丢失的内容,则可以使用网络存档工具来存储网页的副本。

许多人使用后来的服务来保存网络文章。这些应用最适合基于文本的内容,不能正确处理复杂的网页设计或媒体。需要更多控制权吗?

让我们看看如何在不丢失任何网页资产的情况下在计算机上创建Instapaper或Pocket的克隆。

介绍ArchiveBox

ArchiveBox是一个开源解决方案,可以帮助您托管自己的替代服务,例如Wayback Machine之类的存档服务。您不会放弃自己的隐私,也不会陷入无法控制的服务中。

它将获取您要存档的URL列表,并以多种格式创建内容的本地可浏览HTML克隆。它包括HTML格式的本地副本,页面的屏幕快照,PDF文件和WARC(网络存档)。

即使将来原始网页消失了,这些副本也仍然存在。

ArchiveBox用Python 3编写。它还使用Wget,Headless Chrome,Youtube-dl和其他Unix工具之类的依赖项来保存网页。您不需要持续运行的后端服务器。每次要导入新链接并更新静态输出时,只需运行它即可。

归档完成后,您可以在浏览器中打开生成的output / index.html来查看档案。

  • 它以几种文件格式存档链接,以用作备份。
  • 它尝试使用复杂的捕获方法保留原始网页。
  • 具有自动提取功能内容并将其保存到单个文件夹中。
  • 它还提供了一个简单的命令行界面来处理多个链接,提要和书签。您只需要设置一次并按计划运行它即可存档较新的链接。
  • ArchiveBox将从网页中提取所有资产。它会占用大量磁盘空间并占用大量CPU。
  • 该应用程序需要Python 3.5以外的三个或更多依赖项。使这些组件一起工作需要反复试验。
  • 该应用程序不完全支持Windows操作系统。您必须安装Docker或启用Linux的Windows子系统(WSL)。即使如此,某些功能还是可能行不通。
  • 支持的操作系统

    ArchiveBox正式支持以下操作系统:

  • macOS: 10.12使用Homebrew的Sierra。
  • Linux :Ubuntu,Debian(带有APT)。该应用程序可能(也可能不会)在Fedora,CentOS,SUSE,Arch等发行版中运行。
  • BSD: FreeBSD,OpenBSD,NetBSD(带有pkg)。 / li>

    依赖项

    ArchiveBox是一种灵活的Web存档工具。您必须安装以下依赖项并满足最低要求。

  • Python3。请勿使用macOS随附的默认Python 2.0。
  • Wget 1.16
  • Youtube-dl(可选):媒体资源需要大量存储空间。在存档书签之前,请仔细考虑。
  • 设置ArchiveBox

    设置ArchiveBox的方法有两种:自动手动

    在自动方法中,帮助程序脚本将安装应用程序及其依赖项。但是,如果出现任何错误,您将无法解决问题。最好手动安装该应用程序。

    为了进行演示,我们将使用macOS 10.14.6。

    安装依赖项的最佳方法是通过名为Homebrew的软件包管理器进行安装。 。要了解其基础知识,请查看有关如何使用Homebrew安装Mac应用程序的本文。

    打开终端并键入

    brew install python3 git wget curl youtube-dl
    brew cask install chromium 

    (如果您

    要检查所有依赖项的版本号,请输入

    dependency app --version

    (将依赖项应用替换为python3,wget,youtube-dl,等等)

    所有的后继服务和浏览器都可以将您的书签导出为HTML文件。请按照本文中有关如何从浏览器导出书签的说明进行操作。您还可以在文本文件中保存单个链接或URL列表。

    从GitHub克隆存储库。打开终端,然后键入

    git clone https://github.com/pirate/ArchiveBox

    然后

    cd ArchiveBox/

    克隆此存储库,安装程序将在主目录中创建一个ArchiveBox文件夹。此文件夹包含所有主要的应用程序和配置文件。

    将URL添加到存档中

    如果您要存档单个链接,请键入

    echo 'https://example.com'| ./archive

    导航至ArchiveBox文件夹以查看新创建的输出文件夹。在这里,您将看到一个index.html文件。

    向存档中添加多个链接

    当您要保存多个链接(数十个或更多)时,最好将您的链接添加到文本文件。该应用程序将解析文件中的URL并将其存档。打开终端,然后键入

    ./archive [Path to Your File.txt]

    如果您的文件位于下载文件夹中,则路径将类似于

    ./archive /Users/(Home directory name)/Downloads/links.txt

    等待几分钟/小时以完成该过程。要访问您的存档,请在浏览器中打开 output / index.html 。您可以按列排序,使用右上部分的框搜索标题,并在底部查看链接的总数。

    点击文件列下的收藏夹图标访问详细信息页面。您会在屏幕快照中找到指向各个文件格式的链接。相同的链接也会上传到archive.org。

    以相同的方式,将Instapaper或Pocket链接导出为HTML文件。然后,输入

    ./archive ~/Downloads/instapaper-export.html

    您还可以从供稿URL导入链接列表。但是请记住,您可能会遇到太多的失败或会话超时。如果有成千上万个URL,最好将它们分成较小的文件以提高成功率。

    Configure ArchiveBox

    在大多数情况下,默认设置都可以使用,但是您可以调整某些重要参数以获得更多功能。配置文件位于

    ~/ArchiveBox/etc/ArchiveBox.conf.default

    注意:请勿修改此文件,因为每当您更新应用程序时,它们都会被删除。要创建持久配置文件,请键入

    cp ~/ArchiveBox/etc/ArchiveBox.conf.default ~/.ArchiveBox.conf

    cp 命令将在您的主目录中创建配置文件的副本。默认情况下,该文件在您的目录中不可见。要取消隐藏,请按 Cmd + Shift +句点。在TextEdit中打开配置文件。

    ArchiveBox提供了许多选项。以下是一些重要的文件;

  • ONLY_NEW :将其设置为 True ,以下载新添加的链接的档案。如果您定期为链接添加书签,则很有用。
  • 超时:可能的值为60或120秒。如果您看到频繁的超时错误将其增加到120秒。
  • URL_BLACKLIST :您可以使用正则表达式从存档中排除某些域,扩展名或URL模式。
  • FETCH_MEDIA :使用youtube-dl获取所有音频和视频文件。仅当您有足够的存储空间时,才将其设置为 True
  • WGET_USER_AGENT :在归档过程中使用它来更改用户代理。如果您被某些服务器阻止,此选项将很有用。
  • 要了解有关配置详细信息的更多信息,请访问ArchiveBox配置以获取更多信息。

    发布存档

    ArchiveBox生成的存档与可以承载静态HTML的任何提供程序兼容。例如,GitHub页面。

    您还可以通过直接将输出文件夹上载到Web目录来从家庭服务器或VPS提供该服务。

    请确保您没有运行任何作为CGI或PHP内容,您只希望托管静态HTML文件。

    托管存档既有利有弊。从随机站点下载链接时,您必须了解在共享域中托管恶意CSS和JS文件的危险。您可能还希望将robots.txt文件中的归档文件列入黑名单以保持不公开。

    脱机下载整个网站

    网络归档在过去几年中引起了人们的关注。它们记录网页的全部内容,包括源HTML,嵌入式图像,样式表和JavaScript代码。 ArchiveBox非常适合Web归档工具和服务的大类。

    如果您对Instapaper或Pocket感到沮丧,那么ArchiveBox是一个很好的选择。除网络文章外,您可能还希望归档整个网站以脱机访问它们或保留其知识。如果您对此感兴趣,请阅读有关如何下载任何网站以供离线阅读的文章。

    标签: Instapaper 在线书签 开放源代码 Pocket Internet存档