Wayback Archiver

2天前发布 1 00

Wayback Archiver是一个自托管的个人网页归档系统,自动捕获并保存你在 Chrome 中浏览过的网页 — HTML、CSS、JavaScript、图片等一应俱全。当原始网页无法访问时,你仍然可以通过归档副本还原当时的页面样式和内容。

所在地:
中国
收录时间:
2026-03-14
Wayback ArchiverWayback Archiver

你是否曾遇到过这样的遗憾:一篇珍贵的文章突然被删除,一个重要的参考页面显示 404,或者你想回顾几个月前某个网站的特定版本却无从下手?

Wayback Archiver 是一个自托管的个人网页归档系统,它能自动捕获并保存你在浏览器中访问过的每一个网页——包括 HTML、CSS、JavaScript、图片和字体。当原始网页消失或改变时,你依然可以通过本地的归档副本,完美还原当时的页面样式和内容。

Wayback Archiver

🌟 核心亮点:不仅仅是截图

与简单的截图工具不同,Wayback Archiver 致力于高保真还原完整资源保存

  • 🎨 像素级还原:通过 CSSOM 序列化和计算样式内联,确保归档页面的视觉效果与原始页面几乎一致。
  • 📦 全资源捕获:不仅保存 HTML,还自动下载并本地化存储 CSS、JS、图片、字体等所有静态资源。
  • 🌐 突破 CORS 限制:浏览器端无法获取的跨域资源,由 Go 服务器端代理下载,确保页面完整性。
  • ⚡ 智能去重:基于 SHA-256 内容哈希,相同资源(如通用的 JS 库、图片)在所有归档中只存储一份,极大节省空间。
  • ⏳ 时间机器:同一 URL 支持多次归档,形成可视化的时间线视图。你可以像使用 Internet Archive 一样,回溯某个网站的历史变迁。
  • 🛡️ 防刷新保护:归档页面被“冻结”,拦截定时器、WebSocket 和导航 API,防止页面在查看时自动跳转或刷新,确保持久可读。
  • 🤖 SPA 友好:智能检测单页应用(SPA)的路由变化,自动重置捕获状态,完美支持现代 Web 应用。

⚙️ 工作原理

系统由三部分组成,形成一个高效的闭环:

  1. 浏览器端 (Tampermonkey 脚本)
    • 在页面加载完成后自动捕获完整的 DOM 和资源引用。
    • 利用 MutationObserver 监听动态变化,若页面内容发生显著改变(如无限滚动加载),自动提交更新。
  2. 服务端 (Go Server)
    • 接收浏览器提交的快照数据。
    • 代理下载浏览器因 CORS 策略无法获取的跨域资源。
    • 对资源进行哈希去重,将元数据存入 PostgreSQL,静态文件存入本地文件系统
  3. Web UI
    • 提供响应式界面,支持全文搜索、时间线浏览、按域名筛选。
    • 完全离线运行,不依赖任何外部服务,隐私绝对安全。

🚀 快速开始指南

只需简单的几步,即可搭建属于你的个人互联网档案馆。

1. 环境准备

确保已安装:

  • Go 1.21+
  • Node.js 16+
  • PostgreSQL 14+
  • Chrome/Firefox + Tampermonkey 扩展

2. 初始化数据库

createdb -U postgres wayback
psql -U postgres wayback < server/init_db.sql

3. 启动服务器

cd server
cp .env.example .env  # 编辑配置(如数据库密码、存储路径)
go build -o wayback-server ./cmd/server
./wayback-server

服务器默认运行在 http://localhost:8080。如需代理下载资源,可设置 http_proxy 环境变量。

4. 安装浏览器脚本

cd browser
npm install
npm run build
  • 打开 Tampermonkey 管理面板 -> 创建新脚本。
  • 将 browser/dist/wayback.user.js 的内容粘贴进去并保存。
  • Chrome 用户注意:需在 Tampermonkey 设置中开启“允许用户脚本”开关。

5. 开始归档

现在,正常浏览网页即可!页面加载完成后会自动静默归档。访问 http://localhost:8080 查看你的“互联网记忆”。

📊 功能概览

功能描述
高保真还原CSSOM 序列化,内联样式,冻结动态行为
完整资源本地化HTML/CSS/JS/图片/字体全部下载并重写路径
跨域资源代理服务器端解决 CORS 问题,确保资源不丢失
智能去重会话级 + 服务器级双重去重,节省存储空间
版本时间线可视化展示同一 URL 的历史快照,支持前后对比
全文搜索基于页面内容、URL、标题的快速检索
RESTful API提供完整的归档、查询、导出接口,方便集成 AI 工具
Markdown 导出API 支持直接获取页面内容的 Markdown 格式,便于 LLM 处理

💡 应用场景

  • 研究人员/学生:永久保存参考文献,防止链接失效(Link Rot)。
  • 开发者:记录竞品网站的功能迭代历史,或保存重要的技术文档版本。
  • 法律/合规:固定网页证据,记录特定时间点的网站内容。
  • 个人知识管理:构建离线的个人知识库,随时回顾曾经阅读过的优质内容。
  • AI 训练数据:通过 API 批量导出清洗后的 Markdown 数据,作为私有 RAG 知识库的来源。

数据统计

相关导航

暂无评论

none
暂无评论...