Skip to content

About

Keeps your SMB network shares mounted on the Mac and reconnects them by itself. Menu bar app.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

31 Commits

Folders and files

Repository files navigation

ShareMount: Your shares. Always there. The menu with three connected shares, their free space and one server not reachable.

A small menu bar app that keeps SMB shares mounted and brings them back after sleep, network changes and NAS restarts.
With the passwords macOS already keeps for the Finder.

Version macOS Apple silicon License

Website  ·  Download  ·  New  ·  Features  ·  How it works  ·  Privacy  ·  Install  ·  Releases

The menu, styled like Wi-Fi and Bluetooth. English and German, following your Mac's preferred language. The screenshots use demo data.


JUST ARRIVED

One Mac. Several users.

The latest releases make ShareMount at home on a shared Mac, give its buttons the Liquid Glass look and switch to calendar versions.

Only your own mounts 2.5
With fast user switching, every signed-in user runs their own ShareMount and only sees the shares they mounted themselves. Other users' mounts are never shown as yours or disconnected.
Updates from any account 2.5
If the app belongs to another user, macOS asks for an administrator password and the app keeps its owner. After an update ShareMount restarts by itself for the others, mounts stay connected.
Calendar versions 26.10.4
Year, month and the release of that month: 26.10.4 is the fourth release of October 2026. The jump from 2.5 is intended, the update check finds it as usual.
Glass buttons 2.4.2
On macOS 26 and 27 the install and notice buttons use the Liquid Glass style, and the menu rows follow the window corners.

If someone else already uses /Volumes/Name, yours is mounted at Name-1 without a warning. While your session is in the background, checking and reconnecting go on; windows wait until you are back.

Every change, release by release, in the releases.


FEATURES

Set it up once. Forget about it.

macOS mounts a network share once and then forgets about it. After the Mac wakes up, switches Wi-Fi or the NAS reboots, the share is gone, or worse, it hangs and the Finder beachballs. Scripts and backups that expect /Volumes/Media suddenly find /Volumes/Media-1. ShareMount watches your shares in the background and quietly fixes what macOS leaves broken.

Reconnects on its own
Checks at launch, after wake, on every network change and once a minute. Lost shares come back with a growing back-off from 30 seconds to 15 minutes.
No more beachballs
A share counts as dead only if the server stops answering on port 445 or reading the folder hangs twice in a row. Right after wake nothing is unmounted.
Uses the macOS keychain
Mounts through macOS (NetFS and NetAuth), which takes the password from the entry the Finder creates. The app never reads or stores your passwords.
Clean paths
Keeps shares at /Volumes/ instead of -1, so scripts and backups always find them, and tells you if a leftover folder is in the way.
Gentle with your NAS
If a server rejects the login, ShareMount stops retrying until you sign in again, so your NAS account is not locked out.
All your Macs
With iCloud Drive the list of shares (not the passwords) is shared between your Macs. Passwords stay in each Mac's keychain.
Native menu
Designed like the Wi-Fi and Bluetooth menus of macOS 26 and 27, with free space per share, connection time and one click to open, disconnect or reconnect.
Easy setup
Add shares by hand, pick a server found via Bonjour, paste an smb:// address, or adopt shares already mounted in the Finder.

Plus several users on one Mac (every signed-in user runs their own ShareMount and only sees their own mounts, see New), notifications when a share is lost, a password is rejected or an update is available (at most once every 10 minutes per share), and updates from GitHub Releases, verified before anything is replaced (see Updates).

The settings window with a list of four shares, each with its smb address and an Edit button, plus Add, Import Connected and Show Config in Finder.

Settings: your shares, synced between your Macs through iCloud Drive if you like.


HOW IT WORKS

Careful, not busy.

ShareMount checks at launch, after wake, on every network change and once a minute. A share counts as dead only when the server stops answering or reading the folder hangs, twice in a row. Only then is it unmounted and mounted again.

