NAS Helper is a Windows desktop utility for discovering SMB shares and mapping them to drive letters. It provides a focused graphical workflow for NAS and Windows file-server connections without requiring repeated net use commands.
- Current features (v2.0)
- Version history
- Downloads
- Requirements
- Build from source
- First run
- Security
- Repository layout
- Changelog
- License
- Discover visible SMB shares on a configured NAS or Windows file server.
- Map a selected share to an available Windows drive letter.
- Check NAS connectivity before mapping.
- Disconnect one mapped drive or all network drives.
- Configure standard drive mappings and apply them in one step.
- Export standard mappings as a Windows command script.
- Manage multiple NAS login profiles.
- Use per-drive credentials for standard mappings.
| Version | Technology | Role | Status |
|---|---|---|---|
| v1.0 | Windows Forms | Historical first release | Archived |
| v1.5 | Windows Forms | Historical feature update | Archived |
| v2.0 | Avalonia UI | Current release | Active |
v2.0 is the only current version. The v1.0 and v1.5 source snapshots are preserved in Git history and are available through their historical tag or release.
Ready-to-run Windows x64 packages are published on the Releases page:
- v2.0: current release and the recommended download.
- v1.5: archived Windows Forms release kept for historical compatibility.
Each package is framework-dependent and requires the .NET 10 Desktop Runtime. The package contains the executable and all files produced for that release.
- Windows 10 or later.
- .NET 10 Desktop Runtime for the published packages.
- .NET 10 SDK for building from source.
- Network access to an SMB-compatible NAS or Windows file server.
The project targets net10.0-windows and uses Windows networking APIs. It is not a cross-platform application.
Run the commands from the repository root:
# Restore and build the current version
dotnet build .\NAS_Helper.csproj -c Release
# Publish a Windows x64 framework-dependent package
dotnet publish .\NAS_Helper.csproj `
-c Release -r win-x64 --self-contained falseThe current project is configured for single-file publishing; the command output reports the final publish directory. Earlier source snapshots can be inspected or built from their historical Git revisions.
- Start
NAS_Helper.exefrom the published v2.0 output. - Open Settings and enter the NAS hostname, IP address, or UNC path.
- Set the NAS as the default host.
- Add or select a login profile where supported.
- Load the available shares and map a share to an unused drive letter.
Application settings are stored in a local settings.json file next to the executable. This file is intentionally excluded from version control because it contains account configuration.
The exported .cmd or .bat mapping script contains the credentials passed to net use. Treat the file like a password, keep it out of source control, and remove it when it is no longer required.
The current v2.0 release encrypts stored passwords with a key derived from the local Windows machine and user account. This protects the normal settings file from casual inspection, but it is not a replacement for Windows Credential Manager or an enterprise secrets vault. The historical v1.0 release stores its original single-profile settings in settings.json.
NAS_Helper.csproj Current v2.0 project
Models/ Application models
Services/ Network, drive-mapping, and encryption services
ViewModels/ MVVM presentation logic
Views/ Avalonia UI views
img/ Application icons and embedded assets
See CHANGELOG.md for the version history.
This project is licensed under the GNU General Public License v3.0. You are free to use, study, modify, and redistribute the software, provided that any distributed derivative work is also licensed under GPLv3 and its source code is made available.
