Skip to content

jqssun/android-helium-browser

Repository files navigation

Helium Browser for Android

GitHub license build release

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

Helium Browser for Android

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 to Remove from Chrome.

Using Extensions

To use an extension's popup, open extensions menu, select the menu button next to the extension, and choose Pin to toolbar from the list. You can then open the popup using the extension's dedicated toolbar icon.

To run an extension in Incognito (OTR) mode, go to Manage extensions, find the extension you want to use in Incognito mode, select Details, and turn on Allow in Incognito.

Manifest V2 (MV2) extensions are supported. You can install uBlock Origin from Chrome Web Store.

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

All Vanadium patches are applied by default. While the full build aims to be consistent with Helium, downstream implementation of Helium patches is currently paused to ensure strict compliance with upstream licensing requirements. The diagram reflects the architecture of initial ported releases and serves as the target framework if resolution is achieved.

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 Vanadium, Helium, as well as ungoogled-chromium and various other upstream projects. All credit goes to the original authors and contributors. This project started around the same time as Helium Browser for Linux but it is not officially affiliated with the upstream Helium project.

About

Secure open-source Android browser with support for extensions

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages