nevaforget 3f3c631057
Update PKGBUILD version / update-pkgver (push) Successful in 3s
feat: mount under \$XDG_RUNTIME_DIR/sshfs/ instead of ~/Servers/
Aligns with XDG Base Directory spec: $XDG_RUNTIME_DIR is the defined
location for non-essential runtime files (ephemeral, user-owned,
session-scoped). sshfs mounts fit that definition exactly, and the
tmpfs backing means orphaned mountpoint dirs vanish on logout instead
of accumulating.

- verify_mount_dir reads $XDG_RUNTIME_DIR, falls back to
  /run/user/<uid>/ via os.Getuid().
- Existing path-traversal guard and symlink rejection carry over
  unchanged.
- Tests switched from t.Setenv("HOME") to t.Setenv("XDG_RUNTIME_DIR").

File-manager sidebar visibility is unaffected — gvfs surfaces FUSE
mounts via /proc/mounts regardless of mountpoint location.
2026-04-28 15:48:54 +02:00
2026-04-26 10:38:06 +02:00

Quickly mount remote systems via SSHFS based on your ssh_config

Mounts land under $XDG_RUNTIME_DIR/sshfs/<Host> (typically /run/user/$UID/sshfs/<Host>), using the ssh_config alias as label, not the resolved IP. The directory is auto-cleaned on logout (tmpfs).

Install

Arch Linux (Moonarch repo)

Available in the Moonarch package repository as sshfsc-git:

paru -S sshfsc-git

From source

go build -o sshfsc
install -Dm755 sshfsc /usr/local/bin/sshfsc

Dependencies

Usage

sshfsc <Host>

Arguments

Flag Description
-e open mountpoint in your editor
-v verbose: print resolved ssh_config fields (HostName, User, Port, IdentityFile)
-r, --remote-dir <path> remote directory to mount (default: remote home)

By default only the resolved mount path is printed. Use -v for the full ssh_config dump.

Editor Sublime-Text (subl) is currently hardcoded. See

Example ssh config

See https://wiki.archlinux.org/title/OpenSSH#Configuration

Host myserver
  HostName 127.0.0.1
  User sshusername
  IdentityFile ~/.ssh/id_rsa
S
Description
Quickly mount remote systems via SSHFS based on your ssh_config
Readme MIT 2.1 MiB
Languages
Go 100%