Agregore Browser
A minimal web browser for the distributed web
Website
Download the installer
Matrix Chat
Discord Chat
Videos
Overview from SpeakeasyJS
Watch the intro video from Dat Conference
Intro to IPFS interface from IPFS meetup
5 minute overview from Dweb meetup
Decentralized Web - Bloom Fireside
Goals
- Enable people to make and use local first apps using the web
- Be minimal (fewer built-in features, leave more to the OS)
- Be open to anything p2p / decentralized / local-first
- Rely on web extensions for extra functionality
- Work with mesh networks / Bluetooth Low Energy networks
Features
Keyboard Shortcuts
(Ctrl means Command or Control) |
Shortcut |
Does |
Is configurable |
Alt |
Show Menu Bar |
- |
Ctrl+N |
New Window |
+ |
F11 |
Fullscreen |
- |
Ctrl+M |
Minimize |
- |
Ctrl+W |
Close |
- |
Ctrl+Shift+I |
Open Devtools |
+ |
Ctrl+] |
Navigate Forward |
+ |
Ctrl+[ |
Navigate Backward |
+ |
Ctrl+L |
Focus URL Bar |
+ |
Ctrl+F |
Find in page |
- |
Ctrl+R |
Reload |
+ |
Ctrl+Shift+R |
Hard Reload |
+ |
Learn More |
+ |
Open Extensions Folder |
+ |
Ctrl+. |
Edit Config File |
+ |
Other features
- Web Extension support
- Built-in Markdown/Gemini/JSON rendering extension
- Built-in QR code scanner and generator extension
- Generate a QR code for the current page
- Scan a QR code from the browser action window.
- Right click a link or image to generate a QR code for it
- Built-in ad blocker (ublock origin)
- Use local and cloud LLMs via
window.llm.chat({messages})
and window.llm.complete("prompt")
- Built-in support for creating web archives via ArchiveWeb.page
- Open links in new windows (right click on element)
- Autocomplete URLs from history (type in the URL bar, up/down to navigate, right to autocomplete)
- Persist open windows when quitting
- Save files from pages (any protocol, right click it)
- Set as default browser (click Set As Default in the menu bar (
ALT
))
- Set as default Torrent handler (click Set as Default Torrent in the menu bar (
ALT
))
- Auto-convert SSB sigils, BitTorrent magnet links,
/ipfs/Qm
paths, and /ipns/
paths to proper URLs.
- Configure whether the menu bar should be visible by default (edit .agregorerc
autoHideMenuBar
property)
Docs
Check out the documentation.
Contributing
Feel free to open a Github issue if you wish to tackle one of the items on the roadmap, or message @RangerMauve directly on whatever platform you can find them on.
This project uses the StandardJS code style. Please format your code with standard --fix
or run npm run lint
.
To build from source do the following:
- Set up node.js (at least Node 18), git, and yarn
- Set up Node-gyp and its dependencies for your OS
- fork the repo
- Pull your fork to your computer
- Load submodules with
git submodule update --init --recursive
- Run
yarn
or npm install
to install dependencies
- Run
yarn start
or npm start
to start the browser and test your changes
- After coding, when ready to submit, run
npm run lint
or yarn lint
to check code style
- Push to your clone
- Submit a pull request
Other notes:
- To debug extensions, run
yarn debug
to have devtools opened for their background pages
- If you're interested in a CLI for these protocols, check out curld
cURL for Distributed Web
. That project supports the same protocols as Agregore, but in a terminal way.
- To download the latest versions of ArchiveWeb.page or Ublock Origin, run
yarn download-extennsions