Skip to content

Catsplash

Latest

Choose a tag to compare

@xeland314 xeland314 released this 06 Jul 15:55
48c8d51

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 iptables rule 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).
  • catsctl CLI: Control binary to monitor and manage active/pending sessions from the terminal.
  • setup.sh CLI: Friendly configuration from the terminal.
  • Isolated Simulation Suite: Comprehensive automated testing infrastructure (soak_test.sh and test_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 MB under 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 OK consistency).
  • Verify soak_results.log under prolonged tracking for heap fragmentation.
  • Ensure automated iptables cleanups restore the kernel network namespace to its pristine baseline.

Full Changelog: https://github.com/xeland314/catsplash/commits/v0.1.0