Commit Graph
8 Commits
Author SHA1 Message Date
Anthony Wong 37b835c791 feat(cli): port the log journal and network journal events to master 2026-09-22 21:07:51 +07:00
Cuong Manh Le 2ff70ac961 dns_intercept: don't write a GP sibling on failed NRPT handback
A failed handback restored ctrld's rule via addNRPTCatchAllRule, which
also writes the GP-path rule whenever another GP rule exists - leaving
CtrldCatchAll beside the administrator's catch-all. Restore only the
local store while that child is still present.
2026-09-21 19:06:13 +07:00
Dev Scribe 13471ba128 macOS: repair network recovery and improve diagnostics 2026-09-18 13:36:47 +07:00
Local Scribe 5e1ebfa3d7 darwin: route Zscaler's DNS echo name through the OS resolver 2026-09-18 13:34:43 +07:00
Cuong Manh Le d8994cc7d8 Rename ctrld v2.0.0 to ctrld-client
Updates #565
2026-09-03 13:57:38 +07:00
Dev Scribe e4e1c0abb9 windows: adopt GP-managed NRPT catch-all 2026-08-12 14:32:13 +07:00
Codescribe 81aa6b237b dns_intercept: add WFP loopback protect for VPN block-outside-dns
When third-party VPN software (e.g., OpenVPN) installs WFP block filters via
block-outside-dns, all DNS traffic to non-tunnel interfaces is blocked —
including DNS to 127.0.0.1 (ctrld's NRPT target). This breaks DNS mode
interception because the NRPT catch-all rule routes queries to loopback,
but WFP blocks the connection before it reaches ctrld's listener.

Fix: after exhausting all NRPT recovery attempts, activate a minimal WFP
session with "hard permit" filters (FWPM_FILTER_FLAG_CLEAR_ACTION_RIGHT)
for DNS to localhost in a max-priority sublayer (weight 0xFFFF). This
overrides the VPN's block for loopback DNS only, while preserving the
VPN's DNS leak protection for all other (non-loopback) DNS traffic.

The loopback protect is:
- Only activated when NRPT probes fail (not preemptively)
- Harmless when no conflicting WFP blocks exist (permit-only, no blocks)
- Persistent until ctrld shutdown (survives VPN reconnect cycles)
- Cleaned up by the existing cleanupWFPFilters path on shutdown
2026-04-30 19:30:43 +07:00
Codescribe 395335162f feat: introduce DNS intercept mode infrastructure 2026-04-30 19:19:19 +07:00