Beaker Browser: For the P2P Web

Could a decentralized, peer-to-peer web browser that anyone can easily create and host pages be the next generation for the Web?

Beaker Browser: For the P2P Web

Could a decentralized, peer-to-peer web browser that anyone can easily create, edit, publish, and host their own website be the next revolution for the web? If it is, Beaker Browser is at the forefront of this movement.

In a way, Beaker Browser recreates the foundation of the first web browser that was started by Tim Berners-Lee. The first web browser allowed you to create your own website. However, once Netscape Navigator arrived on the scene, web browsers became more commercialized and lost the functionality of being able to contribute to the web.

An early prototype of Beaker Browser

Beaker Browser is built on Chromium using the Hypercore Protocol that a few other small peer-to-peer projects are based on. BitTorrent is a good example of a popular peer-to-peer application/protocol, and that is how this browser works as well. Although BitTorrent received negative publicity for its use in distributing pirated content, there is nothing illegal in using peer-to-peer applications; how you use them could be. As a matter of fact, peer-to-peer sharing is built into Windows updates. The Hypercore Protocol has NAT punching built in, so you're able to host your site behind a consumer router.

The browser also utilizes Hyperdrives, which act as a peer-to-peer filesystem and is where websites are stored on your computer. You have the option of hosting other hyperdrives, and ones you browse are also hosted. The peer-to-peer nature of sharing hyperdrives removes a lot of the hosting costs associated with larger websites. The more people browsing your site means more seeding to other people.

Beaker Browser window showing website preview pane on left, code on top-right, and file structure on bottom-right.
An example of Beaker Browser while editing my hyperdrive

The browser can be installed on x64 devices with Windows, Linux (as an AppImage), and Mac. Once installed, you are greeted with a few links to get you started. It includes documentation and an address book to find other hyperdrives. Website links look a little different compared to what we typically see with HTTP. For example, the link to my hyperdrive is hyper://66d3d45c6523bc9c7c81241c3da2392788cfbbcadf87749e19b3dd78e7e4850a/index.html. The hyper:// indicates it is using the Hypercore Protocol. The next part is a 64-character hex value that points to your hyperdrive. Initially, you are given a profile drive that you can edit and publish in the address book if you wish.

A more detailed view of creating websites in an early version of Beaker Browser

To create content and build your website, you need to create a hyperdrive. I typically use the New Hyperdrive From Folder… option to easily add images and other files to include into my webpage. A file tree appears which allows you to create files. Traditionally, you want to create an index.html file. A code editor is built into the browser that works well with HTML, CSS, and Javascript.

There are downsides to the browser at the time this article was written. You need to leave your computer running with Beaker Browser on constantly to have your website available 24/7. Another downside is the browser is only available on x64 platforms and not ARM yet. There are means to host your hyperdrive on a Raspberry Pi, but they are not user friendly. The developers are still working on this project to make it even better, so the latter problem may be solved in due time.

If you build websites, want to host your own site, enjoy tinkering with technology, or just an early adopter, give Beaker a try. It's an open-source project (MIT license) run by Paul Frazee.