GithubHelp home page GithubHelp logo

tonytkachenko / adguardcert Goto Github PK

View Code? Open in Web Editor NEW

This project forked from adguardteam/adguardcert

0.0 0.0 0.0 118 KB

Magisk module that allows using AdGuard's HTTPS filtering for all apps

Home Page: https://adguard.com/

Shell 100.00%

adguardcert's Introduction

AdGuard Certificate

Based on Move Certificates.

This Magisk module supplements AdGuard for Android and allows installing AdGuard's CA certificate to the System store on rooted devices.

Attention Current version of this module is designed for Adguard for Android 4.2 and newer.

If you're using AdGuard for Android v4.1 or older, please use the earlier version of this magisk module: https://github.com/AdguardTeam/adguardcert/releases/tag/v1.2.

Explanation

Chrome (and subsequently many other Chromium-based browsers) has recently started requiring Certificate Transparency logs for CA certs found in the system certificate store.

If your device is rooted, and you want AdGuard's CA certificate to be installed in the system store , then AdGuard will generate two CA certificates and ask you to install both of them in the user store. This module moves one of them to the system store. The certificate that is left in the user store is cross-signed with the one that goes into the system store. This allows apps that don't trust user certificates to still accept AdGuard's certificate, while apps that do trust user certificates (like Chrome or other browsers) will construct a shorter validation path to the certificate stored in the user store. And since it is stored in the user store, they won't require CT logs.

Why would I want AdGuard's certificate in the system store?

AdGuard for Android provides a feature called HTTPS filtering. It allows filtering of encrypted HTTPS traffic on your Android device. This feature requires adding the AdGuard's CA certificate to the list of trusted certificates.

By default, on a non-rooted device only a limited subset of apps (mostly, browsers) trust the CA certificates installed to the user store. The only option to allow filtering of all other apps' traffic is to install the certificate to the system store. Unfortunately, this is only possible on rooted devices.

Usage

  1. Enable HTTPS filtering in AdGuard for Android and save AdGuard's certificate(s) to the User store
  2. Download the .zip file from the latest release.
  3. Go to Magisk -> Modules -> Install from storage and select the downloaded .zip file.
  4. Reboot.

If a new version comes out, repeat steps 2-4 to update the module.

The module does its work during the system boot. If your AdGuard certificate(s) change, you'll have to reboot the device for the new certificate to be copied to the system store.

Illustrated instruction

Open Magisk modules

Install from storage

Select AdGuard certificate module

Reboot the device

Please note that in order for Bromite browser to work properly, you need to set the "Allow user certificates" flag in chrome://flags to "Enabled".

Bromite setup

Allow user certificates flag

Building

./dist.sh

How to release a new version:

  1. Push a new tag with a name like v*.
  2. A new release will be automatically created.

adguardcert's People

Contributors

ameshkov avatar chaoscalm avatar grumaxxx avatar ngorskikh avatar sfionov avatar tonytkachenko avatar vbagirov avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.