Skip to comments.Beaker: the Decentralized Read-Write Browser
Posted on 03/04/2019 7:19:35 AM PST by ShadowAce
The best future of the internet may be peer-to-peer. The Beaker Browser offers a glimpse.
When Tim Berners-Lee invented the World Wide Web, he envisioned a single software package that allowed everyone to create and read pages across the internet. Much has happened in the intervening years, but this idea is starting to come back.
Many of the web's founders now realize that they didn't sign up for a web dominated by a few giant corporations relying on collecting massive amounts of data on its users to sell to advertisers.
The Beaker Browser project is creating a decentralized peer-to-peer web browser that, if successful, could return the web to its users. Let's explore how this is done!
Beaker Browser serves as a bridge to a possible future for the weband the internet. You can use Beaker today to surf the web like any other Chromium-based browser. More important, you also can use Beaker to create and support a new, decentralized, server-less internet.
Beaker Browser uses a peer-to-peer network protocol called Dat to create a decentralized web platform. Websites spread from people seeding them, BitTorrent-style. When following news and discussions about the decentralized web, you'll often hear about blockchain as an underlying basis. The Beaker team thinks that blockchain negotiations and "proof of work" requirements unnecessarily slow down the web. It's better to build "communities of trust" among peers than to try to eliminate trust altogether.
Centralized servers, internet service providers and web hosting firms restrict the options for users to collaborate with one another to build a better world. Comcast, AT&T and cable companies seek to end the principle of net neutrality to narrow the content choices users have always made on their own. At the same time, Facebook, Amazon, Google and other giant content corporations seek to keep us locked inside their respective walled gardens, persuading us that they have all the content we'll ever need. There's no need to visit the open internet. Both sides of this corporate clash do this to maximize profits for themselves.
Users deserve better, and Linux users want all the choices.
The Dat Project describes itself as "Modeled after the best parts of Git, BitTorrent, and the internet, the Dat protocol is a peer-to-peer protocol for syncing files and data across distributed networks."
Dat began as a file-sharing protocol, designed to allow users to store and share encrypted files without using centralized services like Dropbox. With the Dat Desktop app, you can make any folder on your system use the Dat protocol. Every file in that folder is encrypted with a private key. Dat also allows for storing version information for each file shared on the network.
The easy way to install v0.8 of Beaker is to head to https://beakerbrowser.com/download and pick up the AppImage. You can get browsers for Mac and Windows here as well. To stay on the bleeding edge, grab and compile the latest source from GitHub: https://github.com/beakerbrowser/beaker.
Note: Beaker is a 64-bit application. If you run a 32-bit Linux, you're out of luck for the moment.
If you haven't used AppImage to install software yet, you may find this process smile-inducing. Just make the image file executable. You then can run it from the shell or GUI file manager. Beaker will ask to integrate with your existing desktop environment, adding itself to your app launcher for easy access.
Beaker is based on Chromium, so the user interface should be reasonably familiar. The default start page (beaker://start/) has a search dialog and a set of default Pinned Bookmarks. Following these links will give you a pretty good introduction to the Beaker project and the peer-to-peer web. Note that right-clicking on any element on a page offers an Inspect Element option to open Developer Tools. Now you're ready to browse.
Figure 1. Learn more about Beaker and the peer-to-peer web on the default Beaker://start page.
Note: the screenshots in this article were taken from Beaker on openSUSE Leap 15.
Entering any standard web address in Beaker will display exactly as it would in another browser, so that's not especially interesting. Where you begin to see the bridge to the future is when you look at a Dat-based page.
Start out by visiting the HTTPS-based Take a Tour intro page. On the right side of the address bar, you'll see that this page has a P2P version available. Click that button to see the Dat version of the page. The page display should be identical to the HTTPS site. The differences are subtle. The lock icon on the HTTPS site is replaced by a Share icon; click the icon for a pointer to the Beaker wiki on GitHub for more information. Because this page supports both Dat and HTTP, you'll see the inverse Go to HTTP/S version button too.
A peer-to-peer network like BitTorrent and Dat depends on individuals sharing files with each other. You don't need a server to contain all the content, just some folks willing to help out. On the right end of Beaker's address bar, you'll see another share icon, with the number of peer sites that currently are sharing this site with you. Click that icon, and you can join the peer-to-peer network, also called a swarm. By default, you're sharing the page only while you're visiting. The box tells you the size of the page. You can select a longer period of time to seed the page with the slider: a day, week, month or forever.
Figure 2. Keep this site online when you seed it on your computer.
When you seed a site, Beaker stores a read-only copy of the page in your /home directory (in openSUSE, it's inside .config/Beaker Browser). Seeded sites also go into Beaker's Library, along with the sites you make. You then can search your Library for relevant content.
Click the three vertical dots menu next to the shares site count to access a ton of details about the site. Choose the View Source option.
The first thing you're likely to notice is the Dat link for the page in the address bar. This is a 64-character public key identifier that never changes. The link encrypts every file being transferred, controls access to the archived files and includes version history. Whoever created the Dat link created (and stores) the private key for that link/content. This makes a Dat link more secure than even an IP address transported via HTTPS. Side benefit: you don't need to persuade system administrators to enable a new IP protocol to identify computers on a network. We have seen how the transition from IPv4 to IPv6 has gone to date.
The Files tab connects with everything connected to the page content. Click Seed to spread the site to other places. Click Make an Editable Copy to download a copy of the site (or portions of it) to edit.
Click the Network tab to identify who else is seeding the site. You can use this page to see what IP addresses are sharing, and use the Swarm Debugger to see if those sharing sites are credible and trustworthy.
Click the About tab to get a description of the site and a downloadable copy of the Favicon sitting in the corner of the browser.
When Tim Berners-Lee invented the web, his browser also could write and edit pages. Beaker's founder, Paul Frazee, originally wanted his browser to work the same way. He quickly realized that most web developers today have their own favorite editor. Beaker still provides an editor, but you also can import web files from any editor to create a website.
Figure 3. Create and edit peer-to-peer websites. You can share files too!
To create a Dat-based website in Beaker:
These files remain on your system only until you are ready to share the site with the world (or some subset of it). You can continue writing and editing files in the project folder as long as you choose. Change the project title and Favicon on the Settings page.
Now you've made your website, and you want to make sure everyone sees it. And by "everyone", I mean "people who can't see Dat links". The problem is that if you enter dat://beakerbrowser.com into Firefox, the browser may deliver a Google search page. Among the results is https://beakerbrowser.com, and you start wondering how that got there. If you already have Beaker installed, Firefox will suggest opening Dat links with Beaker.
Beaker supports the /.well-known web convention, and you can set this up to create an HTTPS version of your site. An easy way to do this is to copy some already shared files from beakerbrowser.com. Here's how:
Beaker developer Tara Vancil describes what's going on underneath like this:
Beaker piggybacks off of DNS authentication in combination with the /.well-known convention to enable dat:// shortnames. When you visit dat://taravancil.com in Beaker, it sends a request to https://taravancil.com/.well-known/dat and expects to find a file that looks like this: dat://6dff5cff6d3fba2bbf08b2b50a9c49e95206cf0e34b1a48619a0b9531d8eb256/TTL=3600
Because Beaker can trust the DNS resolution, Beaker can trust that dat://taravancil.com should point to dat://6dff5cff6d3fba2bbf08b2b50a9c49e95206cf0e34b1a48619a0b9531d8eb256.
To make your new site available to readers, all you really have to do is send your site's Dat link to someone else.
Fun fact: you can share any files in your library, including the Beaker AppImage!
Sharing your link on social media will begin to generate traffic as well.
You are now part of the P2P Web!
Be aware that your website is only online when the Dat files are online. Unless someone else is seeding your site, it shuts down when your computer does. So, encourage your peers to seed forever. One way around this limitation is Hashbase.io, "Hosting for the peer-to-peer Web".
Beaker is still a project in infancy. Dat is a little further ahead, but both projects could use some help. Here are some ways you can pitch in:
When Tim Berners-Lee invented the World Wide Web...
Why would anyone in their right mind want anything to do with Google? Open-source, or otherwise?
marked for when I have time
So I read the first half; the sales pitch and then some of the technical explanation, then I started skimming past the authoring/editing bit.
So basically we have a bit torrent version of the internet (traditional internet; webpages/markup/content) with seeds instead of servers. You’re content will be available as long as someone is seeding it.
I can see a lot of content being lost this way.
Probably a good thing though. Kinda like darwinism for content. Maybe some good stuff will get lost, but most likely the unfit will not survive.
I can also see this being treated as ‘dark web’.
There will be a lot of cries about illegal content. Stolen and protected content, illicit content, fringe content, etc. I’m sure some of it will be valid, but I am also sure that some will be the old guard attacking the new threat to their model.
I also suspect that this will be very exploitable by at least two groups; those who use bots and other systems to push a false or slanted narrative, and also those who find a way to built p2p sub networks based on interests, some for good, some not so much... which may be subjective value judgements, but not all will treat it that way
He certainly sets the internet up to be a monster of some sort lurking in a dark, dank forest. Brrrr.
But after reading the cure, I feel like the kid home from kindergarten asked to describe his day.
“It was exhausting. All day long it was ‘share, share, share.’”
I had the same question. I played with this for awhile a little over a year ago and the concept is very interesting, but it wasn’t close to being ready and stable yet. But once I started monitoring progress of it it seemed still too beta needed a LOT of bug work that was not getting done very fast. There seemed to be a lack of dedication and serious effort coming from what few developers were actually working on it. Maybe they have finally got some more accomplished since then.
I find this concept very interesting because it takes the power away from the big ISPs. But does that mean if something like FR went to this...everyone one of us could be hosting the entire FR website? It appears that would be a bit much. So what is the real application of this? Sharing my own facebook/twitter type info? Posting memes and family photos? If so that is great too...i’d rather see Facebook fail more than ISPs.
Distribute. Computers are cheap.
Keep one Google PC and also use others.
“Many of the web’s founders now realize that they didn’t sign up for a web dominated by a few giant corporations relying on collecting massive amounts of data on its users to sell to advertisers.”
complete nonsense. there are hundreds of millions of websites hosted by hundreds of thousands of servers owned by thousands of hosting companies ... anyone can host their own website if they’re technically adept enough to do so ...
right now, i test my websites locally with my own internal domain “.here” short-circuited into my own local WAMP server, and could convert that to .com and point my domain resolvers to my own fixed IP number if i wanted to go to the trouble of keeping a server live 24x7x365 ...
most of that information collected by those big giant corporations is VOLUNTARILY given up by a bunch of very foolish people who’ve decided what a great idea it is to tell facebook and the like about every minute facet of their dreary, boring and nearly non-existent lives ...
I played with it for a bit. It is kind of like P2P/Group networking. Your username is a URL Domain address so it’s like networking servers of choice together like in a cloud. Kind of similar to the like/trust/follow friends or family works on current social sites but without the 3rd party host platform.
Democrat War Rooms will attack it and swing it left...
Was Dr. Bunsen Honeydew involved?
Disclaimer: Opinions posted on Free Republic are those of the individual posters and do not necessarily represent the opinion of Free Republic or its management. All materials posted herein are protected by copyright law and the exemption for fair use of copyrighted works.