ShareMan

Guide

Tout ce qui ne tient pas sur la page d’accueil.

Everything that doesn’t fit on the home page.

Installation

L’application

The app

Téléchargez le .dmg de la dernière version, ouvrez-le et glissez ShareMan dans le dossier Applications. Il faut macOS 13 Ventura ou plus récent.

Download the .dmg from the latest release, open it and drag ShareMan into the Applications folder. Requires macOS 13 Ventura or later.

Depuis les sources

From source

Il faut Xcode, ou les Command Line Tools (xcode-select --install).

You need Xcode, or the Command Line Tools (xcode-select --install).

git clone https://github.com/kawakode/shareBuddy.git
cd shareBuddy

scripts/build-app.sh --install                # ShareMan.app → /Applications
swift build -c release                        # shareman (CLI)
cp .build/release/shareman /usr/local/bin/

Ligne de commande

Command line

L’outil shareman fait tout ce que fait l’application, depuis le Terminal. Téléchargez shareman-macos.zip depuis la dernière version (ou compilez-le, voir plus haut), puis :

The shareman tool does everything the app does, from the Terminal. Download shareman-macos.zip from the latest release (or build it, see above), then:

cd ~/Downloads && unzip shareman-macos.zip
sudo mv shareman /usr/local/bin/
# si macOS bloque l’outil :# if macOS blocks the tool:
xattr -d com.apple.quarantine /usr/local/bin/shareman

shareman help <commande> détaille chaque option.

shareman help <command> details every option. Its messages are in French for now.

CommandeCommandRôleWhat it does
shareman scanCherche les serveurs NFS et SMB et liste leurs partages. Commande par défaut.Finds NFS and SMB servers and lists their shares. The default command.
shareman shares <hôtehost>Liste les exports et partages d’un serveur précis.Lists the exports and shares of one server.
shareman mount <partageshare>Monte un partage, dans /Volumes par défaut.Mounts a share, in /Volumes by default.
shareman mountsListe les partages réseau montés.Lists the mounted network shares.
shareman unmount <dossierfolder>Démonte un partage (--force si des fichiers sont ouverts).Unmounts a share (--force if files are open).

Chercher

Find

shareman                              # NFS + SMB
shareman scan --nfs                   # NFS seulement# NFS only
shareman scan --subnet 10.0.0.0/24    # un autre sous-réseau# another subnet
shareman scan --nfs --deep            # scan NFS approfondi# deep NFS scan
shareman scan -v                      # diagnostic des connexions# connection diagnostics
shareman scan --json                  # pour les scripts# for scripts

Lister

List

shareman shares nas.local
shareman shares nas.local --smb --user bob    # demande le mot de passe si besoin# asks for the password if needed
shareman shares nas.local --smb --hidden      # avec IPC$, C$…# include IPC$, C$…

Monter et démonter

Mount and unmount

shareman mount nfs://nas.local/volume1/media
shareman mount nas.local:/volume1/media                 # notation NFS classique# classic NFS form
shareman mount smb://nas.local/Public --guest
shareman mount //bob@nas.local/Photos --ask-password
shareman mount nas.local:/volume1/media --at ~/NAS/media --read-only

shareman mounts
shareman unmount /Volumes/media

Options du scan

Scan options

--nfs, --smbUn seul protocole.One protocol only.
--subnetSous-réseau à scanner, répétable. Par défaut, celui de chaque interface active.Subnet to scan, repeatable. Defaults to each active interface’s subnet.
-d, --deepScan NFS approfondi (voir plus bas).Deep NFS scan (see below).
--timeoutDélai de connexion par adresse, en secondes (0,6 par défaut).Connection timeout per address, in seconds (0.6 by default).
--bonjour-timeDurée d’écoute Bonjour, en secondes (3 par défaut).How long to listen for Bonjour, in seconds (3 by default).
--no-bonjour, --no-portscanDésactive une des deux méthodes de découverte.Turns off one of the two discovery methods.
--no-sharesListe les serveurs sans leurs partages.Lists servers without their shares.
-v, --jsonDiagnostic détaillé, ou sortie JSON.Detailed diagnostics, or JSON output.

