root 0a85979142
Build / test (push) Has been cancelled
Build / build-windows (push) Has been cancelled
internal/checker: voice-quality + voice-srv tests for predictive voice diagnosis
Replaces the single-packet `stun` test with two predictive voice tests:

  - voice-quality: 30-packet STUN burst through the SOCKS5 UDP relay.
    Computes loss%, jitter (RFC-3550-ish mean abs of inter-arrival
    delta), p50/p95 RTT. Three-tier gating: pass (loss≤5%, jitter≤30,
    p50≤250), warn (loss≤15%, jitter≤60, p50≤400 — voice glitches but
    works), fail (anything worse, including 100% loss).

  - voice-srv: parallel-DNS the 16-region <region>.discord.media
    hostnames, then SOCKS5 CONNECT to :443 on each through the proxy.
    Catches the very common Russian-DPI failure mode where the proxy
    passes generic Discord.com TCP but blocks the .discord.media voice
    CIDRs — a regression all 5 prior SOCKS5 sanity checks miss.

New StatusWarn = "warn" — soft pass with Hint kept visible. Counted as
passed in summary but flagged in UI.

Config gains VoiceBurstCount (default 30), VoiceBurstInterval (default
20ms), VoiceServerHostnames (default = built-in 16-region list).

Tests cover happy path, warn-tier (10% drop), fail-tier (100% drop),
voice-srv blocked, plus standalone unit tests on
runVoiceQualityBurst and runVoiceServerProbe with a fake UDP relay
and fake SOCKS5 server. Race + cover stays at 82.4%.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-01 18:42:12 +03:00

Drover-Go

Discord proxy / DPI bypass tool. Routes Discord traffic through a SOCKS5 proxy via kernel-level packet capture (WinDivert), bypassing the limitations of in-app proxy settings and surviving Discord auto-updates.

What it solves

Discord doesn't support proxies for voice/video traffic. Existing DLL-injection tools (drover, discord-voice-proxy) modify Discord.exe, which:

  • triggers antivirus heuristics (unsigned DLL injecting into a popular app),
  • breaks every time Discord auto-updates,
  • doesn't proxy Update.exe itself, so the updater fails when Discord servers are blocked.

Drover-Go uses WinDivert — a Microsoft-signed kernel driver — to capture packets at the network stack level. No modification of Discord, works for any Discord variant (Stable/Canary/PTB/Vesktop), survives auto-updates, minimal AV detection.

Status

Pre-alpha. See implementation plan for details.

How it works

Discord.exe (unmodified)
    ↓ TCP/UDP
WinDivert.sys (kernel filter)
    ↓ matched packets
drover.exe (Go)
    ├── TCP redirect to local SOCKS5 listener  →  SOCKS5 CONNECT  →  upstream proxy
    └── UDP encapsulation (RFC 1928)           →  SOCKS5 UDP ASSOCIATE  →  upstream proxy

For UDP voice that's blocked even via SOCKS5 (DPI on the proxy's TCP control channel), drover-go injects a fake QUIC initial packet (à la zapret-discord-youtube) before forwarding — DPI sees "QUIC to Google" instead of Discord media.

Requirements

  • Windows 10 1903+ or Windows 11 (x64). ARM64 not supported by WinDivert.
  • Administrator privileges for first run (driver install).
  • Upstream SOCKS5 proxy with UDP ASSOCIATE support (e.g. mihomo, sing-box).

Install

Download the latest release from releases:

  • drover-vX.Y.Z-setup.exe — installer with Start Menu shortcut, registers in Apps & Features for clean uninstall.
  • drover-vX.Y.Z-windows-amd64.zip — portable, just unzip and run.

Verify SHA256 against SHA256SUMS.txt in the same release.

License

MIT for our code. WinDivert (embedded) is LGPL-3.0.

Acknowledgements

S
Description
Discord proxy/DPI bypass via WinDivert + SOCKS5 on Go
Readme MIT 7.4 MiB
2026-05-01 03:58:49 +03:00
Languages
Go 74.6%
JavaScript 18%
NSIS 5.1%
Inno Setup 1.3%
CSS 0.7%
Other 0.3%