aixisstudio/Snitch has 829 GitHub stars and 53 forks. GitHot measured +5 stars in 24 hours and +143 in 7 days. Last checked 2026-11-08 19:10 UTC. Last push 2026-11-06.
So werden diese Zahlen gemessen
Real-time network monitor + outbound firewall — see & block every connection. Privacy-first, local-first, Rust fleet agent, SIEM exports, 8 languages. / Moniteur réseau temps réel + pare-feu sortant, agent de flotte Rust, exports SIEM. 100 % local.
What you can do
- Force Graph - Live node graph — your machine at the center, every connection as a node
- World Map - Geolocated IPs with animated arcs on an interactive globe
- 15/30/60-min Timeline - Sliding history stored locally in SQLite (24 h retention)
- Anomaly Detection - Flags port scans, beaconing (regular-interval C2), potential exfiltration
Gemessener Sternzuwachs
- in 24h
- +5
- in 7 days
- +143
- in 15 days
- Aktualisierung verzögert
- in 1 month
- Aktualisierung verzögert
Nettoänderungen in überlappenden Zeiträumen, keine Tagessummen. Fehlende Messwerte bleiben leer. Sterne zeigen Interesse, nicht Qualität.
README.de.md
OriginalSnitch
Verfolge jeden versteckten Netzwerkfluss.
English | Français | Español | Deutsch | Русский | 日本語 | Português | 中文
⭐ Wenn Snitch dir hilft, bedeutet ein Stern sehr viel! ⭐

