/agregore-browser

A minimal browser for the distributed web

Primary LanguageJavaScriptGNU Affero General Public License v3.0AGPL-3.0

Agregore Browser

A minimal web browser for the distributed web

Build Status

Download the installer

Discord

Videos

Overview from SpeakeasyJS

Watch the intro video from Dat Conference

Intro to IPFS interface from IPFS meetup

5 minute overview from Dweb meetup

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

Agregore demo

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

  • Open links in new windows (right click on element)
  • Find text on the page (ctrl+f to bring into focus, esc to hide)
  • Autocomplete URLs from history (type in the URL bar, up/down to navigate, right to autocomplete)
  • Persist open windows when quitting
  • Web Extension support
  • 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))

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, git, and yarn
  • Clone the repo
  • Pull your clone
  • Load submodules with git submodule update --init --recursive
  • Run yarn or npm install
  • Run yarn start or npm start
  • After coding, when ready to submit, run standard --fix or npm run lint
  • Push to your clone
  • Submit a pull request

Other notes:

  • To debug extensions, run yarn debug
  • 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.