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.
There are still lots of things we’d like to do. Contributions are welcome!
- Android & linux support
- Automatic updates using Omaha 4
- 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 tests
This repository does not contain the actual Chromium code it will be fetched using
Install chromium build depedencies for the target platform and then install
$ go install github.com/imperviousinc/beacon/tools/src/[email protected]
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
$ butil build debug
butil is just a wrapper around the actual tool. You can make changes to
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.
Beacon ports patches from Brave mainly for branding and shares a similar patching format/tooling with brave-core