Problèmes courants

Troubleshooting

macOS refuse d’ouvrir ShareMan

macOS won’t open ShareMan

Si votre version n’est pas signée par un développeur identifié par Apple, macOS la bloque au premier lancement. Après une première tentative d’ouverture, allez dans Réglages Système › Confidentialité et sécurité et cliquez sur Ouvrir quand même. Jusqu’à macOS 14, un clic droit sur l’app puis Ouvrir suffit.

If your copy isn’t signed by an Apple-identified developer, macOS blocks it on first launch. After a first attempt to open it, go to System Settings › Privacy & Security and click Open Anyway. Up to macOS 14, right-clicking the app and choosing Open is enough.

Aucun serveur trouvé

No server found

Autorisez ShareMan (ou le Terminal, pour la ligne de commande) dans Réglages Système › Confidentialité et sécurité › Réseau local. shareman scan -v indique si c’est le Mac qui bloque les connexions. Si le serveur ne s’annonce pas, essayez le scan approfondi, ou ajoutez-le à la main par son adresse IP.

Allow ShareMan (or the Terminal, for the command line) in System Settings › Privacy & Security › Local Network. shareman scan -v tells you if the Mac itself blocks the connections. If the server doesn’t announce itself, try the deep scan, or add it by hand with its IP address.

NFS : « accès refusé » avec un serveur Linux

NFS: “access denied” with a Linux server

macOS se connecte depuis un port non privilégié. Ajoutez l’option insecure à l’export dans /etc/exports, puis lancez exportfs -ra :

macOS connects from a non-privileged port. Add the insecure option to the export in /etc/exports, then run exportfs -ra:

/srv/nfs 192.168.1.0/24(rw,insecure)

Sur un Synology : Dossier partagé › Autorisations NFS › Autoriser les connexions depuis des ports non privilégiés.

On a Synology: Shared Folder › NFS Permissions › Allow connections from non-privileged ports.

SMB : impossible de lister les partages

SMB: can’t list the shares

Le serveur refuse l’accès invité. Dans l’app, utilisez Se connecter avec le Finder… ; en ligne de commande, indiquez un utilisateur : shareman shares <hôte> --smb --user <nom>.

The server refuses guest access. In the app, use Se connecter avec le Finder… (Connect with the Finder); on the command line, give a user name: shareman shares <host> --smb --user <name>.

Comment ça marche

How it works

  • Bonjour : ShareMan écoute les annonces _nfs._tcp et _smb._tcp (Synology, QNAP, TrueNAS, Mac…).
  • Scan du sous-réseau : connexion TCP aux ports 2049 (NFS) et 445 (SMB) de chaque adresse, sur chaque interface active. Au-delà d’un /22, seul le /22 du Mac est scanné. Compte 1 à 3 secondes.
  • Scan approfondi : jusqu’à un /20, délai de 1,5 s, et interrogation de rpcbind (port 111, requête GETPORT en UDP et TCP). Un serveur qui déclare NFS dans rpcbind est retenu même si le port 2049 ne répond pas.
  • Partages : showmount -e pour NFS, smbutil view pour SMB, les outils fournis avec macOS.
  • Montage : le framework NetFS d’Apple, le même mécanisme que Aller › Se connecter au serveur dans le Finder. Les mots de passe du trousseau sont utilisés automatiquement.
  • Bonjour: ShareMan listens for _nfs._tcp and _smb._tcp announcements (Synology, QNAP, TrueNAS, Macs…).
  • Subnet scan: a TCP connection to ports 2049 (NFS) and 445 (SMB) of every address, on every active interface. Beyond a /22, only the Mac’s own /22 is scanned. Takes 1 to 3 seconds.
  • Deep scan: up to a /20, a 1.5 s timeout, and rpcbind queries (port 111, GETPORT over UDP and TCP). A server that registers NFS with rpcbind is kept even if port 2049 doesn’t answer.
  • Shares: showmount -e for NFS, smbutil view for SMB, the tools that ship with macOS.
  • Mounting: Apple’s NetFS framework, the same mechanism as Go › Connect to Server in the Finder. Keychain passwords are used automatically.