Advanced Network Impairment Tool for Windows — Zero Dependencies
DelayForge is a lightweight, single-binary tool that simulates degraded network conditions on Windows — adding latency, jitter, packet loss, duplication, reordering, corruption, and bandwidth throttling to your network traffic.
Inspired by Clumsy — reimagined with a web-based UI, Go performance, and extended capabilities.
| Effect | Description |
|---|---|
| ⏱ Latency | Add fixed delay (0–3000ms) to all matching packets |
| 〰 Jitter | Random ±variation on top of base latency |
| ✕ Packet Loss | Drop packets at configurable probability (0–100%) |
| ⧉ Duplicate | Send copies of packets (0–50%) |
| ⇅ Reorder | Shuffle packet order (0–50%) |
| ⚡ Tamper | Flip random bytes in packet payload to simulate corruption |
| 🔒 Throttle | Bandwidth limiting via token bucket (0–10,000 kbps) |
All effects can be combined simultaneously and adjusted in real-time.
- Direction: Both / Outbound only / Inbound only
- Protocol: All / TCP / UDP / ICMP
- IP Address / CIDR: Target specific IPs or subnets
- Port: Target specific ports
Live WinDivert filter preview shown in the UI.
- Packets processed / bytes transferred
- Per-effect counters (delayed, dropped, duplicated, reordered, tampered)
- Live queue depth monitoring
- Go to Releases and download
DelayForge.exe - Right-click → Run as Administrator (required for kernel-level packet interception)
- Browser opens automatically at
http://127.0.0.1:8380 - Adjust parameters and click Start
Single file, no installation, no runtime required.
Prerequisites: Go 1.21+
git clone https://github.com/cl271-7264/DelayForge.git
cd DelayForge/cmd/delayforge
go build -ldflags="-s -w" -o DelayForge.exe .You also need WinDivert.dll and WinDivert64.sys in the same directory as the exe (or in webui/windivert/ for embedding).
DelayForge uses WinDivert to intercept packets at the kernel level. Matched packets are held in userspace queues and re-injected after the configured delay, or dropped/duplicated/corrupted according to your settings.
Application → Network Stack → WinDivert Driver → DelayForge Engine → Real Network
↑ ↓
└──── Re-injected packets ───────────┘
- Testing web apps: Latency 200ms + Jitter 50ms + Loss 2% (simulate 3G)
- Testing game netcode: Latency 100ms + Jitter 20ms + Loss 0.5%
- Stress testing: Latency 500ms + Loss 10% + Throttle 50kbps
- Debugging race conditions: Reorder 10% + Duplicate 5%
- Language: Go (static binary, no runtime dependencies)
- Driver: WinDivert 2.2.2 (Microsoft WHQL signed, embedded)
- UI: Web-based (served on localhost, opens in browser)
- Size: ~6.4MB (single file, self-contained)
This project is licensed under the GNU General Public License v3.0.