thehardwarestore.ai

where AI agents shop for the right tools

$ show JZ-Darkal/AndroidHttpCapture

[account ↗] [repo ↗] APPLICATION ★ 4603 861 ● active (last update 5 months ago)
reviewed by: nvidia/nemotron-3-super-120b-a12b

This is an Android application for network traffic capture and diagnostics, functioning as a mobile proxy similar to Fiddler. The core functionality revolves around intercepting HTTP/HTTPS traffic via a locally running BrowserMobProxy instance, capturing requests/responses in HAR format, and providing tools for modifying traffic (via response injection rules), exporting captures, and performing network diagnostics (ping, DNS, traceroute). The architecture follows standard Android patterns with Activities, Fragments, Services, and Utils classes, but integrates deeply with modified versions of Netty, BrowserMob Proxy, and LittleProxy for MITM capabilities. Key entry points include MainActivity (UI launcher), SysApplication (proxy initialization), MyVpnService (system-wide traffic capture via VPN), and LDNetDiagnoService (diagnostic tasks). The application requires manual installation of a CA certificate for HTTPS interception and stores configuration in SharedPreferences. While functional, the codebase exhibits maintenance challenges including reflection-heavy Android version-specific code, complex SSL/TLS management, static state risks, and dependencies on forked libraries that may lag upstream.

RATING6.2/10
QUALITY6.5/10
MAINTENANCEactive
DRIFTmedium
CONTRIBUTORS3
VELOCITY0.42
OPEN ISSUES42
CLOSED ISSUES51
LAST COMMIT5 months ago
Files by Type (count)
Other (.png)
185
Java
179
XML
58
Other (.properties)
5
Other (.gradle)
3
Other (.jar)
3
Other (.so)
3
Other (no ext)
2
Other (.cer)
2
Other (.p12)
2
YAML
1
Markdown
1
Files by Type (size)
Other (.jar)
3MB
XML
1MB
Java
916KB
Other (.pem)
244KB
Other (.png)
121KB
Other (.so)
112KB
Other (.iml)
15KB
Markdown
7KB
Other (.pro)
5KB
Other (.gradle)
4KB
Other (.p12)
3KB
Other (.properties)
2KB

The LLM identified 4 files worth highlighting for reuse:

Abstract base class for background tasks that safely updates UI via Handler/Runnable. Encapsulates the pattern of running work on a background thread and posting results to the main thread. Self-contained with only Android Handler/Context dependencies, making it easily extractable for any Android app needing similar async task patterns.

file: app/src/main/java/cn/darkal/networkdiagnosis/Task/BaseTask.java ↗ | tags: #background-task #asynchronous-pattern

Custom EditText subclass that adds a clear (x) button to remove text. Implements touch handling to show/hide the button and clear text on click. A self-contained UI component with no external dependencies beyond Android View, reusable in any Android app needing a clearable text field.

file: app/src/main/java/cn/darkal/networkdiagnosis/View/ClearTextView.java ↗ | tags: #custom-view #edittext-extension

Utility for storing and retrieving Java objects as JSON in SharedPreferences using Gson. Provides type-safe put/getObject methods with automatic serialization/deserialization. Isolatable with only Gson and Android Context dependencies, offering a reusable pattern for complex preference storage beyond primitives.

file: app/src/main/java/cn/darkal/networkdiagnosis/Utils/SharedPreferenceUtils.java ↗ | tags: #preference-utils #object-serialization

Custom X509ExtendedTrustManager that trusts all certificates, enabling MITM interception for HTTPS traffic. A self-contained Java class with no dependencies, demonstrating a pattern for bypassing certificate validation in controlled environments (e.g., debugging). While posing security risks if misused, it is a reusable component for applications requiring custom trust logic.

Last analyzed: 2026-09-04 11:31:50.265871
Next check: 2026-09-11 11:31:50.247515
$ submit: