Code
BanHammer.app
12. März 2026
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

Status
| Komponente | Status |
|---|---|
| Server Agent | Fertig |
| macOS App | In Entwicklung |
| iOS App | Geplant (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]

Tech Stack
| Komponente | Technologie |
|---|---|
| macOS App | Swift, SwiftUI |
| iOS App | Swift, SwiftUI (shared code mit macOS) |
| Server Agent | Python, FastAPI, SQLite |
| Echtzeit | WebSocket (kein Polling nötig) |
| Maps | MapKit |
Links
- Server Agent (Open Source): github.com/a6k/banhammer-agent