Curfew

Give your household's network a bedtime.

Throttle every device on your Wi-Fi to a crawl, and grant full speed only to who you choose. One binary. No app, no router firmware, no cloud account.

MIT Rust Linux macOS Windows
curl -fsSL https://raw.githubusercontent.com/Xer0bit/curfew/master/setup.sh | bash
Downloads a prebuilt x86_64 binary. Other architectures build from source automatically.
curl -fsSL https://raw.githubusercontent.com/Xer0bit/curfew/master/setup.sh | bash
Builds from source (installs Rust + Homebrew deps for you). Needs Homebrew.
irm https://raw.githubusercontent.com/Xer0bit/curfew/master/setup.ps1 | iex
Run from an elevated PowerShell. Needs Npcap and WinDivert installed first — the script checks and tells you what's missing.

What it looks like

$ sudo curfew Curfew is on ● watching your network (checked 14 times) No bedtime hours set — internet stays slowed all the time. ---------------------------------------------------------------- 192.168.1.42 you full speed 192.168.1.27 Kid's iPad slowed right down 192.168.1.144 aa:bb:cc:dd:ee:ff slowed right down Data slowed so far: 4.2MB · Data at full speed: 1.1GB ---------------------------------------------------------------- 1) Give a device full speed 2) Take full speed away from a device 3) Set bedtime hours (when to slow the internet) 4) Give a device a nickname 5) See what's been happening 6) Change how slow the internet is 7) Give everyone full speed for a while 0) Stop Curfew (put everyone back to normal) ---------------------------------------------------------------- Choose an option:

How it works

1

Finds every device

Scans your Wi-Fi automatically every few seconds — no manual device list to maintain.

2

Becomes the middleman

ARP-spoofs each device so its traffic routes through your machine, then rate-limits it in the kernel (or the OS-equivalent).

3

You choose who's exempt

Pick yourself, your partner, anyone — by MAC address, saved across restarts. Everyone else stays throttled by default.

OSARP spoofingTraffic shaping
Linuxarpspoof (dsniff)tc (HTB)
macOSarpspoof (dsniff)pfctl + dnctl
Windowspnet + NpcapWinDivert