DeepTest 2.0 is a desktop GUI for OnePlus/HeyTap DeepTesting workflows. It replaces terminal-heavy commands with a guided interface for login, device detection, authorization, diagnostics, and unlock-code management.
This is an independent GUI built on the protocol implementation and research from mikoker/deeptest. Please review the upstream project’s license and documentation.
The Android client contains modified code from YuKongA/ghostlock-app, licensed under Apache-2.0. See Third-party notices for attribution and modification details.
The root-helper workflow currently supports:
- OnePlus 15 (PRJ-ID
24831, modelPLK110) on OxygenOS builds 16.0.8.300 and 16.0.9.400 - OnePlus Ace 6 (PRJ-ID
24851, modelPLQ110); device requests use OTA identifierPLQ110_11.A.56_0560_202607171908. No bundled temporary-root helper is available yet. - OnePlus Ace 6T (PRJ-ID
24855, modelPLR110) on OxygenOS builds 16.0.1.306, 16.0.2.401, 16.0.3.503, 16.0.5.701, 16.0.7.200, 16.0.8.300, and 16.0.9.401 - OnePlus 15T (PRJ-ID
25821, modelPLZ110) on ColorOS builds 16.0.8.300 and 16.0.9.400
Other devices or OxygenOS build versions are not supported yet.
Open the repository’s Releases page and download the archive for your operating system.
-
Download
DeepTest2-linux-x86_64.tar.gz. -
Extract it:
tar -xzf DeepTest2-linux-x86_64.tar.gz
-
Start the application:
./DeepTest2/DeepTest2
- Download
DeepTest2-windows.zip. - Extract the ZIP file.
- Open the extracted
DeepTest2folder. - Double-click
DeepTest2.exe.
The Windows release includes Platform Tools and adb.exe. The Linux release uses system ADB when available; install Android Platform Tools if ADB is not already on your PATH.
- Enable USB debugging.
- Accept the RSA authorization prompt on the phone.
- Keep only the intended device connected.
The Connected Device card shows the live ADB connection. Saved target-device fields may remain visible between launches and do not prove that a phone is connected.
Use the four sections in the left workflow panel:
-
Account login
- Sign in to your HeyTap account.
- Enter the verification code and complete any additional verification promptly.
-
Unlock application
- Run Check eligibility, Apply for unlock, Check status, and Get unlock code in order.
- Check status often returns the unlock code before the application is shown as approved. If it does not, use Get unlock code.
- The status banner turns green when an unlock code is received.
- These server-side actions can use the saved request profile when the phone is not connected.
-
Temporary root
- Connect the phone and confirm its identity in the Connected phone card.
- Select the exact installed system version and press Run root helper.
- Keep the phone awake and unlocked. Follow progress in the live output panel or open Technical log for full diagnostics.
- Continue only when DeepTest confirms that temporary root is actually available.
-
Install authorization
- Press Check requirements to validate the connected phone, temporary root, and unlock code.
- All three checks must be ready before Apply authorization to phone becomes available.
- DeepTest backs up the original
oplusreserve1image before creating and writing a patched copy. - After installation succeeds, use Reboot to bootloader to continue.
Use Edit request profile when detected or saved request values need adjustment. The top status bar shows the live device and account-authorization state, while Technical log contains commands, helper output, and server responses.
Login and authorization data is stored locally under:
Linux: /home/<user>/.config/deeptesting/
Windows: C:\Users\<user>\.config\deeptesting\
macOS: /Users/<user>/.config/deeptesting/
Treat these JSON files as secrets, keep a secure backup somewhere safe, and never upload them. Device settings are also local and are not sent to the repository.
Import the desktop files in this order:
- Import
gui-settings.json. - After that finishes, import
auth.json.
The settings file must be imported first so the Android app can restore the account configuration before loading its authorization tokens.
Before installing unlock authorization, DeepTest saves the original oplusreserve1 image under:
Linux: /home/<user>/.local/share/deeptest/reserve-backups/
Windows: C:\Users\<user>\.local\share\deeptest\reserve-backups\
macOS: /Users/<user>/.local/share/deeptest/reserve-backups/
Backups are named oplusreserve1-preunlock-<device-serial>.img. Keep a separate copy somewhere safe and never use a backup taken from another phone.
The repository includes separate GitHub Actions workflows for Linux and Windows, plus a combined release workflow.
