Browser Extension Setup
Connect the Arivu browser extension to a self-hosted instance without editing its manifest, then capture pages and selected text.
The Manifest V3 extension captures pages, links, and selected text into your own Arivu instance. Custom domains are configured from the popup. You do not need to edit manifest.json or source files.
Install an Unpacked Development Copy
Chrome
- Open
chrome://extensions/. - Enable Developer mode.
- Choose Load unpacked.
- Select the repository’s
extension/directory.
Firefox
- Open
about:debugging#/runtime/this-firefox. - Choose Load Temporary Add-on.
- Select
extension/manifest.json.
Connect Your Instance
- Open the extension popup and choose Settings.
- Enter
https://your-domain.example/apias the API URL. - Approve the browser permission request for your Arivu origin.
- Sign in to Arivu in the same browser profile and visit the app once.
The extension dynamically registers the token content script for the approved origin. It exchanges your web session for an audience-scoped extension token through /api/auth/extension-token; no manifest modification is required.
Capture
The popup can save the current page with an optional note, tags, and collection. Context-menu and configured keyboard actions can save a page or link directly. Selected text is sent as a quote annotation.
External-page annotation is opt-in. Enable it, then grant host permission only for sites where you want the selection composer. It never runs on the Arivu origin, where the built-in reader composer is used.
Troubleshooting
The extension keeps asking you to sign in
- Confirm Arivu is open and authenticated in the same browser profile.
- Confirm the API URL uses your exact origin and ends in
/api. - Reopen the app once so the extension can refresh its token.
A self-hosted save fails
- Save the API URL again and approve the origin permission prompt.
- Use trusted HTTPS in production.
- Confirm
/api/auth/extension-tokenis reachable through your reverse proxy.
Extension tokens are stored in session storage and accepted only by extension-audience routes. Revoking optional page access stops the external annotation overlay without deleting saved annotations.
Server-Side Complete Capture
The extension sends a normal owned capture to Arivu; it does not capture a screenshot or PDF in your browsing session. When the installer-managed native capture runtime is enabled, the server can independently render that saved page in the background and retain configured preserved copies. It does not receive the extension’s browser profile or cookies. Core-only extension capture continues through the direct HTTP path. See Preservation and Sharing.