Beaker is an experimental peer-to-peer Web browser based on Electron, Chromium, and Node.js. Beaker includes new Dat-based APIs for building hostless applications while retaining compatibility with the traditional Web.
The Beaker team strives to build a person-to-person web. Initially, the Web enabled communication, collaboration, and creativity at a scale previously unimaginable, but the Beaker team expresses frustration that the web has devolved into a collection of isolated platforms which discourage customization and interoperability.
Beaker adds experimental features and capabilities to explore how the browser can help uphold the vision of an open Web. Besides typical websites using HTTP/HTTPS with Chromium, Beaker also supports that Dat protocol, offering a collection of HTML, CSS, and JavaScript resources to form a website or web app.
Dat is a peer-to-peer protocol, where visitors to a dat://
site connect directly to each another, downloading and sharing files. Dat follows P2P concepts such as peers, those using the network, and seeding, where a peer contributes bandwidth to re-upload a site’s resources.
When you visit a website with HTTPS that also supports Dat, the Beaker browser provides a notification that a peer-to-peer version of the site is available.
Dat restores some of the view source capabilities of the web with a file browser and source code editor. View source will show all of the resources from a Dat site:
Beaker includes straightforward tools for creating Dat sites with a Create New feature that generates a Dat site template:
Beaker then makes it easy to publish and edit Dat sites directly from the web browser. Beaker also works with other editors such as VS Code and vim by setting a local directory and syncing the site's resources with a directory on the local computer. Changes made to the website directory automatically get published to the Dat website. By default, editing is only provided to the original website author, though it is also possible to provide an editable or forkable copy of your site. Beaker expects users to use this to be able to make light customizations to websites to match user interface preferences without breaking application functionality.
Beaker supports live-reloading for all dat://
websites which are useful for projects under edit by users, and remote websites. The Beaker team believes that peer-to-peer websites make it much easier for anyone to create and publish a website without needing the knowledge to run and manage a web server.
Beaker is an experimental, open source, peer-to-peer Web browser available under the MIT license. Contributions and feedback are encouraged via the Beaker GitHub project and should follow the Beaker contribution guidelines and code of conduct.