Snitch ist ein Echtzeit-Visualizer für Netzwerkverkehr. Sieh jede Verbindung deines Computers — mit wem er spricht, wo der Server steht und welche App verantwortlich ist.
Die gesamte Oberfläche ist in English, Français, Español, Deutsch, Русский, 日本語, Português (BR) und 简体中文 verfügbar: Sprachauswahl in der Symbolleiste oben rechts.
Warum Snitch?
- vs Little Snitch / Lulu — gleiche Idee (App-weise Sichtbarkeit + Blockierregeln), aber Snitch ist plattformübergreifend, kostenlos und Open Source. Blockiert wird über die native OS-Firewall (
netsh/iptables/pf) — Snitch filtert nie im User-Space. - vs GlassWire — Snitch ist kostenlos, Open Source (AGPL), ohne Konto und macht keinerlei ausgehende Aufrufe ohne Opt-in; selbst die Geolokalisierung läuft offline.
- vs Wireshark — Snitch liefert eine lesbare Live-Übersicht statt roher Paketdissektion.
- vs Cloud-Monitore — alles läuft auf
127.0.0.1hinter einem Token; deine Verkehrsdaten verlassen den Rechner nie.
Funktionen
| Funktion | Beschreibung |
|---|---|
| Force-Graph | Live-Knotengraph — dein Rechner im Zentrum, jede Verbindung ein Knoten |
| Weltkarte | Geolokalisierte IPs mit animierten Bögen auf einem interaktiven Globus |
| Timeline 15/30/60 Min | Gleitende Historie lokal in SQLite (24 h Aufbewahrung) |
| Anomalie-Erkennung | Port-Scans, Beaconing (C2 im Regeltakt), potenzielle Exfiltration |
| Erweiterte Erkennung | DNS-Tunnel-Heuristik, Klartext-Ports, Länder-Baseline-Abweichung pro App |
| Firewall-Orchestrierung | Blockregeln (IP/CIDR/Domain/Prozess/Port) auf die OS-Firewall angewendet — netsh/iptables/pf, persistiert, Blockzähler pro Regel |
| Lockdown-Modus | Panik-Schalter — markiert & blockiert allen öffentlichen Ausgangstraffic, LAN bleibt erreichbar |
| Incident Response | Prozess killen / suspendieren, IP blockieren — ein Klick aus dem Verbindungsdetail |
| Threat Intelligence | Opt-in-Reputationsprüfungen (AbuseIPDB / AlienVault OTX / VirusTotal) mit eigenem API-Key — standardmäßig aus, Ergebnisse gecacht |
| Security-Audit | Integrierter Hardening-Bericht — Score, Befunde, Empfehlungen in Klartext |
| Forensik-Export | Ermittlungspaket per Klick — Prozessbaum + SHA-256 der Binärdatei, Historie & zugehörige Alarme (JSON/CSV/STIX) |
| Webhook-Alarme | Opt-in-Weiterleitung von Warn-/Kritik-Alarmen an Discord, Slack, Telegram oder beliebige Endpunkte |
| Prozess-Attribution | Welche App erzeugt welchen Traffic (Top 5 pro Verbindung) |
| LAN-Scanner | Passive Erkennung über die System-ARP-Tabelle (keine Broadcast-Scans) |
| Privacy Score | Live-Score der Exposition deines Ausgangstraffics |
| App-Ansicht | Ziele, Volumen und 60-Min-Historie pro Prozess |
| Alarm-Unterdrückung | Persistierte „Host/Typ ignorieren“-Regeln, in der UI verwaltbar |
| Einstellungen | Sprache, Aufbewahrung, Filter, GeoIP-Download mit Einwilligung, Diagnose |
| Tracker-Erkennung | Suffix-Domainlisten als editierbare Datendateien (backend/classifier/lists/) |
| Bandbreiten-Monitor | Live-MB/s-Sparkline |
| UI in 8 Sprachen | EN · FR · ES · DE · RU · JA · PT-BR · ZH-CN — ein Klick zum Wechseln, Locales in frontend/src/locales/ |
| Hell- / Dunkel-Theme | Folgt der OS-Einstellung, manueller Umschalter persistiert |
| Auto-Update | Desktop-App prüft GitHub Releases (abwählbar in Einstellungen; SNITCH_NO_UPDATE=1) |
| QUIC / HTTP/3 | UDP/443-Flüsse ehrlich gelabelt — QUIC-SNI ist verschlüsselt und wird nie gelesen |
| Watchlist | IPs/Domains anheften — dedizierter Alarm beim ersten Kontakt |
| Upload-Spitzen-Alarm | MB/min-Obergrenze pro Prozess mit einstellbarem Schwellwert |
| Interface-Auswahl | Welcher Adapter gelauscht wird — ohne Umgebungsvariable |
| WLAN-Kontext | Aktuelle SSID in der Symbolleiste |
| Export | Graph + Alarme als JSON/CSV, ein Klick |
Download
| Plattform | Paket |
|---|---|
| macOS (Apple Silicon) | brew install --cask aixisstudio/tap/snitch — oder Snitch.app zip/dmg aus dem neuesten Release |
| Linux | Snitch AppImage / .deb / .rpm / .snap aus dem neuesten Release — oder sudo docker compose up --build, siehe Docker (Linux) |
| Headless (alle OS) | brew install aixisstudio/tap/snitch → snitchd-Daemon (Server/VMs, ohne GUI) |
| Windows | Snitch Setup .exe — NSIS-Ein-Klick-Installer (native App, UAC-Abfrage beim Start, Npcap-Check integriert) aus dem neuesten Release. Lite-Alternative: Snitch-Lite-Setup (Backend + Browser-UI). Erfordert Npcap |
| Alle (1 Klick) | Pinokio — installiert Abhängigkeiten, startet das Backend, öffnet die UI |
Oder hol dir das neueste Release: github.com/aixisstudio/Snitch/releases
Erster macOS-Start — Snitch ist ad-hoc signiert, nicht notarisiert (keine kostenpflichtige Apple Developer ID).
brew install --caskentfernt die Quarantäne für dich. Beim manuellen Zip: Rechtsklick → Öffnen, oderxattr -dr com.apple.quarantine /Applications/Snitch.app. Beim ersten Start fragt Snitch einmal dein Admin-Passwort — Paket-Capture erfordert es wie tcpdump/Wireshark; die UI bleibt unprivilegiert.Windows-Codesignatur — Windows-Builds werden mit einem kostenlosen Open-Source-Zertifikat der SignPath Foundation über SignPath.io Authenticode-signiert (Antrag eingereicht, Genehmigung ausstehend). Bis zum ersten signierten Build kann SmartScreen warnen — Weitere Informationen → Trotzdem ausführen.
Stack
| Schicht | Technologie |
|---|---|
| Paket-Capture | ctypes → libpcap — Npcap (Windows) / libpcap (Linux/macOS) — eigener Parser (IPv4/IPv6/TCP/UDP/DNS/TLS-SNI) |
| Backend-API | FastAPI — WebSockets — SQLite |
| Frontend | React 19 — Vite — D3.js v7 — TopoJSON |
| Desktop-Wrapper | Electron 44 |
| Geolokalisierung | Nur offline — DB-IP Lite (CC BY 4.0) gezippt in backend/data/geo/ mitgeliefert, beim ersten Start entpackt; MaxMind GeoLite2 .mmdb ebenfalls unterstützt |
Sicherheit & Datenschutz
- API-Token — jeder REST-Endpoint und das WebSocket verlangen ein Token. Electron erzeugt es pro Start; unter Docker/Browser wird es einmal im Backend-Log ausgegeben und in
data/api_token.txtgespeichert. UI öffnen viahttp://localhost:8000/?token=<TOKEN>. - Nur Loopback standardmäßig — die API bindet
127.0.0.1in jedem Modus.SNITCH_BIND=0.0.0.0nur bei ausdrücklich gewünschtem LAN-Zugriff (Token gilt weiterhin). - CORS-/WebSocket-Origin-Allowlist — nur
localhost:5173, die Backend-Origin und Electron-file://-Seiten dürfen verbinden. - Geolokalisierung zu 100 % offline — keine Online-Abfragen. DB-IP Lite (CC BY 4.0) wird nach
<data_dir>/geo/entpackt; du kannst neuere.mmdb-Dateien ablegen oder DB-IP Lite in den Einstellungen laden (explizite Einwilligung; die übrigen Opt-in-Aufrufe — Threat Intel, Webhooks, Update-Checks — stehen in PRIVACY.md). - Alle Daten bleiben lokal —
snitch.db(24-h-Fenster,retention_hours) unddata/logs/snitch.logverlassen den Rechner nie. Keine Telemetrie. Jeder ausgehende Aufruf ist Opt-in. - Einstellungen persistieren — Portfilter, ausgeschlossene Prozesse, IP-Whitelist, Firewall-Regeln, Sprache und Aufbewahrung werden in SQLite gespeichert und beim Neustart wiederhergestellt.
- Firewall-Regeln best-effort — das Backend steuert die OS-Firewall (
netsh advfirewall,iptables,pf-Anker); ohne Privilegien bleibt die Regel zur Sichtbarkeit erhalten (BLOCKED_ATTEMPT-Alarme), markiert „nicht angewendet“ statt Durchsetzung vorzutäuschen. Lockdown hält Loopback + LAN offen. - Threat Intel & Webhooks Opt-in — standardmäßig deaktiviert; ein aktivierter Anbieter oder Webhook fügt ausgehende Aufrufe hinzu (siehe PRIVACY.md).
- Alarm-Unterdrückung — jeder Alarm bietet „Diesen Typ/Host ignorieren“; Regeln persistiert (
alert_suppressions), verwaltbar viaPOST|DELETE|GET /alerts/ignore. - Historie — Byte-/Paket-Aggregate pro Minute, Host und Prozess in SQLite (
host_history,process_history), treibt die App-Ansicht undGET /history/*. - Diagnose —
GET /diagnosticsliefert einen JSON-Schnappschuss der Laufzeit ohne Geheimnisse; in den Einstellungen exportierbar. - LAN-Geräte werden passiv aus der System-ARP-Tabelle erkannt — kein aktiver Broadcast-Scan. Namen kommen aus dem, was Geräte selbst senden: mDNS
*.local, LLMNR/NetBIOS, DHCP-Hostname, plus der kompletten offline IEEE-OUI-Tabelle; das Gateway wird als Router erkannt. - Siehe docs/threat-model.md für das vollständige Threat Model und docs/FIREWALL.md für die Sicherheits-Suite.
Docker (Linux)
Das Docker-Deployment richtet sich an Linux-Nutzer, die Snitch ohne weitere Installation betreiben wollen.
Capture läuft über network_mode: host — der Container sieht echten Host-Traffic.
Vorgefertigtes Image — ohne Klon oder Build:
sudo docker run --network host --cap-add NET_ADMIN --cap-add NET_RAW \
-v snitch-data:/app/data ghcr.io/aixisstudio/snitch
Hinweis: Docker Desktop auf Mac/Windows läuft in einer VM und kann den Host-Traffic nicht erfassen. Dort bitte die Electron-App nutzen.
API-Token holen (einmal beim Start ausgegeben, oder cat data/api_token.txt), dann http://localhost:8000/?token=TOKEN im Browser öffnen.
Im Hintergrund: sudo docker compose up -d --build
Docker-Grenzen: Prozess-Attribution nur für Container-Prozesse; LAN-Scanner je nach Netz ggf. nicht verfügbar.
Entwicklung
Voraussetzungen: Python 3.11+, Node.js 18+, Npcap (nur Windows), Admin-/Root-Terminal fürs Backend.
Demo-Modus —
SNITCH_DEMO=1speist synthetischen Traffic durch die echte Pipeline: kein Root, kein libpcap, keine echten Pakete. Ideal für Screenshots und Tests.
cd backend && pip install -r requirements.txt && python run_backend.py
cd frontend && npm install && npm run dev # http://localhost:5173/?token=TOKEN
cd electron && npm install && VITE_DEV=1 npx electron .
Tests:
cd backend && pip install -r requirements-dev.txt && python -m pytest tests/ -v
cd frontend && npm test
Projektstruktur
snitch/
├── backend/ FastAPI + libpcap-Capture (ctypes, eigener Parser)
├── frontend/ React- + D3.js-UI (8 Sprachen)
├── electron/ Electron-Wrapper (main, splash, preload)
├── data/ Laufzeitdaten (SQLite, .mmdb in geo/)
└── dist/ Build-Ausgabe (Backend-Exe, Installer)
Enterprise & Flotte
Snitch läuft auch headless für SOC-Deployments — alles dateibasiert und kostenlos:
- Security-as-Code — eine
snitch.toml(oder$SNITCH_CONFIG) überschreibt alle Einstellungen; Flotten per Ansible (deploy/ansible/), Puppet, Salt oder GPO provisionieren. - Rust-Agent — ein Zero-Dependency-Daemon (
agent/) streamt Sockets anPOST /ingest/eventsmit Linux/proc→PID-Attribution;POST /ingest/enrollstellt Einmal-Tokenssagt_…aus (gehasht, widerrufbar). - SIEM-nativ — CEF- oder RFC-3164-Syslog, generische Webhooks und
GET /forensics/export?format=ecs(NDJSON Elastic Common Schema) speisen Wazuh, Splunk, Graylog, Loki und Elastic. Sigma-Import (POST /alerts/rules/sigma), YARA-L-Export (GET /alerts/rules/yaral). - Flottenansicht —
GET /remote/fleetfasst die Härtungs-Audits aller Peers zusammen; ein Helm-Chart (deploy/helm/snitch) betreibt den Collector im Cluster. - Kostenlose Threat-Feeds —
POST /firewall/blocklistimportiert Domain- (StevenBlack) und IP-Listen (Blocklist.de, URLhaus/Feodo);ti_feedsplant automatische Aktualisierungen.
Schritt-für-Schritt-Anleitungen: docs/INTEGRATIONS.md.
Lizenz
AGPL v3 — siehe LICENSE. Frei nutzbar, studierbar und veränderbar; abgeleitete Werke müssen unter AGPL v3 offen bleiben.
Star-Verlauf
Ähnliche Projekte entdecken
trimstray/the-book-of-secret-knowledge
Eine Sammlung inspirierender Listen, Handbücher, Spickzettel, Blogs, Tricks, Einzeiler, CLI- und Web-Tools und mehr.
257,046 SterneHack-with-Github/Awesome-Hacking
Eine Sammlung verschiedener Awesome-Listen für Hacker, Pentester und Sicherheitsforscher.
125,014 Sterneswisskyrepo/PayloadsAllTheThings
Eine Liste nützlicher Payloads und Bypass-Methoden für die Sicherheit von Webanwendungen sowie für Pentests/CTF.
82,508 Sternecaddyserver/caddy
Schneller, erweiterbarer und plattformübergreifender HTTP/1-2-3-Webserver mit automatischem HTTPS
78,910 Sterne