Skip to content

Build browser based on Chromium Embedded Framework #25

@liamzebedee

Description

@liamzebedee

CEF is a framework developed by Google engineers which exports an interface to the Chromium browser engine in C++. It's the basis of Electron, the new Arc browser, as well as the foundation for all the other "webview-based apps" like Spotify and Steam and so on.

Dappnet's client is significantly complicated by the fact that we need to make websites HTTPS-compatible, in order for the apps to function due to a myriad of complex undocumented web application security policies enforced by the browser (such as apps using websockets requiring only HTTPS connections, and other things). For Dappnet v1, the extension used a custom root CA installed on the user's machine - obviously not ideal.

An alternative is to build a browser akin to the Tor Browser, a fork of firefox, where .onion websites inherit similar permissions to HTTPS websites. I built a prototype of this using Electron but it had no browser address bar. It's also written in javascript, which just feels like the wrong tool to build a browser in.

So I am wondering - could we create a crypto web browser, like Brave but using CEF? Where apps are distributed in web packages, where any web page is saveable to a "webpackage" format and natively "pinnable" to a personal instance. Where the wallet is built-in at a browser level, but much more performant than an extension, which suffers from cold boot every single time.

Originally this idea seemed a bit too far fetched, in terms of my intuition whether it would be a good long-term technological bet. But after seeing this tweet, there is actually a mountain of evidence that the web platform is ossifying (much like the world has converged on Unix paradigms) and Chrome is the Linux of the web application OS:

https://twitter.com/fkasummer/status/1826890244873953466

Screenshot 2024-08-25 at 4 00 25 pm

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions