🔧 Three-Stage Protection System

AshReXcue uses an intelligent escalation system with three distinct stages of lockdown, each triggered based on the severity of the bootloop.

1

Precision Strike

When: First bootloop detected

What it does: Compares current module list against last successful boot using differential analysis. Disables ONLY new or updated modules while preserving whitelisted ones.

Why: Targets the exact cause without affecting stable modules.

2

Standard Lockdown

When: Second bootloop (threshold reached)

What it does: Disables ALL modules except those explicitly protected in the whitelist.

Why: Broader approach when precision strike couldn't identify the culprit.

3

Nuclear Lockdown

When: Emergency - if standard lockdown fails

What it does: Disables EVERY module including AshReXcue itself, completely ignoring whitelist.

Why: Last resort to guarantee you can boot into your system.

📊 Boot Flow

Understanding how AshReXcue monitors and protects during boot:

1

Initialization

At post-fs-data, module list is snapshotted and loop counter increments.

2

Boot Monitoring

Service waits for sys.boot_completed within configured timeout (default 60s).

3

Stability Check

Monitors critical processes like system_server and surfaceflinger for stability period (default 10s).

4

Success

If stable, loop counter resets and module list saved as "Known Good" state.

🔄 Reboot Modes

Configured during installation or via WebUI Settings:

Mode Name Behavior Use Case
DM Standard Disables problematic modules and reboots system Automatic recovery, minimal interruption
DMR Nuclear Disables problematic modules and reboots to recovery Manual inspection, troubleshooting

🎮 VSKL Input System

Volume + Screen Key Listener - Navigate menus using either physical volume buttons OR screen touches.

Volume Up / Touch

Select current option / Move to next

Volume Down

Move to previous option

The system automatically falls back after 3 attempts if no input detected, preventing boot hangs.

💻 WebUI Dashboard (v2.4)

Access your device's heartbeat through a secure, local-only web interface.

Live Log Viewer

Real-time boot logs with color-coded status: Errors (Red), Warnings (Yellow), Success (Green)

Session Browser

View logs from previous boot attempts - Clean ✅, Bootloop 🚫, Active ⚠️

Whitelist Manager

Swipe gestures to toggle modules between Normal and Whitelist views

Settings Manager

Adjust timeouts and thresholds with sticky footer for unsaved changes

🔐 Security Features

  • Random Port Generation

    WebUI binds to random port between 6000-9999, preventing predictable access

  • Session Timeouts

    5 minute max session • 2 minute idle timeout • Auto-kill to save resources

  • Hash-Based Authentication

    Secure token passed via URL fragment (#TOKEN) and instantly cleared from history

  • Zero-Escape CGI

    Commands piped directly to stdin - eliminates quote-escaping vulnerabilities

🛡️ Module Whitelist

Protect essential modules from being disabled during Stage 2 Standard Lockdown.

Key Features:

  • Auto-Maintenance: Automatically removes uninstalled modules from whitelist on boot
  • Persistence: Whitelist survives module updates and reflashes
  • Note: Stage 3 Nuclear Lockdown overrides whitelist

⏱️ Boot Timeout

  • Default: 60 seconds
  • Function: Maximum time allowed to reach sys.boot_completed
  • Dynamic Learning: Automatically increases based on successful boot time + 15s
  • Constraint: Cannot decrease by more than 10s at a time to prevent accidental loops

🔄 Loop Threshold

  • Range: 1-5 boots
  • Function: Number of failed attempts before protection triggers
  • Recommendation: Keep at 2-3 for daily use. Setting to 1 is aggressive (testing only)

⏳ Stability Time

  • Range: 10-25 seconds
  • Function: How long to monitor after boot completes
  • Extra Checks: Optional monitoring for servicemanager, vold, and logd

⚠️ Critical Warnings

DO NOT modify settings.prop manually

Use WebUI whenever possible. Syntax errors can break protection logic.

DO NOT use with other bootloop protectors

Will conflict with Magisk Bootloop Protector and similar modules, potentially causing permanent bootloop.

RTC Status: BACKWARD

If logs show this, your device clock reset (likely from battery pull). Timestamps wrong but protection still works.

🐛 Reporting Issues

If AshReXcue fails to protect or triggers falsely:

  1. Retrieve Logs:
    • Recovery: cat /cache/looper/AshReXcueSession-*.log
    • ADB: adb shell cat /cache/looper/AshReXcueSession-*.log
    • WebUI: Click "Save" icon to export to Downloads
  2. Submit on GitHub:
    • Include Root Method (Magisk/KSU/APatch) and Device Model
    • Attach the log file
GitHub Issues

🚑 Emergency Uninstall

If stuck and need to remove from Recovery:

rm -rf /data/adb/modules/AshLooper
reboot