A jailbreak tweak for iOS 15+ (Dopamine rootless) that intercepts and logs network requests from user-selected apps, viewable directly inside the Settings app.
- Hooks
NSURLSessionto capture outgoing HTTP/HTTPS requests from any app - Per-app opt-in — only monitors apps you explicitly select
- Logs method, URL, HTTP status code, app bundle ID, timestamp, and response body
- Built-in log viewer inside Settings with Refresh and Clear actions
- Zero performance overhead on apps not in the selected list
- iOS 15.0+ (tested on iOS 16 Dopamine rootless)
- Dopamine or any rootless jailbreak
- AltList — for the app selection UI in Settings
-
Install Theos
-
Clone this repo and enter the project directory:
git clone <repo-url> cd NetLogger
-
Build and install to your device:
make package install
Note: AltList must be installed on the device (available via Sileo/Zebra). No compile-time linking is required — the dependency is resolved at runtime.
- Open Settings → NetLogger
- Toggle Enable NetLogger on
- Tap Select Apps to Monitor and choose the apps you want to intercept
- Use the selected app normally — network requests are captured in the background
- Return to Settings → NetLogger → View Network Logs to inspect captured traffic
Each log entry contains:
[2024-01-15 14:32:01] POST https://api.example.com/login
Status: 200
App: com.example.app
Response:
{"token":"eyJ...","user":{"id":42}}
---
Response bodies larger than 8 KB or binary data are recorded as (no body / binary).
NetLogger/
├── Tweak.x # NSURLSession hook + log writer
├── Makefile # Root build file (rootless, arm64/arm64e)
├── control # Package metadata + AltList dependency
├── NetLogger.plist # Substrate bundle filter (com.apple.UIKit)
├── layout/
│ └── Library/PreferenceLoader/
│ └── Preferences/
│ └── NetLogger/
│ └── Preferences.plist # Settings entry point
└── netloggerprefs/ # Preference bundle subproject
├── Makefile
├── NetLoggerPreferences.mm # Main settings + log viewer controllers
└── Resources/
├── Info.plist
└── Root.plist # Settings UI layout (AltList + log link)
/var/mobile/Library/Preferences/com.minh.netlogger.logs.txt
This file is readable by both the hooked app processes and the Settings (Preferences) process, making it the safe shared storage path on rootless jailbreaks.
Target App Process
└── NSURLSession hook (Tweak.x)
├── isAppEnabled() → reads com.minh.netlogger.plist
│ checks: enabled=YES AND bundleID in selectedApps
└── on match → writeLog() appends to .logs.txt
Settings Process (netloggerprefs bundle)
└── NetLoggerLogViewerController
└── reads .logs.txt on viewWillAppear
MIT