Awesome
Agregore Browser
A minimal web browser for the distributed web
<p align="center" style="float: right"> <img src="./build/icon.png" width="333px"> </p>Videos
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})
andwindow.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
ornpm install
to install dependencies - Run
yarn start
ornpm start
to start the browser and test your changes - After coding, when ready to submit, run
npm run lint
oryarn 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