@nea-lhubmann/n8n-nodes-smb-connect
v1.0.2
Published
n8n SMB2 Connect
Downloads
40
Maintainers
Readme
n8n-nodes-smb-connect
Benutzerdefinierter Node für n8n, um auf SMB/Samba-Freigaben mit NTLMv2-Authentifizierung zuzugreifen. Verwendet die v9u-smb2-Bibliothek.
Features
- Auflisten von Dateien & Ordnern in Samba-Freigaben als JSON (Kann n8n auch als Tabelle darstellen.)
- Hochladen, Herunterladen und löschen von Daten auf dem Server
- Unterstützung von NTLMv2
- mit Zeitstempel (erstellt, geändert) & Dateigröße
- Filterung nach Alter (> 10 Minuten) in einem extra Code-Node möglich
- Ergebnis der Filterung kann per Mail-Node versendet werden.
- Workflow in n8n vollständig konfigurierbar
Testing (Lokale Entwicklung)
1. Projekt bauen
Zuerst muss das TypeScript-Projekt kompiliert werden:
npm run buildDies erstellt die JavaScript-Dateien im dist/-Ordner.
2. Lokale Installation in n8n
Für lokales Testen gibt es zwei Möglichkeiten:
Option A: npm link (Empfohlen für Entwicklung)
Im Projektverzeichnis (N8N_samba):
npm linkIm n8n-Installationsverzeichnis (wo n8n installiert ist):
npm link @nea-lhubmann/n8n-nodes-smb-connectn8n neu starten, damit der Node erkannt wird.
Option B: Lokaler Pfad in n8n
- In n8n zu Einstellungen → Community Nodes gehen
- Statt des Paketnamens den lokalen Pfad angeben:
C:\Users\Desktop\N8N_samba - Kontrollkästchen aktivieren und installieren
- n8n neu starten
3. Node in n8n testen
Neuen Workflow erstellen in n8n
"Samba Connect" Node hinzufügen (sollte jetzt verfügbar sein)
Credentials konfigurieren:
- Host/IP-Adresse des SMB-Servers
- Freigabename
- Port (Standard: 445)
- Domain (optional)
- Benutzername
- Passwort
Test-Operation auswählen:
- "Dateiliste ausgeben" für den ersten Test (einfachste Operation)
- Ordnerpfad angeben (optional, leer lassen für Root)
Workflow ausführen und Ergebnis prüfen
4. Weitere Tests
- Upload testen: Readfile Node → SMB Connect Node (Upload)
- Download testen: SMB Connect Node (Download) → Readfile Node
- Delete testen: SMB Connect Node (Delete)
- Copy/Move testen: SMB Connect Node (Copy/Move) mit Ziel-Credentials
Installation (Produktion)
Node als Community-Node installieren
- Nach dem Login Klick auf:
Drei Punkte unten Links Einstellungen Klick Community Nodes unten links
- Eingabe des Community-Node Namens "@nea-lhubmann/n8n-nodes-smb-connect" im Textfeld in der Mitte
- Kontrollkästchen aktivieren
- Klick auf installieren
Verwendung und Konfiguration
Node zum Workflow hinzufügen: Dazu auf das Plus klicken und nach "SMB Connect" suchen.
Zugangsdaten zum Server angeben und Dateioperation auswählen.
Filterfunktion (optional)
- JavaScript Code um nach Alter der Daten zu filtern (dazu einen "Code Node" zum Workflow hinzufügen und diesen Code einfügen:
const now = new Date().getTime();
const tenMinutes = 10 * 60 * 1000;
const returnItems = [];
for (const item of items) {
const modifiedAt = new Date(item.json.Geändert).getTime();
// Ordner ausschließen UND prüfen, ob Datei älter als 10 Minuten ist
if (item.json.Größe !== 'Ordner' && (now - modifiedAt) > tenMinutes) {
returnItems.push({
json: {
Name: item.json.Name,
Pfad: item.json.Pfad,
AlterInMinuten: Math.round((now - modifiedAt) / 60000),
Geändert: item.json.Geändert,
},
});
}
}
return returnItems;Run Once for All Items auswählen
Hinzufügen des Mail Node mit passendem JS Code für Betreff und Mailtext (Fügt Variable für Dateinamen usw. ein.)
Code für Betreff
Datei "{{ $json.Name }}" ist älter als {{ $json.AlterInMinuten }} Minuten
Code für Mailtext
Die Datei {{ $json.Name }} wurde zuletzt geändert am: {{ $json['Geändert'] }}
Pfad: {{ $json.Pfad }}
Alter: {{ $json.AlterInMinuten }} Minuten.Mail-Versand
- Daten von Mail-Server im Mail Node angeben.
Hinweise
- für das Hochladen muss ein Readfile Node vor dem SMB Connect Node die betreffende Datei in einem "data"-Objekt übergeben.
- für das Herunterladen muss ein Readfile Node nach dem SMB Connect Node die betreffende Datei in einem "data"-Objekt entgegennehmen.
