Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

webChronicle

License: AGPL v3 GitHub release GitHub stars

A web archiver that runs on your machine. Save snapshots of websites and browse them later, offline, the way they looked on the day you saved them.

Features

  • Archive any website with one command
  • Browse previous versions of pages you've saved
  • Nothing leaves your computer. No cloud, no uploads, no telemetry
  • Multiple domains in one snapshot
  • Recursive scraping (follows links to grab whole sites)
  • Overlay with archive date and back link (injected on-the-fly, snapshots stay clean)

Quick start

git clone https://github.com/freshjuice-dev/webchronicle.git
cd webchronicle
cargo build --release

./target/release/webchronicle init
# edit webchronicle.toml, add your URLs
./target/release/webchronicle scrape
./target/release/webchronicle build
./target/release/webchronicle serve --port 3000

Configuration

Edit webchronicle.toml:

Option 1: let webChronicle find the sitemap

[site]
title = "webChronicle"
description = "A web archiver that runs on your machine"
base_url = "https://webchronicle.app"

[scraper]
urls = ["https://example.com"]
recursive = true
max_depth = 3

webChronicle tries common sitemap locations (/sitemap.xml, /sitemap_index.xml, /wp-sitemap.xml, etc.). If found, it scrapes every URL listed. If not, it falls back to recursive link crawling.

Option 2: point to a sitemap directly

[site]
title = "webChronicle"
description = "A web archiver that runs on your machine"
base_url = "https://webchronicle.app"

[scraper]
urls = ["https://example.com/sitemap.xml"]
recursive = false

When the URL itself is a sitemap, webChronicle parses it and scrapes every page listed. No guessing, no crawling.

Snapshots land in scraped-websites/ with a timestamp folder per domain, plus a ledger.toml index:

scraped-websites/
├── 2025-01-15T10-30-00/
│   ├── example.com/
│   │   └── index.html
│   └── example.org/
│       └── index.html
└── ledger.toml

Snapshot files stay clean. The overlay (archive date, back link) is injected by the server when serving, not baked into the HTML. Copy a snapshot folder, get the original page.

Tech

Rust binary. Tera templates for the index page. System fonts, no frameworks.

Contributing

Fork, branch, PR. Found a bug? Open an issue.

Credits

Logo by Tatiana Zappa.

License

Copyright (C) 2024-2026 FreshJuice. Released under AGPL v3 or later.

Need a commercial license? Contact contact@freshjuice.dev.

About

hA web archiving tool that allows you to capture and explore snapshots of webpages over time—like the Wayback Machine, but as your own personal Time Machine.

Topics

Resources

Stars

Watchers

Forks

Releases

Sponsor this project

Packages

Contributors

Languages