Skip to content

ronin08/android-helium-browser

 
 

Repository files navigation

Helium Browser for Android

license build release

An experimental Chromium-based web browser for Android with extensions support, based on

Helium Browser for Android on Android Phone

Usage

Installing Extensions

Navigate to Chrome Web Store, then enable Desktop site by selecting the menu button in the top right corner and ensure the option is checked. Select Okay and proceed as normal if prompted with:

The Chrome Web Store is only available on desktop.

Once you select Add to Chrome, the extension will be installed in the background until the button changes into Remove from Chrome.

Debug URLs

To view and access the debug URLs, use chrome://chrome-urls. For Experiments, use chrome://flags.

WebRTC IP Policy

Consistent with both Helium and Vanadium, the option is available by selecting the menu button in the top right corner, then Settings, Privacy and security, then under Privacy, WebRTC IP handling policy. If you experience issues with WebRTC due to the IPs being shielded by default (e.g. Discord Voice), you may try to change it to Default public interface only, or Default.

Implementation

Warning

All builds are experimental, so unexpected issues may occur. Helium Browser for Android only attempts to improve security and privacy where possible. For better protection on Android, you should instead use GrapheneOS with Vanadium, which additionally integrates patches into Android System WebView and provides significant kernel and memory management hardening on the OS level.

---
config:
  layout: dagre
---
flowchart TD
 subgraph s1["Helium"]
        n5["Generic Patches<small><br>patches/series</small>"]
        n6["Name Substitution<small><br>utils/name_substitution.py</small>"]
        n7["Version Patch<small><br>{*version,revision}.txt</small>"]
        n8["Resource Patch<small><br>resources/*resources.txt</small>"]
  end
 subgraph s2["Vanadium"]
        n9["Generic Patches<small><br>patches/*.patch</small>"]
  end
 subgraph s3["Helium Browser for Android"]
        n11["GN Build Configuration<small><br>args.gn</small>"]
        n12["Signed Release"]
  end
    n1["Chromium"] --> s1 & s2
    n5 --> n6
    n6 --> n7
    n7 --> n8
    s1 --> s3
    s2 --> s3
    n11 --> n12
    n5@{ shape: subproc}
    n6@{ shape: subproc}
    n7@{ shape: subproc}
    n8@{ shape: subproc}
    n9@{ shape: subproc}
    n11@{ shape: subproc}
    n12@{ shape: subproc}
    n1@{ shape: rounded}
    classDef Aqua stroke-width:1px, stroke-dasharray:none, stroke:#46EDC8, fill:#DEFFF8, color:#378E7A
    style n5 stroke:#FF6D00
    style n8 stroke:#FF6D00
Loading

The full build aims to be consistent with Helium, which means additional patches are necessary before all features can be ported over. All Vanadium patches are applied by default. Further patches are underway.

Building

This repository provides the build script to compile on the latest Ubuntu, and may also work with other Linux distributions.

To build these releases yourself via CI (e.g. GitHub Actions), fork this repository. Supply your base64 encoded keystore.jks and local.properties (containing your keyAlias, keyPassword and storePassword) to Repository secrets under Settings > Secrets and variables > Actions. To generate a release, go to Actions, select Build, and select Run workflow. Under Runner, you can either use a GitHub-hosted runner by entering ubuntu-latest, or self-hosted for your own hardware.

Credits

This project would not have been possible without the huge community contributions from Helium, Vanadium, as well as ungoogled-chromium and various other upstream projects.

All credit goes to the original authors and contributors. This project is named to reflect support for Helium's naming in a recent controversy.

About

Private and secure Android browser with support for browser extensions.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 100.0%