with one click
with one click
[HINT] Download the complete skill directory including SKILL.md and all related files
| name | wayback |
| description | Query and explore the Wayback Archiver personal web archiving system |
Wayback Archiver is a self-hosted personal web archiving system that captures and preserves web pages with full fidelity โ HTML, CSS, JavaScript, images, fonts, and all resources.
Repository: https://github.com/icodeface/wayback-archiver
Use this skill when the user wants to:
Before using this skill, ensure the Wayback Archiver server is running:
Download from Releases:
wayback-server-<os>-<arch>.tar.gz (or .zip for Windows)wayback.user.jsExtract the server binary:
# macOS/Linux
tar -xzf wayback-server-*.tar.gz
# Windows: extract the .zip file
Building from source? See docs/BUILD.md.
# Create database (PostgreSQL ้ป่ฎคไฝฟ็จๅฝๅ็ณป็ป็จๆทๅ)
createdb wayback
# Run schema (init_db.sql is included in the release archive)
psql wayback < init_db.sql
./wayback-server
Server runs at http://localhost:8080 by default.
wayback.user.js from ReleasesChrome users: Enable "Allow user scripts" in Tampermonkey's extension settings (right-click icon โ Manage extension). Firefox does not require this.
Base URL: http://localhost:8080
When AUTH_PASSWORD is set, use HTTP Basic Auth:
wayback$AUTH_PASSWORDcurl "http://localhost:8080/api/pages?limit=100&offset=0"
curl "http://localhost:8080/api/search?q=$KEYWORD"
curl "http://localhost:8080/api/pages?from=2026-03-01&to=2026-03-12"
curl "http://localhost:8080/api/pages/$PAGE_ID"
Returns the page body as clean Markdown (strips scripts, nav, footer, etc.). Ideal for AI/LLM consumption.
curl "http://localhost:8080/api/pages/$PAGE_ID/content"
curl "http://localhost:8080/api/pages/timeline?url=$ENCODED_URL"
Open in browser:
http://localhost:8080/view/$PAGE_ID
{
id: number;
url: string;
title: string;
captured_at: string; // ISO 8601 timestamp
html_path: string;
content_hash: string; // SHA-256
first_visited: string; // ISO 8601 timestamp
last_visited: string; // ISO 8601 timestamp
created_at: string; // ISO 8601 timestamp
}
{
id: number;
url: string;
content_hash: string; // SHA-256
resource_type: string; // "css", "js", "image", "font", etc.
file_path: string;
file_size: number;
first_seen: string; // ISO 8601 timestamp
last_seen: string; // ISO 8601 timestamp
}
data/
โโโ html/ # HTML snapshots, organized by date
โ โโโ 2026/03/12/
โ โโโ <timestamp>_<hash>.html
โโโ resources/ # Deduplicated static resources
โโโ ab/cd/
โโโ <sha256>.css
See docs/BUILD.md for build and test instructions.
| Issue | Solution |
|---|---|
| Server won't start | Check PostgreSQL is running and database exists |
| Pages not archiving | Verify Tampermonkey script is enabled and server is reachable |
| Missing resources | Check proxy settings if behind corporate firewall |
| Authentication errors | Verify AUTH_PASSWORD env var matches your curl credentials |
Create .env file in the project root (or set environment variables directly):
The server automatically loads .env from the working directory if it exists.
# Database
DB_HOST=localhost
DB_PORT=5432
DB_USER=postgres # ๅฏ้๏ผPostgreSQL ้ป่ฎคไฝฟ็จ็ณป็ป็จๆทๅ
DB_PASSWORD=
DB_NAME=wayback
DB_SSLMODE=disable
# Server
SERVER_HOST=0.0.0.0 # ้ป่ฎค 127.0.0.1๏ผ่ฎพ็ฝฎ 0.0.0.0 ็ๅฌๆๆ็ฝๅก
SERVER_PORT=8080
# Storage
DATA_DIR=./data
# Authentication (optional)
AUTH_PASSWORD=
MIT