name: sx-client and sx-server
description: SSH File Transfer System - enables seamless file transfers between remote SSH sessions and local machines through reverse SSH tunnels
snapcraft:
- SX/snap-client/snapcraft.yaml at main · Memphizzz/SX · GitHub
- SX/snap-server/snapcraft.yaml at main · Memphizzz/SX · GitHub
upstream-relation: I am the author and maintainer
supported-category: tools - These are development/productivity tools similar to file managers and transfer utilities
reasoning: SX requires classic confinement because:
-
Arbitrary file system access: Users need to upload/download files from ANY location on their filesystem, not just $HOME. The
--dir
parameter for sx-server allows serving from any directory (e.g., /data, /mnt/, /opt/, etc.) -
SSH tunnel integration: The tools work through SSH reverse tunnels where users specify arbitrary local paths to transfer. Restricting to specific directories would break the core functionality.
-
Development tool workflow: Similar to tools like rsync, scp, or rclone, users expect to access their entire filesystem for transfers between local and remote machines.
I understand that strict confinement is generally preferred over classic.
I’ve tried the existing interfaces to make the snap work under strict confinement.
The home and removable-media interfaces are insufficient as users need to transfer files from system directories, project folders outside home, mounted drives, and other arbitrary locations as part of their development workflow.