Port 445
A quick check on the SMB port tells whether a server is reachable at all.
10 seconds
If reading a folder takes longer than that, twice in a row, the mount counts as hung.
0 passwords
ShareMount mounts through macOS, which takes them from the keychain.
Inside the source
File What it does
Sources/Engine.swift When to check: launch, wake, network changes, timer; back-off; dead-mount detection; path fixes
Sources/Mounter.swift Mount (NetFS, soft mount, no dialogs), probe, unmount, all with timeouts
Sources/Keychain.swift Where a password lives (macOS keychain via NetAuth, metadata only), optional GitHub token file
Sources/Store.swift shares.json (iCloud Drive or Application Support), backup copy, log
Sources/Updater.swift GitHub releases, checksum, signature and bundle checks, in-place swap, administrator swap when the app belongs to another user
Sources/Session.swift Fast user switching: keeps checking in the background, holds windows until the session is in front again
Sources/*View.swift, Components.swift Menu, settings and update window (SwiftUI)
Sources/Lang.swift Picks English or German; every visible text is written as L("German", "English")

PRIVACY

Private by design.

  • No tracking. No analytics, no telemetry, no accounts. There is nothing to sign up for.
  • Only your servers. ShareMount talks to your own SMB servers (a quick check on port 445, then the mount), browses for SMB servers via Bonjour on your local network while the share editor is open, and asks api.github.com for new releases. Nothing else.
  • Passwords stay in the macOS keychain and are only used by macOS itself.
  • Plain files. Your list of shares (server, share name, user name) is stored as a readable shares.json in iCloud Drive › Software › ShareMount when iCloud Drive is on, otherwise in ~/Library/Application Support/ShareMount. The log is at ~/Library/Logs/ShareMount.log.

INSTALL

Ready in a minute.

ShareMount is open source and signed locally, not notarized by Apple (that needs a paid developer account), so macOS asks once before the first launch.

  1. Download ShareMount.zip from the latest release and unzip it.
  2. Move ShareMount.app to your Applications folder. Updates can only replace the app from there.
  3. Allow the first launch. Open System Settings › Privacy & Security, scroll down to "ShareMount" was blocked and click Open Anyway. Or in Terminal:
    xattr -dr com.apple.quarantine /Applications/ShareMount.app
    On macOS 14 you can also right-click the app and choose Open.
  4. Add your shares. A drive icon appears in the menu bar (there is no Dock icon). Open the menu and choose Settings…, then Add, or Import Connected to adopt shares you already mounted in the Finder.

From then on ShareMount takes care of itself, updates included. A few things for the first run:

  • If macOS has no password for a share yet, click the share (or Sign In…). The standard macOS login window appears; tick Remember this password in my keychain. From then on ShareMount connects without asking.
  • Allow notifications and, if asked, access to the local network.
  • Turn on Open at Login in the menu so it is there after every restart.

What you need

  • macOS 14 Sonoma or later (built and tested on macOS 27)
  • A Mac with Apple silicon. Intel Macs are not supported.
  • Local network access and notifications
  • iCloud Drive, if you want the list of shares synced between Macs

English and German interface, following your Mac's preferred language. Built with Apple frameworks only, no third-party code.

Updates

ShareMount checks the GitHub releases of this repository shortly after launch and every 6 hours (you can turn that off). When a new version is out, a small window offers Install now, Later or Skip this version.

The update window: a new version of ShareMount is available, with what is new and the buttons Skip This Version, Remind Me Later and Install Now.

Before the app is replaced, ShareMount checks that the download matches the published SHA-256 checksum, that it is ShareMount (bundle identifier) with exactly the announced version, and that its code signature is intact. The new version then replaces the old one in place; if that fails, the old version is put back.

Because ShareMount is ad-hoc signed and the checksum is published in the same release, these checks protect against broken or mixed-up downloads. They cannot protect against a compromised GitHub account, so an update is exactly as trustworthy as this repository's releases.

No GitHub account or token is needed. A read-only token can be entered under Settings › Updates › GitHub Token (optional), which is only useful for a private fork.

Several users on one Mac. Updates work from any account. If the app in Applications belongs to another user, macOS asks for an administrator password; the app keeps its owner. When one user installs an update, ShareMount restarts by itself for the other signed-in users, and their mounts stay connected. The update window never opens while your session is in the background; it waits until you switch back.

Versions

Since 26.10.4, ShareMount uses calendar versions YY.M.N: two-digit year, month without a leading zero, and the running number of the release within that month. 26.10.4 is the fourth release of October 2026; the next month starts again at .1. Every release, feature or fix, gets the next number. The jump from 2.5 to 26.10.4 is intended: the update check compares the numbers part by part, so any calendar version is newer than any 2.x and the update is found as usual. How a release is made is described in RELEASING.md.

Build from source

No Xcode needed, the Command Line Tools are enough (xcode-select --install).

git clone https://github.com/SH1FT-W/sharemount.git
cd sharemount
./build.sh            # builds build/ShareMount.app (arm64, ad-hoc signed)
./build.sh install    # copies it to /Applications and launches it
./build.sh test       # runs the self tests
./build.sh snapshot   # renders the screenshots in docs/screenshots with demo data
./build.sh release next "What's new"   # maintainers: next calendar version, build, tag, GitHub release

build.sh prefers a macOS 26 SDK from the Command Line Tools (the SDK 27 there lacks the SwiftUI macro plugin) and falls back to the default SDK. Override with SDK=/path/to/sdk ./build.sh. Only Apple frameworks are used, no third-party code.


FAQ

Questions that come up.

A share shows "Server not reachable" although the NAS is on. Check System Settings › Privacy & Security › Local Network and make sure ShareMount is allowed. VPNs and firewalls that block port 445 have the same effect.

The login is rejected (key icon). ShareMount deliberately stops retrying so your NAS does not lock the account. Click the share, enter the correct password in the macOS window and tick Remember this password in my keychain.

My share is mounted at /Volumes/Name-1. That happens when macOS had not finished removing the old mount. ShareMount fixes it right after its own mounts. For an existing mount it shows Fix Path in the menu, because a running app might have files open there. If an empty folder blocks the path, the menu shows the sudo rmdir command to remove it.

Another user on this Mac has the same share mounted. Each user runs their own ShareMount and only sees their own mounts. If the other user already holds /Volumes/Name, yours is mounted at Name-1 on purpose, without a warning or a path fix.

Does it work with Time Machine shares? Yes. ShareMount ignores the hidden mounts Time Machine creates under /Volumes/.timemachine.

How do I uninstall it? Quit ShareMount, delete it from Applications, and optionally remove the ShareMount folder in iCloud Drive › Software or ~/Library/Application Support, and ~/Library/Logs/ShareMount.log. The keychain entries belong to macOS and the Finder and stay where they are.

Which languages are supported? English and German. The app picks German when your Mac's first preferred language is German and English otherwise. To try the other language, start it from Terminal with SHAREMOUNT_LANG=en or SHAREMOUNT_LANG=de, for example SHAREMOUNT_LANG=en /Applications/ShareMount.app/Contents/MacOS/ShareMount.


OPEN SOURCE

A small, independent project.

ShareMount is a small, independent project under the MIT license. Found a bug or missing something? Open an issue on GitHub.

ShareMount is not affiliated with Apple.


A SH1FT-W project  ·  Casora  ·  FLODE  ·  Pulse  ·  Evenlight  ·  AgentBar  ·  Built with Claude

About

Keeps your SMB network shares mounted on the Mac and reconnects them by itself. Menu bar app.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages