smb-connect

n8n SMB2 Connect

Package Information

Released: 10/6/2025
Downloads: 41 weekly / 116 monthly
Latest Version: 2.0.0
Author: Chris Herfort

Documentation

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.)
  • Unterstützung von NTLMv2
  • mit Zeitstempel (erstellt, geändert) & Dateigröße
  • Filterung nach Alter (> 10 Minuten) im in extra Function-Node möglich
  • Ergebnis der Filterung kann per Mail Node versendet werden.
  • Workflow in n8n vollständig konfigurierbar
  • Beispiel Workflow als JSON im Ordner enthalten (Beispiel.json)

Installation

  1. Daten des Nodes in Ordner kopieren

    cp -R ~/.n8n/custom_nodes/n8n-nodes-smb-connect
    
  2. n8n mit notwendigen Umgebungsvariablen starten: Umgebungsvariablen in .env Datei speichern und die .env in yml-Datei einbiden.

    env_file:

    • .env

oder mit docker run ausführen.

N8N_CUSTOM_EXTENSIONS="~/.n8n/custom_nodes"
NODE_OPTIONS=--openssl-legacy-provider

  1. Node wie gewohnt zum Workflow hinzufügen und Zugangsdaten zur gewünschten Freigabe in den Textfeldern eintragen. (Wenn der Workflow gespeichert wird, bleiben auch die Zugangsdaten der SMB-Freigabe gespeichert.

  2. Hinzufügen des Code Node mit passendem JS Code um nach Alter der Daten zu filtern:

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;

5. Run Once for All Items auswählen

6. 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
```code
Datei "{{ $json.Name }}" ist älter als {{ $json.AlterInMinuten }} Minuten

## Code für Mailtext
```code
Die Datei {{ $json.Name }} wurde zuletzt geändert am: {{ $json['Geändert'] }}
Pfad: {{ $json.Pfad }}
Alter: {{ $json.AlterInMinuten }} Minuten.
   
7. Daten von Mail-Server im Mail Node angeben.

Discussion