Catsplash
Lightweight captive portal for Linux. Block, authenticate and release WiFi traffic with Go, SQLite and iptables.
Catsplash is a minimalist captive portal for Linux. It creates a temporary WiFi network, blocks Internet access until the user accepts the terms, and securely releases traffic.
Key Features
Section titled “Key Features”- Captive portal compatible with Android and iOS Captive Network Assistant.
- Session management with SQLite in WAL mode, expiration by absolute time and inactivity.
- Deterministic firewall with iptables: 1 NAT rule + 2 Filter rules per active client.
- catsctl CLI to monitor and manage sessions from the terminal.
- Guided installer
setup.shthat prepares hostapd, dnsmasq, iptables and systemd services. - Low resource usage: under 25 MB RAM under maximum load of 100 concurrent clients.
- Cross-compilation for Linux on multiple architectures (amd64, 386, arm64, armv7).
- Isolated test suite using network namespaces to simulate up to 100+ WiFi clients.
Quick Start
Section titled “Quick Start”git clone https://github.com/xeland314/catsplash.gitcd catsplashmake buildsudo ./setup.shNote: Catsplash works on Linux only. Compiled binaries require iptables and root access.