metadata and whatever.
fiatjaf
835aa869
2 months ago

README.md

Nostr Web Archiver

Nostr Archiver Extension is a browser extension for archiving websites and publishing them to blossom. This is a fork of ArchiveWeb.page with the goal of replacing archive.org with a decentralized, crowdsourced, and crowdfunded effort to preserve the legacy of the web, fix the problem of broken links, and harness the power of the multitude instead of delegating this important job to a single organization.

The extension creates, stores, and replays high-fidelity web archives stored directly in the browser's storage (via IndexedDB). Archives can be published to Nostr relays using the Blossom protocol for decentralized storage and sharing.

For more detailed info on how to use the extension, see the ArchiveWeb.page User Guide.

Architecture

The extension makes use of the Chrome debugging protocol to capture and save network traffic and create WARC or WACZ files. Archives are published to Blossom servers and announced on Nostr.

Development

Prerequisites

  • Node >=12

  • npm or yarn

Installation

To build the extension locally for development, do the following:

  1. Clone this repo:

    git clone nostr://npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6/nostr-archiver-extension
  2. Change the working directory:

    cd nostr-archiver-extension
  3. Install dependencies:

    npm install
  4. Make development build:

    just build-dev

The development build can now be used to develop the extension.

Developing the Extension

To install the extension locally, load the development build as an unpacked extension:

  1. Open the Chrome Extensions page (chrome://extensions).

  2. Choose 'Load Unpacked Extension' and point to the ./dist/ext directory in your local copy of this repo.

  3. Click the extension icon to show the extension popup, start archiving, etc...

Update extension on code changes

To watch source code files and recompile the development build on change, run:

just dev

Now, saving changes to source will automatically rebuild the dist/ext directory.

After making changes, the extension still needs to be reloaded in the browser.

  1. From the Chrome extensions page, click the reload button to load the latest version.

  2. Click the extension icon to show the extension popup, start recording, etc... The dev build of the extension will be a different color from the production version.

Build

To create a production build of the extension, run:

just build

The built extension will be available in the ./dist/ext/ directory.

Repository Details

name / identifier

nostr-archiver-extension

nostr clone url

nostr://npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6/relay.ngit.dev/nostr-archiver-extension
just install ngit and run
git clone nostr://...

description

a browser extension for archiving websites and publishing them to blossom

git servers

https://relay.ngit.dev/npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6/nostr-archiver-extension.git
https://gitnostr.com/npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6/nostr-archiver-extension.git

maintainers

earliest unique commit

36fedb4541bd2402ae069f8b79a969130b6628b4

gitworkshop.dev logo GitWorkshop.dev v2025-11-18+415c352