Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: madeye/mandroid
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: GrowingPPP/mandroid
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 6 commits
  • 40 files changed
  • 2 contributors

Commits on Oct 22, 2026

  1. feat: add capture certificate injection

    Resolve the proxy's CA, inspect the presented chain, and pre-flight that the
    proxy signs with the chosen CA before installing the certificate into the
    guest trust store.
    
    - Proxy probe retrieves the CA and reads the chain through the shared OpenSSL
      helper, including the CA constraint extension.
    - The chain verdict is decided from the anchor comparison, and the chosen CA
      is decided once before the trust object is built.
    - Certificate record and install orchestration refuse a concurrent install,
      clean up the guest on failure, and drop the record when it cannot be
      written.
    - The injector factory selects the path from the session capability probe:
      a KernelSU module, or a writable system session with an optional shell-root
      ramdisk. Writable system sessions can pick the system image tag.
    - Trust store staging is kept out of later rebuilds, and the APEX store is
      probed from the zygote listing so apps see the injected entry.
    - Settings expose certificate import and install state, covered by unit tests,
      fixtures, an integration script, and documentation.
    张光辉
    张光辉 committed Oct 22, 2026
    Configuration menu
    Copy the full SHA
    ddd403c View commit details
    Browse the repository at this point in the history
  2. fix: stop adb shell from eating the acceptance commands

    The adb shell in guest() inherited stdin, so it consumed the here-document
    that feeds run_commands: only the first install command ran and
    service.sh never executed, which made every install look broken.
    
    The removal drift guard also expected the module directory expanded into
    the entry path, while the removal script names the entry through $MODDIR.
    Accept either form after checking that MODDIR itself is the expected
    directory.
    张光辉
    张光辉 committed Oct 22, 2026
    Configuration menu
    Copy the full SHA
    739facb View commit details
    Browse the repository at this point in the history
  3. docs: record the init namespace the store bind misses

    The acceptance run on the Play image with a shell-root ramdisk showed the
    bind into the init mount namespace failing while the shell's namespace and
    zygote64's accept it. Apps still trust the certificate, yet the claim that
    every namespace is rebound is too strong and the install ignores the one
    line of standard error. Record the measurement and the question it leaves.
    张光辉
    张光辉 committed Oct 22, 2026
    Configuration menu
    Copy the full SHA
    fd8103d View commit details
    Browse the repository at this point in the history
  4. Merge pull request #1 from GrowingPPP/fix/capture-certificate-accepta…

    …nce-stdin
    
    fix: stop adb shell from eating the acceptance commands
    GrowingPPP authored Oct 22, 2026
    Configuration menu
    Copy the full SHA
    79c8ca6 View commit details
    Browse the repository at this point in the history
  5. docs: record what the certificate injection verified on device

    The KernelSU path now has runtime evidence: the acceptance script passes the
    install, namespace, reboot, rebuild and removal cycle, and a real app with a
    per-app proxy set through Mandroid was captured decrypted after installing a
    certificate file from Settings, having failed the TLS handshake before.
    
    Leave the writable-system path, the acceptance script's writable-system
    shape, and certificate pinning marked as unmeasured, and update the unit
    suite count.
    张光辉
    张光辉 committed Oct 22, 2026
    Configuration menu
    Copy the full SHA
    93252eb View commit details
    Browse the repository at this point in the history
  6. docs: record every certificate acquisition path

    Pasted PEM and Get from Proxy both complete an install against Reqable
    3.3.1, joining the file picker already measured.
    
    The proxy path resolves through the issuer carried in the TLS chain, not
    through a download endpoint: mitm.it answers 404. That contradicts the
    earlier note that Reqable sends only the leaf, so record the version the
    measurement belongs to.
    张光辉
    张光辉 committed Oct 22, 2026
    Configuration menu
    Copy the full SHA
    86c260e View commit details
    Browse the repository at this point in the history
Loading