Overview
This is the official launch of Catsplash v0.1.0, our first stable release tag. It consolidates the core captive portal infrastructure, the catsctl management CLI, and the automated isolated testing suite (network namespaces).
This release focuses heavily on low-resource optimization, deterministic kernel routing, and long-term memory stability, making it production-ready for low-spec routing hardware and embedded Linux setups.
🚀 Key Features Included in v0.1.0
- Core Captive Portal Engine: High-performance HTTP backend written in Go for client authentication redirects.
- Deterministic Netfilter Integration: Automated
iptablesrule injection and cleanup mapped directly to session lifecycle states (1 NAT + 2 Filter rules per active client). - SQLite with WAL Mode: State management optimized with Write-Ahead Logging to ensure 0% storage bloat (stagnant at 12KB under concurrent load).
catsctlCLI: Control binary to monitor and manage active/pending sessions from the terminal.setup.shCLI: Friendly configuration from the terminal.- Isolated Simulation Suite: Comprehensive automated testing infrastructure (
soak_test.shandtest_catsplash_multiclient.sh) using network namespaces to simulate up to 100+ parallel Wi-Fi clients without touching host routing.
📊 Performance & Soak Test Baselines
Verified metrics during 60-minute stress and soak testing:
- Memory Footprint: Peak physical RAM (RSS) of
< 25 MBunder heavy 100-client concurrency bursts. Idle baseline drops back to~14.7 MB(0% memory leaks detected). - Kernel Atomicity: Perfect rule teardown upon session expiration with 0% orphaned firewall rules.
- HTTP Error Rate: 0% failure rate under concurrent authentication floods.
📦 Targeted Cross-Compilation Binaries
The release pipeline will compile and attach static binaries for the following architectures:
linux/amd64(Standard x86_64 servers/routers)linux/386(Legacy/Hereditary PC hardware optimization)linux/arm64(Modern single-board computers/ARM routers)linux/arm/v7(Embedded IoT and legacy ARM routers)
🛠️ Verification Tasks
- Run comprehensive multiclient benchmark floods (
HTTP 200 OKconsistency). - Verify
soak_results.logunder prolonged tracking for heap fragmentation. - Ensure automated
iptablescleanups restore the kernel network namespace to its pristine baseline.
Full Changelog: https://github.com/xeland314/catsplash/commits/v0.1.0