ArchiveBoxBrowser Extensions

๐Ÿ—ƒ ArchiveBox Browser Extension

This is a browser extension that lets you send individual browser tabs or all URLs matching certain patterns to your ArchiveBox instance for offline preservation. This has a couple of benefits:

Get the Extension

Screenshots

Browse all screens โ†’

ArchiveBox on the Chrome Web Store Save a page with its title and suggested tags ArchiveBox collection list

Recent Changes

Local Captures

When local capture saving is enabled in the options page, the extension stores capture artifacts in the browser's extension-local OPFS storage before the popup is shown:

Local copies in OPFS are removed after 30 days by default; you can configure the extension to keep them indefinitely or remove them as soon as the server receives the URL.

Setup

  1. Set up an ArchiveBox server and make sure it's accessible to the machine you're browsing on
  2. In ArchiveBox 0.9.0, open Admin โ†’ API โ†’ API Keys โ†’ Create an API Key, create a key, and copy it.
  3. Open Extension options โ†’ Configuration, paste the key into API Key, and enter your ArchiveBox server URL (e.g. https://archivebox.example.com) in Server URL. Save the configuration and test the connection. Extension configuration
  4. โœ… Test it out by right-clicking on any page and selecting Save to ArchiveBox, or by clicking the extension icon in the menubar. ArchiveBox popup

Development

โœจ Originally contributed by TJ Horner (@tjhorner), now maintained by @benmuth and the ArchiveBox team.

If you wish to contribute to (or just build for yourself) this extension, you will need to download and install Node.js and pnpm.

git clone https://github.com/ArchiveBox/archivebox-browser-extension
cd archivebox-browser-extension/

pnpm install
pnpm compile
pnpm build
pnpm build:edge
pnpm build:firefox
pnpm build:safari

For local development:

pnpm dev           # Chrome / Chromium
pnpm dev:edge      # Edge
pnpm dev:firefox   # Firefox
pnpm dev:safari    # Safari WebExtension build

For a production-style local build, load .output/chrome-mv3 into Chrome / Chromium using the Load Unpacked Extension UI, load .output/edge-mv3 into Edge using edge://extensions, load .output/firefox-mv3 into Firefox using about:debugging, or load .output/safari-mv3 in Safari with Settings โ†’ Developer โ†’ Add Temporary Extension.

To verify local retention with real server responses and the real one-minute clock, start a disposable ArchiveBox server without archive workers (so submissions remain queued), build the extension, and run:

ARCHIVEBOX_TEST_SERVER=http://127.0.0.1:18763 \
ARCHIVEBOX_TEST_KEY_FILE=/path/to/disposable-server-api-key \
node scripts/test-retention-live.mjs

The live test imports bookmarks through the options UI, submits them, checks disconnected/missing-server preservation, verifies OPFS and metadata deletion, restarts the service worker, and waits for automatic expiration after resubmission. It creates server test records and deletes one of its own records to test a missing snapshot; use a disposable collection. UI default/persistence and layout checks run with pnpm exec playwright test tests/retention.test.ts tests/options-responsive.test.ts.

Changelog


Alternative Extensions for Archiving

Other browser extensions that also do web archiving which may be a better fit if ArchiveBox doesn't suit your needs.

Other ArchiveBox Helper Projects

Other projects that help with ingest URLs into ArchiveBox from various sources.


License

MIT License