AshReXcue Documentation
Complete guide to your bootloop protection system
🔧 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.
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.
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.
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:
Initialization
At post-fs-data, module list is snapshotted and loop counter increments.
Boot Monitoring
Service waits for sys.boot_completed within configured timeout (default 60s).
Stability Check
Monitors critical processes like system_server and surfaceflinger for stability period (default 10s).
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, andlogd
⚠️ Critical Warnings
Use WebUI whenever possible. Syntax errors can break protection logic.
Will conflict with Magisk Bootloop Protector and similar modules, potentially causing permanent bootloop.
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:
- Retrieve Logs:
- Recovery:
cat /cache/looper/AshReXcueSession-*.log - ADB:
adb shell cat /cache/looper/AshReXcueSession-*.log - WebUI: Click "Save" icon to export to Downloads
- Recovery:
- Submit on GitHub:
- Include Root Method (Magisk/KSU/APatch) and Device Model
- Attach the log file
🚑 Emergency Uninstall
If stuck and need to remove from Recovery:
rm -rf /data/adb/modules/AshLooper reboot