Open source desktop HTTP/HTTPS tracer for Android emulators, focused on a clean UI and local-first workflows.
Built with Tauri + Rust + React, and co-developed with OpenAI Codex.
Donations are optional. If you want to support the project, contributions help pay for the Apple Developer Program so the app can be properly signed and distributed on macOS.
Inspecting Android emulator traffic is still painful if you want a modern UX and no paywall.
HTTP Request Tracer aims to provide a practical, free, local desktop alternative for development teams.
- Clean request explorer with details for headers, params, cookies, and bodies.
- Start/stop tracing directly from the app by managing emulator proxy settings over ADB.
- HTTPS support through a Matecode-branded local CA + guided certificate install flow.
- Interception mode with pending queue, edit, forward, and drop actions.
- Sort and filter captured requests for high-volume sessions.
- ES/EN language support, theme settings, and basic privacy masking.
- Local-only ephemeral sessions: no backend, no cloud sync, no request storage outside memory.
- Local first: everything runs on your machine.
- No host proxy takeover: only emulator proxy settings are changed.
- Developer ergonomics over enterprise overhead.
- Open source and extensible roadmap.
- macOS first-class support (current release focus).
- Linux/Windows support planned after MVP stabilization.
- macOS
- Xcode Command Line Tools (or full Xcode)
- Rust toolchain (
rustup,cargo,rustc) - Node.js
20.19+or22.12+ - Android Platform Tools (
adb) inPATH - Running Android Emulator
npm install
npm run tauri devnpm run tauri buildBundle output:
src-tauri/target/release/bundle/
- Branch-based release workflow:
.github/workflows/release-from-branch.yml - Detailed guide:
docs/release-macos-playbook.md - Packaging notes:
docs/mvp-09-packaging-guide.md
Until app signing + notarization is enabled, macOS may block the downloaded app with a "damaged and can't be opened" message.
If that happens, run:
xattr -dr com.apple.quarantine "/Applications/HTTP Request Tracer.app"
open "/Applications/HTTP Request Tracer.app"- HTTPS capture requires trusting the generated local CA in the emulator.
- The generated CA is shown as
Matecode HTTP Tracer Local CA; that visible name does not mean Android already trusts it. - Apps with TLS pinning can still block interception.
- Optional ADB override: set
ADB_PATHto force a specific binary. - Common ADB fallback paths:
/opt/homebrew/bin/adb/opt/local/bin/adb/usr/local/bin/adb/usr/bin/adb
- Frontend: React + Vite + TypeScript.
- Desktop/runtime: Tauri v2.
- Core tracer: Rust +
hudsucker. - Data lifecycle: in-memory session state only.
This project depends on third-party open source packages under their own licenses.
- Full notices:
THIRD_PARTY_NOTICES.md
- Contribution guidelines:
CONTRIBUTING.md - Vulnerability reporting policy:
SECURITY.md - Maintainer hardening checklist:
docs/repo-hardening-checklist.md
docs/mvp-01-configuracion-preferencias.mddocs/mvp-05-sesiones-efimeras-privacidad.mddocs/mvp-07-arquitectura-modular.mddocs/mvp-08-testing-strategy.mddocs/mvp-09-packaging-guide.mddocs/mvp-15-guardrails-interceptacion.mddocs/repo-hardening-checklist.mddocs/spike-05-tls-pinning-trust-model.mddocs/spike-06-performance-baseline.md
MIT License. See LICENSE.