- HTML 81.9%
- Shell 12.9%
- Batchfile 5.2%
| setup | ||
| stick | ||
| .gitignore | ||
| README.md | ||
Find-Me USB
Ein USB-Stick als Fundsache-Melder: Wer ihn findet und OEFFNE_MICH.html öffnet, löst automatisch eine Benachrichtigung an den Eigentümer aus – mit ungefährem Standort, Zeitstempel und der Möglichkeit, eine Nachricht zu hinterlassen.
Wichtig: Der Stick meldet sich nicht von selbst. AutoRun ist auf Windows seit Version 7 für USB-Sticks dauerhaft deaktiviert. Der Finder muss aktiv eine Datei öffnen – erst dann wird der Webhook ausgelöst.
Funktionsweise
USB eingesteckt
↓
Finder öffnet OEFFNE_MICH.html ←──oder── start.bat / start.command / start.sh
↓ ↓
(leitet weiter zu) (öffnet direkt)
↓ ↓
alarm.html wird im Browser angezeigt
(Kontaktnummer + Rückgabebitte)
↓
ipinfo.io ermittelt ungefähren Standort
↓
POST → n8n Webhook → Telegram/E-Mail/etc.
↓
(optional) Finder tippt Nachricht → zweiter POST
Einrichtung
1. n8n-Webhook anlegen
Voraussetzung: eine laufende n8n-Instanz (self-hosted oder Cloud).
Variante A – Workflow importieren (empfohlen)
- n8n öffnen → Workflows → Import from file
- Datei
n8n_webhook_workflow.jsonaus diesem Repository auswählen - Im importierten Workflow die folgenden Platzhalter ersetzen:
YOUR_TELEGRAM_CHAT_ID→ deine Telegram Chat-ID
(ermittelbar via @userinfobot)YOUR_TELEGRAM_CREDENTIAL_ID→ in n8n angelegte Telegram-Bot-Credential
(unter Settings → Credentials einen neuen Telegram-Bot anlegen)
- Workflow aktivieren (Toggle oben rechts)
- Die Webhook-URL aus dem Webhook-Node kopieren:
https://<deine-n8n-domain>/webhook/usb-alarm
Variante B – Workflow manuell erstellen
- Neuer Workflow → Node Webhook hinzufügen
- HTTP Method:
POST - Path: beliebig, z. B.
usb-alarm - Response Mode:
Response Node
- HTTP Method:
- Einen Switch-Node anschließen, der auf
{{ $json.query.event }}prüft:usb_found→ Benachrichtigung „Stick wurde gefunden"finder_message→ Benachrichtigung „Finder hat Nachricht hinterlassen"
- Jeweils einen Telegram- (oder E-Mail-/Pushover-/…-)Node anhängen
- Einen Respond to Webhook-Node (Response:
{ "status": "ok" }) parallel zum Switch anschließen - Workflow aktivieren und Webhook-URL notieren
2. Webhook-URL in alarm.html eintragen
Datei alarm.html öffnen und den Platzhalter ersetzen:
// KONFIGURATION – hier anpassen:
const WEBHOOK_URL = 'YOUR_N8N_WEBHOOK_URL';
Beispiel:
const WEBHOOK_URL = 'https://n8n.example.com/webhook/usb-alarm';
3. Kontaktdaten anpassen
In alarm.html die angezeigte Telefonnummer ändern:
<div class="phone">📞 +49 123 456789</div>
In README_FINDER.txt die Kontaktnummer aktualisieren:
Telefon: +49 123 456789
4. Dateien auf den USB-Stick kopieren
Das Repository ist in zwei Ordner aufgeteilt:
stick/ ← Inhalt 1:1 auf den USB-Stick kopieren
setup/ ← Nur für die Einrichtung (bleibt auf deinem Rechner)
README.md ← Projektdoku (bleibt auf deinem Rechner)
Den gesamten Inhalt von stick/ auf den USB-Stick kopieren:
| Datei | Betriebssystem | Sichtbar für Finder | Zweck |
|---|---|---|---|
OEFFNE_MICH.html |
Alle | ✅ Ja | Einstiegspunkt – leitet zu alarm.html weiter |
README_FINDER.txt |
Alle | ✅ Ja | Anleitung mit Kontaktdaten für den Finder |
alarm.html |
Alle | (versteckt) | Alarm-Seite mit Webhook-Logik |
autorun.inf |
Windows | (versteckt) | AutoPlay-Label & Icon (kein Auto-Execute) |
start.bat |
Windows | (versteckt) | Öffnet alarm.html im Standardbrowser |
start.command |
macOS | (versteckt) | Öffnet alarm.html im Standardbrowser |
start.sh |
Linux | (versteckt) | Öffnet alarm.html im Standardbrowser |
_setup_hide.bat |
Windows | (versteckt) | Einmalig: versteckt Arbeitsdateien, löscht sich selbst |
_setup_hide.command |
macOS / Linux | (versteckt) | Einmalig: versteckt Arbeitsdateien, löscht sich selbst |
setup/n8n_webhook_workflow.jsonundREADME.mdgehören nicht auf den Stick.
5. (Optional) Versteck-Setup ausführen
Damit dem Finder nur OEFFNE_MICH.html und README_FINDER.txt angezeigt werden, einmalig ausführen:
| Betriebssystem | Datei |
|---|---|
| Windows | _setup_hide.bat |
| macOS / Linux | _setup_hide.command |
Die Skripte setzen alle anderen Dateien auf „versteckt" und löschen sich danach selbst.
Projektstruktur
Projekt_Find_me_usb/
├── stick/ ← Inhalt auf den USB-Stick kopieren
│ ├── OEFFNE_MICH.html (alle OS – sichtbar)
│ ├── README_FINDER.txt (alle OS – sichtbar)
│ ├── alarm.html (alle OS – versteckt)
│ ├── autorun.inf (Windows – versteckt)
│ ├── start.bat (Windows – versteckt)
│ ├── start.command (macOS – versteckt)
│ ├── start.sh (Linux – versteckt)
│ ├── _setup_hide.bat (Windows – einmalig ausführen)
│ └── _setup_hide.command (macOS / Linux – einmalig ausführen)
├── setup/
│ └── n8n_webhook_workflow.json ← n8n-Import, bleibt auf deinem Rechner
└── README.md ← diese Datei, bleibt auf deinem Rechner
Gesendete Webhook-Daten
Jeder Alarm-POST enthält:
{
"timestamp": "2026-05-04T12:00:00.000Z",
"ip": "1.2.3.4",
"city": "Berlin",
"region": "Berlin",
"country": "DE",
"coordinates": "52.5200,13.4050",
"timezone": "Europe/Berlin",
"org": "AS1234 Example ISP",
"user_agent": "Mozilla/5.0 ...",
"language": "de-DE"
}
Bei einer Finder-Nachricht (?event=finder_message) wird dieselbe volle Payload gesendet, ergänzt um:
{
"timestamp": "2026-05-04T12:01:00.000Z",
"ip": "1.2.3.4",
"...": "(alle Felder wie oben)",
"finder_message": "Ich habe den Stick am Bahnhof gefunden …"
}
Der Event-Typ wird als Query-Parameter übergeben: ?event=usb_found bzw. ?event=finder_message.
Datenschutz-Hinweis
Der Standort wird über den Dienst ipinfo.io anhand der IP-Adresse ermittelt (kein GPS). Die Daten verlassen den Browser des Finders in Richtung des konfigurierten n8n-Webhooks. Stelle sicher, dass dein n8n-Server HTTPS verwendet.
Lizenz
MIT