ArchiveBox
Open source self-hosted web archiving
Alternative to: wayback machine, pocket, instapaper, archive.today
v0.4.9
2020-07-28


π v0.4 is officially released. This is a long-awaited 3rd-pass review over every corner of the archivebox UX. It adresses many of the fundamental shortcomings around index consistency by using a new SQLite database, with automatic migrations provided by django. It also smooths many of the rough edges, adds a new admin Web UI, a rich new CLI, closes 40+ github tickets, and is the first official release available on PyPI.
- https://pypi.org/project/archivebox/
pip install archivebox - https://hub.docker.com/r/nikisweeting/archivebox
docker run -v $PWD:/data nikisweeting/archivebox - https://archivebox.readthedocs.io/en/latest/
- https://github.com/pirate/ArchiveBox/releases/tag/v0.4.9
Enjoy!
π Big thanks to everyone who helped! Especially the Monadical team @cdvv7788 @apkallum @afreydev and also @drpfenderson who helped us track down the last few index importing bugs! π
The docs still have some work left to finish updating, but the CLI help text is all up-to-date (when in doubt, just pass --help).
Let us know if you find any rough edges here: https://github.com/pirate/ArchiveBox/issues/new/choose
pip install archivebox
cd path/to/your/archive/folder
archivebox init # this doubles as the migrate command, it will safely upgrade existing index files automatically
archviebox add 'https://example.com'
archviebox add 'https://getpocket.com/users/USERNAME/feed/all' --depth=1
archivebox status
archivebox server
archivebox help
Or if you prefer docker, the CLI works exactly the same archivebox [subcommand] [...args]:
docker run -v $PWD:/data nikisweeting/archivebox init
docker run -v $PWD:/data nikisweeting/archivebox add 'https://example.com'
docker run -v $PWD:/data -p 8000 nikisweeting/archivebox server
version: '3.7'
services:
archivebox:
image: nikisweeting/archivebox:latest
command: server 0.0.0.0:8000
stdin_open: true
tty: true
ports:
- 8000:8000
environment:
- USE_COLOR=True
volumes:
- ./data:/data
Screenshots
New Features
A bunch of big changes:
pip install archiveboxis now available- full transition to Django Sqlite DB with migrations (making upgrades between versions much safer now)
- maintains an intuitive and helpful CLI thatβs backwards-compatible with all previous archivebox data versions
- uses argparse instead of hand-written CLI system: see
archivebox/cli/archivebox.py - new subcommands-based CLI for
archivebox(see below) - new Web UI with pagination, better search, filtering, permissions, and more
- 30+ assorted bugfixes, new features, and tickets closed
For more info, see: https://github.com/pirate/ArchiveBox/wiki/Roadmap
Released in this version:
Install Methods:
- β
pip/pipenv install archivebox [--dev] - β
docker run nikisweeting/archivebox/docker-compose up - β
apt/brew/pkg/yum/nix/etc install archivebox(maybe later)
Command Line Interface:
- β
archivebox - β
archivebox version - β
archivebox help - β
archivebox init - β
archivebox status - β
archivebox add - β
archivebox remove - β
archivebox update - β
archivebox list - β
archivebox schedule - β
archivebox config - β
archivebox server - β
archivebox shell - β
archivebox manage - β
archivebox oneshot - β
archivebox export - β
archivebox proxy
Web UI:
- β
/Main index - β
/addPage to add new links to the archive (but needs improvement) - β
/archive/<timestamp>/Snapshot details page - β
/archive/<timestamp>/<url>live wget archive of page - β
/archive/<timestamp>/<extractor>get a specific extractor output for a given snapshot - β
/archive/<url>shortcut to view most recent snapshot of given url - β
/archive/<url_hash>shortcut to view most recent snapshot of given url - β
/adminAdmin interface to view and edit archive data - β
/old.htmlBackwards-compatible static HTML index for the previous version
Python API:
- β
from archivebox.main import add, remove, info, config, etc... - β
from archivebox.core.models import Snapshot, User, etc... - β
from archivebox.extractors import media, wget, screenshot, etc... - β
from archivebox.index import json, sql, html, etc... - β
from archivebox.parsers import pinboard_rss, pocket_html, generic_json, etc...
(Red β features are still unfinished and will be released in later versions)