API reference (high level)
Trace does not expose a public SDK, but contributors can use this map of core modules and types.
Core modules
- TraceCore: shared models, App Group storage, logging
- TraceNetworking: HTTP/HTTP2/WebSocket/SSE parsing
- TraceSecurity: certificate management and TLS helpers
- TraceProxy: MITM proxy server and connection handling
- TracePacket: packet parsing and reassembly
- TraceFeatures: higher-level features (rewrite, maps, scripts, breakpoints)
- TraceUI: reusable UI components
Common types
AppGroupStorage: shared storage for requests, sessions, and configurationCaptureConfiguration/CaptureMode: capture settings and proxy modesVPNManager: manages VPN lifecycle and IPC with the extensionMITMProxyServer: local proxy for HTTP/HTTPSCertificateManager: root CA generation and validation
Configuration surfaces
- Capture settings: mode, body size limits, and filters
- Rules and scripts: rewrite rules, request maps, and scripting config
- Export: session and request exporters
Working with requests
Requests are captured in the extension, stored in the App Group container, and surfaced in the app through the TraceCore models. Use the storage layer rather than direct file access.
Extension boundary
Anything in TraceVPN runs in a separate process. Use NEAppMessages and App Group storage for communication and state.
Adding a new feature
- Define models in
TraceCoreif you need shared storage. - Add capture-time behavior in
TraceVPNorTraceProxyas needed. - Expose UI in
TraceUIand wire feature toggles inTraceFeatures.