Code

BanHammer.app

12. März 2026

BanHammer.app

macOS/iOS-App zur visuellen Überwachung von Fail2Ban auf Linux-Servern.

Zielgruppe: Self-Hoster, Sysadmins und Homelab-Betreiber, die ihre Server-Sicherheit im Blick behalten wollen.

Was es tut

BanHammer visualisiert in Echtzeit, wer gerade versucht, in deine Server einzubrechen – und wer bereits geblockt wurde. Die App verbindet sich direkt mit dem banhammer-agent auf deinem Server – kein zentrales Backend, keine Cloud, deine Daten bleiben auf deinem Server.

  • Live Ban-Feed – jede neue Sperrung in Echtzeit via WebSocket
  • Geo-Map – angegriffene IPs auf einer Weltkarte (MapKit)
  • Jail-Übersicht – ssh, postfix, dovecot und weitere Dienste auf einen Blick
  • Top-Angreifer – Statistiken nach IP und Herkunftsland
  • Manuelles Unban – Sperren direkt aus der App aufheben
  • Whitelist – IPs dauerhaft aus allen Jails ausschließen

macOS Menü

Status

KomponenteStatus
Server AgentFertig
macOS AppIn Entwicklung
iOS AppGeplant (teilt Code mit macOS-App)

Architektur

Das System besteht aus zwei Komponenten — kein zentrales Backend:

[Linux Server]
  └── banhammer-agent (Python, läuft als dedizierter User)
        ├── Parst Fail2Ban-Logs in Echtzeit
        ├── Speichert Events in lokaler SQLite-Datenbank
        ├── Reichert IPs mit Geo-Daten an (GeoLite2)
        ├── REST API (HTTPS, zufälliger Pfad-Prefix)
        └── WebSocket-Endpoint für Live-Events
              ↑ direkte Verbindung
[BanHammer macOS/iOS App]

macOS Widget

Tech Stack

KomponenteTechnologie
macOS AppSwift, SwiftUI
iOS AppSwift, SwiftUI (shared code mit macOS)
Server AgentPython, FastAPI, SQLite
EchtzeitWebSocket (kein Polling nötig)
MapsMapKit