Tooling

Self-Hosted Web Archiving & Page Capture

ArchiveBox, SingleFile, gallery-dl, ChangeDetection.io — keep a permanent copy of pages that vanish.

The web rots. Articles get paywalled, repos get deleted, tweets get retconned. This category is for capturing pages on your own hardware so future-you can still read them. For bookmark / read-later managers see Self-Hosted Bookmarks & RSS; for personal media servers see Self-Hosted Photos & Media.

Full archive servers

Single-page capture (one URL → one file)

  • SingleFile — browser extension + CLI; saves a complete page (CSS, images, fonts) into a single self-contained .html file. The cleanest "freeze this page" output.
  • SingleFileZ — same author; ZIP-format alternative, smaller files.
  • monolith — Rust CLI, "save complete web pages as a single HTML file." Pairs well with cron / scripts.
  • wget --mirror / httrack — old-school site mirroring; still useful for whole-site captures.
  • curl-impersonate — for sites that block plain curl; impersonates real browser TLS fingerprints.

WARC-format archiving

Page change monitoring

  • changedetection.io — watches URLs for changes; CSS / xpath / JSON filters; notifications via Apprise; great for "alert me when this product is back in stock" or "alert me when this docs page changes." The default in 2026.
  • urlwatch — CLI; YAML config; venerable.
  • diff2html-cli + cron + git — DIY pattern: clone the page text, commit changes, get a diff in git history.
  • Distill.io / Visualping — closed-source SaaS; widely used.

Media downloaders (bulk capture)

Wayback Machine integration

  • waybackpack / wayback-machine-downloader — pull a domain's history from the Internet Archive's Wayback for local storage.
  • Save Page Now API — push your URLs to the public Wayback Machine; many bookmark tools call this on save.

Patterns to adopt

  • Auto-archive on bookmark. Karakeep, ArchiveBox, and Linkwarden all support "every saved URL is also archived."
  • Submit to public Wayback too — redundancy via Internet Archive on save.
  • Object storage for archives — WARCs and screenshots are large. Back archive volumes to S3 / R2 with restic.
  • Don't archive logged-in pages by default — cookies might leak. Configure profile capture deliberately.
  • Cron RSS-to-archive — pipe a curated RSS feed straight into ArchiveBox to mirror everything you read.
  • Consider law / ToS — broad mirroring of paywalled or private content has legal limits; archive what you have rights to.

Pick this if…

  • Default full archiver, many formats: ArchiveBox.
  • Bookmarks + archive in one tool: Karakeep or Linkwarden.
  • One-off "save this page": SingleFile (browser) or monolith (CLI).
  • JS-heavy modern sites / WARC fidelity: Browsertrix Crawler + ReplayWeb.page.
  • Watch a URL for changes: changedetection.io.
  • Bulk media (videos / images): yt-dlp + gallery-dl, with MeTube / TubeArchivist as front-ends.
  • Private Wayback Machine: pywb on top of WARCs from Browsertrix.

On this page