n8n-nodes-smb-pro
v1.1.0
Published
n8n community node for SMB2/SMB3 shares with NTLMv2 support. Proper n8n credentials, list/upload/download/delete/move/mkdir operations, retry logic and clear errors.
Maintainers
Readme
n8n-nodes-smb-pro
n8n community node for SMB2/SMB3 network shares (Windows file shares, Samba, NAS) with NTLMv2 authentication via the v9u-smb2 library.
Built as a more robust alternative to existing SMB community nodes:
- Proper n8n credentials — connection data is stored encrypted in the n8n credential store, not inside the workflow. Reusable across workflows.
- NTLMv2 support — works with hardened Windows/AD environments that reject NTLMv1.
- 7 operations — List, Upload, Download, Delete, Move/Rename, Create Folder (recursive), Check Exists.
- Human-readable errors — NT status codes like
0xC000006Dare translated into actionable messages ("Logon failure - check username, password, and domain"). - Retry logic — transient errors (timeouts, connection resets) are retried with backoff; authentication errors are never retried, so accounts don't get locked.
- Path safety — forward and backslashes both accepted,
..traversal rejected, hidden shares (share$) supported. - Clean connection handling — the SMB connection is always closed, even on errors.
Installation
Option A: Manual install (self-hosted, works without npm registry)
Copy the packaged .tgz file to your n8n instance and install it into the custom nodes directory:
# On the n8n host / inside the container:
mkdir -p ~/.n8n/nodes
cd ~/.n8n/nodes
npm install /path/to/n8n-nodes-smb-pro-1.0.0.tgzRestart n8n. The node appears as "SMB Pro".
For Kubernetes: copy the tarball into the pod (e.g. kubectl cp) or place it on the persistent volume that backs /home/node/.n8n, then run the npm install inside the pod and restart the deployment.
Option B: Via Community Nodes UI
If you publish this package to npm (or a private registry), install it via Settings → Community Nodes using the package name.
Credentials
| Field | Description |
|---|---|
| Host | IP or hostname of the SMB server (no \\, no share name) |
| Share Name | Share name only, e.g. documents or archive$ |
| Domain | AD domain in NetBIOS short form (e.g. CORP). Empty for local accounts. |
| Username | Username without DOMAIN\ prefix |
| Password | Password |
| Connection Timeout | Connect timeout in ms (default 15000) |
Operations
| Operation | Description |
|---|---|
| List Files | Lists files/folders with type, size, and timestamps (stats optional for speed). Recursive option descends into subfolders and returns only files. |
| Upload File | Uploads a binary property to a target path; optional overwrite and auto-create parent folders |
| Download File | Downloads a file into a binary property |
| Delete File | Deletes a single file (refuses folders) |
| Move / Rename | Moves or renames a file; optional overwrite |
| Create Folder | Creates a folder including missing intermediate folders |
| Check Exists | Returns exists + type (file/folder) for a path |
All paths are relative to the share root. Both / and \ are accepted.
Options
| Option | Default | Description | |---|---|---| | Retries on Transient Errors | 2 | Retries for timeouts/connection drops. Auth errors are never retried. | | Retry Delay (ms) | 1000 | Base delay between retries (linear backoff) |
Notes
- Files are held in memory during transfer (limitation of the underlying library). For very large files (hundreds of MB), consider mounting the share via the SMB CSI driver instead.
- Kerberos is not supported (NTLMv2 only).
License
MIT
