Request Logger is a powerful Xposed module designed to intercept and log HTTP requests from Android applications. It is compatible with LSPosed (Root) and LSPatch / NPatch (Non-Root).
- OkHttp Interception: Hooks into
okhttp3to capture Method, URL, and Headers. - HttpURLConnection Support: Captures basic URL info for standard Java HTTP clients.
- Real-time Notifications: Displays captured requests as long-duration Toast notifications.
- Persistent History: View a complete history of all captured requests within the Request Logger app.
- Easy IPC: Uses a
ContentProviderto securely transfer logs from hooked apps to the main logger database. - Management UI: Simple interface to browse, scroll, and clear logs.
- Android Studio Jellyfish or newer.
- A device with LSPosed installed (for Root) or LSPatch/NPatch (for Non-Root).
- Clone the repository.
- Open in Android Studio.
- Build the project:
./gradlew :app:assembleDebug
- The APK will be generated at
app/build/outputs/apk/debug/app-debug.apk.
This repository is configured with GitHub Actions. Every time you push a tag starting with v (e.g., v1.0), an APK will be automatically built and attached to a new GitHub Release.
- Install the
app-debug.apkon your device. - Open the LSPosed Manager.
- Enable the Request Logger module.
- Select the Scope (apps you want to monitor).
- Force stop or restart the target apps.
- Install the
app-debug.apkon your device. - Open LSPatch or NPatch.
- Create a new patch for your target application.
- Select Request Logger as the module to inject.
- Install and run the patched application.
- Inside the App: Open the "Request Logger" app from your launcher to see the persistent history.
- Logcat: Monitor real-time logs via ADB:
adb logcat -s RequestLogger
- Hooking: Uses
XposedHelpersto hookokhttp3.RealCallandjava.net.URL. - Database: Uses Room Persistence Library to store log entries.
- IPC: Uses a
ContentProvider(com.hazbu.requestlogger.provider) to allow hooked processes to insert data into the main app's database.
This tool is intended for educational and debugging purposes only. Do not use it to capture sensitive data without permission. The developers are not responsible for any misuse of this software.
This project is licensed under the GNU General Public License v3.0. See the LICENSE file for details.