Repository navigation
Troubleshooting
Before opening an issue / avant d'ouvrir une issue : export the diagnostics snapshot —
GET http://127.0.0.1:8000/diagnostics?token=<TOKEN>or Settings → Export diagnostics. It contains no secrets.
The build is unsigned — this is expected. Right-click Snitch.app → Open → confirm. Or: System Settings → Privacy & Security → Open Anyway.
- Live capture requires elevated privileges — run the backend from an admin/root terminal or approve the sudo prompt in the app.
- Just testing?
SNITCH_DEMO=1 python run_backend.py— synthetic traffic, no privileges needed. - Docker on macOS/Windows cannot see host traffic (VM) — use the native app.
The token is per-launch. Find it:
- Electron: injected automatically — restart the app if stuck.
- Docker/source: printed once in backend logs, or
cat data/api_token.txt. - Open
http://127.0.0.1:8000/?token=<TOKEN>.
The data directory was probably created by a sudo run — its files are owned by root. Fix ownership:
# macOS
sudo chown -R "$USER" "$HOME/Library/Application Support/Snitch"
# Linux / source checkout
sudo chown -R "$USER" data/- First launch extracts the bundled DB-IP Lite — give it a few seconds.
- For fresher data: drop
GeoLite2-City.mmdb/GeoLite2-ASN.mmdbinto<data_dir>/geo/, or use Settings → Download DB-IP Lite (explicit consent, the only outbound call).
Expected for sockets that closed between the ~1.5 s psutil snapshots — attribution is best-effort. In Docker, only container processes are visible.
Another process holds the port — lsof -i :8000 to find it, or set SNITCH_PORT=8001.
La build n'est pas signée — c'est normal. Clic droit sur Snitch.app → Ouvrir → confirmer. Ou : Réglages Système → Confidentialité et sécurité → Ouvrir quand même.
- La capture réelle exige des privilèges élevés — terminal admin/root, ou validez la demande sudo dans l'app.
- Pour juste tester :
SNITCH_DEMO=1 python run_backend.py— trafic synthétique, aucun privilège. - Docker sur macOS/Windows ne voit pas le trafic de l'hôte (VM) — utilisez l'app native.
Le jeton change à chaque lancement. Où le trouver :
- Electron : injecté automatiquement — redémarrez l'app si bloqué.
- Docker/sources : affiché une fois dans les logs backend, ou
cat data/api_token.txt. - Ouvrez
http://127.0.0.1:8000/?token=<JETON>.
Le dossier de données a probablement été créé par un lancement sudo — ses fichiers appartiennent à root. Corrigez le propriétaire :
# macOS
sudo chown -R "$USER" "$HOME/Library/Application Support/Snitch"
# Linux / checkout sources
sudo chown -R "$USER" data/- Le premier lancement extrait la DB-IP Lite embarquée — laissez quelques secondes.
- Pour des données fraîches : déposez
GeoLite2-City.mmdb/GeoLite2-ASN.mmdbdans<data_dir>/geo/, ou Réglages → Télécharger DB-IP Lite (consentement explicite, seul appel sortant).
Normal pour les sockets fermées entre deux instantanés psutil (~1,5 s) — attribution best-effort. Sous Docker, seuls les processus du conteneur sont visibles.
Un autre processus occupe le port — lsof -i :8000, ou SNITCH_PORT=8001.
Snitch Wiki
Getting started / Démarrage
Docs (EN + FR)
Help / Aide (EN + FR)
Project / Projet