Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/imperviousinc/beacon
Beacon browser for desktop
https://github.com/imperviousinc/beacon
browser certificate-authority dane decentralized dnssec webpki
Last synced: 3 months ago
JSON representation
Beacon browser for desktop
- Host: GitHub
- URL: https://github.com/imperviousinc/beacon
- Owner: imperviousinc
- License: mpl-2.0
- Created: 2022-04-21T15:37:14.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-05-10T23:49:31.000Z (over 2 years ago)
- Last Synced: 2024-06-18T23:01:10.488Z (5 months ago)
- Topics: browser, certificate-authority, dane, decentralized, dnssec, webpki
- Language: C++
- Homepage:
- Size: 4.42 MB
- Stars: 131
- Watchers: 8
- Forks: 16
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
-------
Note: ⚠️ Beacon is still in beta use at your own risk.
A first-class browsing experience for a decentralized internet built with web technologies and secured without third parties. Trustless HTTPS with native DANE support and a DNSSEC chain secured by a peer-to-peer light client.
## How it works
- Beacon syncs block headers to retrive a verifiable merkle tree root.
- Requests proofs from peers to retrive a DNSSEC signed zone.
- Performs in-browser DNSSEC validation.
- Verifies certificates with [DANE](https://datatracker.ietf.org/doc/html/rfc6698).### TODOs
There are still lots of things we'd like to do. Contributions are welcome!
* Android & linux support
* Automatic updates using [Omaha 4](https://docs.google.com/document/d/1VlozzSjriRD5Yn9cLzjTrSvXPkxtq47mk2JejkczAss/edit)
* Signed binaries for windows
* Widevine support
* DNSSEC prefetching to reduce latency
* DANE support for ICANN domains
* Experiment with embedding a DNSSEC chain in x509 certificates
and/or a TLS extension (RFC9102).
* Experiment with embedding HNS proofs in x509 certificates.
* Block internal Chrome telemetry & other privacy enhancements
* More testsDevelopment
-------This repository does not contain the actual Chromium code it will be fetched using `butil`.
### Get started
Install chromium build depedencies for the target platform and then install `butil`.
```
$ go install github.com/imperviousinc/beacon/tools/src/butil@latest
```
`butil` is beacon's development utility. It helps you apply patches and do various overrides to chromium. Make sure it's in your path.```
$ mkdir beacon && cd beacon
$ butil clone
$ butil init
```
This may take a while since `init` will fetch chromium. Once it's done, this repo will be at `src/beacon`#### Building
```
$ butil build debug
```#### Updating `butil`
`butil` is just a wrapper around the actual tool. You can make changes to `tools/src/realbutil`
and it will get rebuilt automatically.#### Making changes to Chromium
Make your modifications to chromium and when you are ready to transfer those into patches:
Note: This will remove any patches that are no longer in chromium.```
$ butil patches update
```To remove a patch just undo the changes in chromium repo and call patches update again.
## Credits
Beacon ports patches from Brave mainly for branding and shares a similar patching format/tooling with [brave-core](https://github.com/brave/brave-core.git)