Skip to content

splitter/0.1.0

Choose a tag to compare

@qobil7681 qobil7681 released this 04 Aug 12:58
· 60 commits to main since this release
ff6f49e

Splitter v1.0.0 β€” First release πŸŽ‰

Splitter turns a Linux box into a multi-IP Layer-4 (TCP/UDP) reverse proxy you drive entirely from your browser. Type a domain, pick an interface, point an nginx stream upstream pool at your backends β€” it validates and reloads in seconds. No manual ip commands, no hand-edited configs.

docker pull qobil7681/splitter:latest

✨ Highlights

Proxy & networking

  • Web dashboard for managing nginx stream (TCP/UDP) mappings β€” generate, validate (nginx -t), and reload with a step-by-step live log of every command that ran
  • Dynamic interface discovery (physical + VLAN), with optional managed macvlan/ipvlan sub-interfaces β€” each domain can get its own real MAC + IP on the LAN, optionally inside an 802.1Q VLAN
  • Load balancing methods: round-robin, least_conn, hash (+consistent), random, random two least_conn
  • Active-passive failover with priority tiers, TCP health probing, flap protection, and automatic failback
  • Optional HTTP health checks per mapping β€” custom path, scheme, expected status, or a full custom URL

Docker integration

  • Container discovery: pick running containers as backends by name, with per-container ports and TCP/UDP protocol selection
  • Traefik-style dynamic backends β€” event-driven reconciliation auto-drops dead containers from the pool and follows IP changes
  • Swarm aware: lists services by name on a manager node

Security

  • Login-protected UI with admin / creator roles; first run creates the admin account
  • WAF (ModSecurity + OWASP CRS) baked into the image β€” install from the dashboard, Off / Detection / Enforce modes
  • Per-interface iptables firewall (security-group-style rules) with lockout protection and one-click panic teardown
  • IP/CIDR access lists, including an auto-refreshing tas-ix (Uzbekistan) list
  • L4 rate limiting: connections per client IP and per-connection bandwidth
  • SSL: upload certs, generate SAN self-signed certs, or reuse a managed cert across mappings
  • Audit log of user actions, and real client IP capture behind proxies

Operations

  • Backup / restore: mapping export/import plus full-system snapshots (incl. SSL keys) with scheduled auto-backups and one-click rollback
  • Network Tools page (ping, port test, DNS, traceroute, tcpdump, WHOIS) and a live routing map with down-backend flagging
  • Lazy-loaded pages and paginated mapping lists for large deployments

πŸš€ Getting started

Docker (host network + privileged β€” required so the IPs Splitter creates are real on your LAN):

git clone https://github.com/splitter-uz/splitter && cd splitter
docker compose up -d

Native (systemd):

sudo ./setup.sh --service

Then open http://<server-ip>:8088 and create the admin account.

πŸ“¦ Images

  • qobil7681/splitter:1.0.0
  • qobil7681/splitter:latest

CI builds and pushes the image automatically on every push to main and on every tag.