# elcapitanoe/pixelprop-webroot architecture

> Architecture diagram of the GitHub repository elcapitanoe/pixelprop-webroot, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/elcapitanoe/pixelprop-webroot
- Repository: https://github.com/elcapitanoe/pixelprop-webroot

## Overview

Pixel Prop Webroot is a KernelSU/APatch WebUI for inspecting module and device properties, applying Play Integrity Fix fingerprints, configuring TrickyStore targets, and maintaining runtime settings. The main workflow loads the dashboard, discovers the active module and compares its spoofed properties with device properties; users can then choose quick apply or build a fingerprint from OTA release and device data, write it to module storage, and configure TrickyStore. The graph reflects documented capabilities; unsampled implementations are represented only where the README and tree support them.

Main entry points: [`js/dashboard-core.js`](https://github.com/elcapitanoe/pixelprop-webroot/blob/main/js/dashboard-core.js) (Dashboard controller), [`js/pif-builder.js`](https://github.com/elcapitanoe/pixelprop-webroot/blob/main/js/pif-builder.js) (PIF builder), [`js/ksu-interface.js`](https://github.com/elcapitanoe/pixelprop-webroot/blob/main/js/ksu-interface.js) (KernelSU bridge), [`js/pif-ui-manager.js`](https://github.com/elcapitanoe/pixelprop-webroot/blob/main/js/pif-ui-manager.js) (PIF wizard)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_dashboard["Dashboard"]
  node_webui["Web dashboard<br/>[index.html]"]
  node_dashboard_core["Dashboard controller<br/>[dashboard-core.js]"]
  node_telemetry["Property sync<br/>[dashboard-core.js]"]
  node_about["About renderer<br/>[about-renderer.js]"]
  node_metadata["About metadata"]
  node_ota_status["Release status<br/>[ota-manager.js]"]
end

subgraph group_integrity["Integrity Tools"]
  node_pif_ui["PIF wizard<br/>[pif-ui-manager.js]"]
  node_pif_builder["PIF builder<br/>[pif-builder.js]"]
  node_pif_store[("PIF module files")]
  node_tricky["TrickyStore manager<br/>[tricky-store.js]"]
  node_target_file[("TrickyStore targets")]
end

subgraph group_runtime["Runtime Controls"]
  node_settings["Module settings"]
  node_config_file[("Module config.prop")]
  node_quick_actions["System quick actions"]
  node_intent_links["Intent launcher<br/>[intent-handler.js]"]
end

subgraph group_platform["Platform Bridge"]
  node_ksu_bridge["KernelSU bridge<br/>[ksu-interface.js]"]
end

node_user(("Device user"))
node_github["GitHub releases"]
node_google_ota["Google OTA pages"]
node_android(("Android system"))

node_user -->|"uses"| node_webui
node_webui -->|"loads"| node_dashboard_core
node_dashboard_core -->|"syncs properties"| node_telemetry
node_dashboard_core -->|"checks release"| node_ota_status
node_dashboard_core -->|"initializes tools"| node_pif_ui
node_dashboard_core -->|"renders settings"| node_settings
node_dashboard_core -->|"sets up actions"| node_quick_actions
node_dashboard_core -->|"renders about"| node_about
node_about -->|"fetches metadata"| node_metadata
node_ota_status -.->|"checks releases"| node_github
node_telemetry -->|"reads properties"| node_ksu_bridge
node_telemetry -->|"reads module PIF"| node_pif_builder
node_pif_ui -->|"builds or applies PIF"| node_pif_builder
node_pif_ui -->|"applies targets"| node_tricky
node_pif_ui -->|"refreshes properties"| node_telemetry
node_pif_builder -->|"runs commands"| node_ksu_bridge
node_pif_builder -.->|"fetches OTA data"| node_google_ota
node_pif_builder -->|"backs up and writes"| node_pif_store
node_tricky -->|"lists packages; runs commands"| node_ksu_bridge
node_tricky -->|"backs up and writes"| node_target_file
node_settings -->|"reads and writes config"| node_ksu_bridge
node_settings -->|"updates switches"| node_config_file
node_settings -->|"clears app data"| node_pif_builder
node_quick_actions -->|"runs system actions"| node_ksu_bridge
node_quick_actions -->|"clears app data"| node_pif_builder
node_ksu_bridge -->|"executes native commands"| node_android
node_intent_links -->|"launches Android intent"| node_ksu_bridge
node_about -->|"opens profile links"| node_intent_links

click node_webui "https://github.com/elcapitanoe/pixelprop-webroot/blob/main/index.html"
click node_dashboard_core "https://github.com/elcapitanoe/pixelprop-webroot/blob/main/js/dashboard-core.js"
click node_telemetry "https://github.com/elcapitanoe/pixelprop-webroot/blob/main/js/dashboard-core.js"
click node_about "https://github.com/elcapitanoe/pixelprop-webroot/blob/main/js/about-renderer.js"
click node_metadata "https://github.com/elcapitanoe/pixelprop-webroot/tree/main/json"
click node_ota_status "https://github.com/elcapitanoe/pixelprop-webroot/blob/main/js/ota-manager.js"
click node_pif_ui "https://github.com/elcapitanoe/pixelprop-webroot/blob/main/js/pif-ui-manager.js"
click node_pif_builder "https://github.com/elcapitanoe/pixelprop-webroot/blob/main/js/pif-builder.js"
click node_tricky "https://github.com/elcapitanoe/pixelprop-webroot/blob/main/js/tricky-store.js"
click node_settings "https://github.com/elcapitanoe/pixelprop-webroot/blob/main/js/settings-manager.js"
click node_quick_actions "https://github.com/elcapitanoe/pixelprop-webroot/blob/main/js/settings-manager.js"
click node_intent_links "https://github.com/elcapitanoe/pixelprop-webroot/blob/main/js/intent-handler.js"
click node_ksu_bridge "https://github.com/elcapitanoe/pixelprop-webroot/blob/main/js/ksu-interface.js"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_webui,node_dashboard_core,node_telemetry,node_about,node_metadata,node_ota_status,node_user toneBlue
class node_pif_ui,node_pif_builder,node_pif_store,node_tricky,node_target_file toneAmber
class node_settings,node_config_file,node_quick_actions,node_intent_links toneMint
class node_ksu_bridge toneRose
class node_github,node_google_ota,node_android toneIndigo
```

## Components

### Dashboard

- [Web dashboard](https://github.com/elcapitanoe/pixelprop-webroot/blob/main/index.html): `index.html`
- [Dashboard controller](https://github.com/elcapitanoe/pixelprop-webroot/blob/main/js/dashboard-core.js): `js/dashboard-core.js`
- [Property sync](https://github.com/elcapitanoe/pixelprop-webroot/blob/main/js/dashboard-core.js): `js/dashboard-core.js`
- [About renderer](https://github.com/elcapitanoe/pixelprop-webroot/blob/main/js/about-renderer.js): `js/about-renderer.js`
- [About metadata](https://github.com/elcapitanoe/pixelprop-webroot/tree/main/json): `json`
- [Release status](https://github.com/elcapitanoe/pixelprop-webroot/blob/main/js/ota-manager.js): `js/ota-manager.js`

### Integrity Tools

- [PIF wizard](https://github.com/elcapitanoe/pixelprop-webroot/blob/main/js/pif-ui-manager.js): `js/pif-ui-manager.js`
- [PIF builder](https://github.com/elcapitanoe/pixelprop-webroot/blob/main/js/pif-builder.js): `js/pif-builder.js`
- **PIF module files**
- [TrickyStore manager](https://github.com/elcapitanoe/pixelprop-webroot/blob/main/js/tricky-store.js): `js/tricky-store.js`
- **TrickyStore targets**

### Runtime Controls

- [Module settings](https://github.com/elcapitanoe/pixelprop-webroot/blob/main/js/settings-manager.js): `js/settings-manager.js`
- **Module config.prop**
- [System quick actions](https://github.com/elcapitanoe/pixelprop-webroot/blob/main/js/settings-manager.js): `js/settings-manager.js`
- [Intent launcher](https://github.com/elcapitanoe/pixelprop-webroot/blob/main/js/intent-handler.js): `js/intent-handler.js`

### Platform Bridge

- [KernelSU bridge](https://github.com/elcapitanoe/pixelprop-webroot/blob/main/js/ksu-interface.js): `js/ksu-interface.js`

### Other components

- **Device user**
- **GitHub releases**
- **Google OTA pages**
- **Android system**

## Connections

- Device user → Web dashboard: uses
- Web dashboard → Dashboard controller: loads
- Dashboard controller → Property sync: syncs properties
- Dashboard controller → Release status: checks release
- Dashboard controller → PIF wizard: initializes tools
- Dashboard controller → Module settings: renders settings
- Dashboard controller → System quick actions: sets up actions
- Dashboard controller → About renderer: renders about
- About renderer → About metadata: fetches metadata
- Release status → GitHub releases: checks releases
- Property sync → KernelSU bridge: reads properties
- Property sync → PIF builder: reads module PIF
- PIF wizard → PIF builder: builds or applies PIF
- PIF wizard → TrickyStore manager: applies targets
- PIF wizard → Property sync: refreshes properties
- PIF builder → KernelSU bridge: runs commands
- PIF builder → Google OTA pages: fetches OTA data
- PIF builder → PIF module files: backs up and writes
- TrickyStore manager → KernelSU bridge: lists packages; runs commands
- TrickyStore manager → TrickyStore targets: backs up and writes
- Module settings → KernelSU bridge: reads and writes config
- Module settings → Module config.prop: updates switches
- Module settings → PIF builder: clears app data
- System quick actions → KernelSU bridge: runs system actions
- System quick actions → PIF builder: clears app data
- KernelSU bridge → Android system: executes native commands
- Intent launcher → KernelSU bridge: launches Android intent
- About renderer → Intent launcher: opens profile links
