|
Any plans to have SMB support? Would be awesome 🤩 |
Replies: 14 comments 6 replies
|
Thank you for contributing and for sharing this feature idea! I'll take a detailed look at it today. If it fits the project and is feasible, I'll try to implement it and will keep you updated here. |
|
Quick update as promised: SMB is currently among the top five features on the roadmap. I already prepared the File Manager for it as part of the recent major rework. However, the actual SMB integration is a substantial change involving security-sensitive areas such as authentication, credential handling, network access, and user isolation. I do not want to rush it. I need to design and secure it carefully so that it does not put WebSSH or existing installations at risk. SMB is definitely on the radar, but a safe and reliable implementation will take some time. But you can be sure that it will come soon. :-) |
|
Update: SMB support has now landed on It is opt-in and remains disabled by default. To enable it, set: SMB_ENABLED=true
SMB_ALLOWED_TARGETS=nas.example,10.0.0.8Then restart WebSSH and open the File Manager to connect an SMB share. Each allowed target must be an exact hostname or IP address; ports, paths, and wildcards are rejected. The implementation deliberately requires TCP 445, SMB 3.1.1, signing, encryption, and secure negotiation. Passwords are never saved. Non-secret share details such as name, host, share, domain, and username can be stored per user. If you can, please test it with a non-production share or a current backup, especially:
Please report anything unexpected here. Include your WebSSH commit or container tag, SMB server type, browser, and exact reproduction steps, but never post passwords or other credentials. |
|
Hi, In WebSSH, I get an error when trying to connect: From the tests I have made with Windows clients, they use SMB 3.1.1 and encryption works fine. It seems that by default Windows "disables" signing when encryption is enabled (I am not an expert on this topic so please take this statement with a grain of salt). Is there something I can do to bring more details ? EDIT: After running a packet capture, I found that I needed to specify the realm with the username (e.g.: username@example.com). Moving on with the tests EDIT2: Actually it works better to specify the DNS domain name in the "Domain" field and the username in the "Username" field. |
|
Hello again, Here are some feedbacks on the various topics @bifrost0x requested:
Side note: File Manager seems to have a size limit for the file transfers but does not show any message when trying to transfer an oversized file. |
|
thx a lot for you support @ap0int3d ! i am already working on the fix :) |
|
Thank you again for the detailed testing, @ap0int3d. I have opened #149 to address the feedback from your report:
The change is covered by the full Python, JavaScript, and browser suites, plus an encrypted SMB 3.1.1 Samba integration test. If you can retest #149 against TrueNAS Core, the most useful cases are recoverable text editing, navigation during a long transfer, one-click cancellation, same-share Move, and an oversized file. Please keep passwords and sensitive share details out of the report. PR: #149 |
|
Hi, Text editing: Share browsing while transfer occurs: Transfer cancellation Same-share move: Oversized files: However I get the following ephemeral message in the top right corner: |
|
Thanks again for the detailed TrueNAS Core retest, @ap0int3d. The remaining issues identified during that retest were addressed by PR #152, which has now been merged into
PR: #152 All CI checks passed, including the Python suites on both the current and minimum supported Python versions, browser end-to-end tests, SMB and SSH integration tests, container and threading checks, CodeQL, and image security scanning. If possible, one final real-world retest against TrueNAS Core or Active Directory would be very helpful. The most useful cases are one-click cancellation, SFTP browsing during a long transfer, the visible same-share Move action, an intentionally oversized upload, and two consecutive text-file saves. Please continue to keep passwords and sensitive share details out of the report. |
|
Thanks again for the precise follow-up, @ap0int3d. The remaining items from your latest report have now been addressed and merged into main via #156:
To use Move, load the exact same active connection into both panes, browse to different folders, select one or more items in the source pane, and choose Move. The source picker will now identify the matching connection with Same connection - enables Move. All CI checks passed, including both Python versions, browser end-to-end tests, SMB and SSH integration tests, CodeQL, container checks, and image security scanning. PR: #156 If you have time for one final retest against the current main build, the most valuable checks would be one-click cancellation for SFTP-to-SFTP and SFTP-to-SMB transfers, the same-connection Move flow, opening an empty folder, queue auto-follow, and the corrected TrueNAS login guidance. Please continue to keep passwords and sensitive share details out of the report. |
|
Hi, What I had in mind was:
Please don't take this the wrong way but the way it is implemented right now feels overly complicated. I'll follow up with the requested tests later today. |
|
Hello again, One-click transfer cancellation Same-connection Move flow Empty folder Queue auto-follow SMB share login guidances For domain-joined Windows servers hosting SMB shares, user can simply input their sAMAccountName and password leaving the the "Domain" field empty. Since Windows is domain-joined and can only be joined to one single domain, Windows Server is most likely infering that the user is in the same domain.
All this work in a single forest, single domain AD architecture. For non domain-joined Windows servers, it should be as simple as inputting local username and password without domain. But this case was not tested. In my opinion, all the above can be stated in the Wiki but it is probably going to take a lot of space in the Connection page within WebSSH unless you add this as a tooltip or something equivalent. But I would personally simply leave a link in WebSSH redirecting to the Wiki for more information. |
|
Hi, Move experience: However I still think that opening a popup file browser overlaying the pane on which the "Move" button was clicked would be an even better experience. Please see below example: After selecting the file, you click on "Move...", here is the kind of thing that should happen in my opinion: Ideally the "Select targer folder" window should be over the pane that started the move operation but I can live if it is centered 😆 Working this way could also be duplicated to the Workspaces SFTP pane. Thanks to this overlay, it would not be needed to get to the File Manager to move a file. This can be achieved directly from the Workspaces tab. SMB guidance: PS: Love what you did in #158 with the section tab for Workspaces, File Manager, Hosts and Commands ! Things look more "integrated" now ! Great job ! |









Update: SMB support has now landed on
mainvia #140 and is ready for testing 🎉It is opt-in and remains disabled by default. To enable it, set:
Then restart WebSSH and open the File Manager to connect an SMB share. Each allowed target must be an exact hostname or IP address; ports, paths, and wildcards are rejected.
The implementation deliberately requires TCP 445, SMB 3.1.1, signing, encryption, and secure negotiation. Passwords are never saved. Non-secret share details such as name, host, share, domain, and username can be stored per user.
If you can, please test it with a non-production share or a current backup, especially: