网站页面归档的简易方法

于 2023-10-04 发布 , 于 2023-10-04 更新

起因:mosdns的v5版本的更新让我感觉非常不安。不仅在迭代了这么久之后连v4的一些功能1都没有实现好,而且兼容性2以及未来的更新计划3都给人很不安的感觉……当然,如果只是作为dns client,它还是非常好的东西,但是我需要的是它做server。于是我fork了它,并且新建了一个v4-maintenance分支,主要是做一些依赖项更新的工作(毕竟我不会golang)。

源代码的问题好解决,但是还有一个更加重大的问题:如何备份文档网站。该作者没有使用github wiki的习惯,文档是部署在gitbook上的。而文档首页就有非常恐怖的一句话:

v3 及以前版本的 wiki 因地球会绕太阳公转等不可抗因素已丢失。

万一v6出来之后v4的文档丢失了,那岂不是拿着二进制文件无处下手?所以做网页备份那是迫在眉睫需要实现的。

在尝试了archivebox这种大型解决方案发现不理想之后,无意间搜索到wget也能做简单的archive工作。从archlinux bbs薅下来一行代码:

1
wget --limit-rate=2000k --no-clobber --convert-links --random-wait -r -p -E -e robots=off -U mozilla google.com

只要把最后那个google.com换成想要备份的链接就行了。而且牛逼就牛逼在,它能够自动把链接也替换掉,就,能够实现完美的离线备份效果(不会点击跳转原网站)。

再用nginx起一个autoindex on的网站,就一切完美了。

1
2
3
4
5
6
7
8
server {
  listen 80;
  server_name archive.lan;
  location / {
    root /var/www/archive;
    autoindex on;
  }
}
  1. 例如现在的exec不支持一次性执行好几条指令了?如何解压 geosite.dat 和 geoip.dat ?[Feature request] v5 似乎没有 v4 的 ecs auto 功能 

  2. 毫无预兆移除了ecs插件 

  3. 虽然在我提出为什么突然移除了ecs插件之后作者第二天就把兼容指令加上了,但是备注里有写,可能会在v6版本移除该功能:// TODO: Remove this in mosdns v6, probably. 

目录