diegosouzapw/OmniRoute · error · Error
TPROXY capture mode requires the native addon (Linux + CAP_N
Error message
TPROXY capture mode requires the native addon (Linux + CAP_NET_ADMIN).
What it means
Error "TPROXY capture mode requires the native addon (Linux + CAP_NET_ADMIN)." thrown in diegosouzapw/OmniRoute.
Source
Thrown at src/mitm/tproxy/captureManager.ts:78
startedAt: string;
intercepts: { count: number };
}
let active: ActiveCapture | null = null;
/**
* Start the decrypt-capable TPROXY capture mode. Rejects if a session is already
* running or the native addon is unavailable. The dynamic CA is created here and
* installed in the trust store via the injected `installCa`.
*/
export async function startCaptureMode(
options: StartCaptureModeOptions
): Promise<CaptureManagerStatus> {
if (active) throw new Error("TPROXY capture mode is already running");
const deps: CaptureManagerDeps = { ...realDeps, ...options.deps };
if (!deps.isAvailable()) {
throw new Error("TPROXY capture mode requires the native addon (Linux + CAP_NET_ADMIN).");
}
const certStore = deps.createCertStore();
const intercepts = { count: 0 };
const handle = await deps.startTproxyCapture(options.cfg, {
decrypt: { certStore, installCa: options.installCa, uninstallCa: options.uninstallCa },
onIntercept: () => {
intercepts.count += 1;
},
});
active = { handle, startedAt: deps.now(), intercepts };
return getCaptureStatus();
}
/** Stop the running capture session (closes the listener, uninstalls the CA, and
* reverts the rules via the handle). Idempotent — a no-op when nothing runs. */
export async function stopCaptureMode(): Promise<CaptureManagerStatus> {
const current = active;View on GitHub (pinned to a179ffed5b)
When it happens
Trigger: Thrown at src/mitm/tproxy/captureManager.ts:78 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of diegosouzapw/OmniRoute@a179ffed5b (2026-08-25).
Data as JSON: /api/errors/577a4238aca5aaf9.
Report an issue: GitHub.