CNC File Shuttle v1.0.0 – Simple local/SFTP G-code transfer utility

  • FabLabRacing
  • Away
  • New Member
  • New Member
More
07 Sep 2026 20:13 #349436 by FabLabRacing
I’ve released the first version of a small utility called CNC File Shuttle.
I originally wanted a simple way to send G-code files to a LinuxCNC computer with the same basic convenience I was accustomed to on another controller: select some files, choose the destination folder, send them, and see whether the controller and LinuxCNC are online.
CNC File Shuttle is written in Python/Tkinter and supports Windows, macOS, and Linux. I have primarily developed and tested the packaged Windows version, transferring files to a LinuxCNC computer over SFTP. macOS and Linux can currently run it from source.
Main features:
* Local folders, mapped drives, mounted shares, USB drives, or SFTP destinations
* Saved machine profiles
* Multi-file queue with destination preview
* Local and remote destination-folder browsing
* Requeue completed files without selecting them again
* Ask, always-overwrite, and skip-existing options
* SSH-key generation and guided public-key installation
* SSH host-key fingerprint verification
* Transfer progress and remote file-size verification
* Automatic read-only LinuxCNC status monitoring
* Display of the loaded program and current executing line
* Protection against overwriting the program currently active in LinuxCNC
* Failure-only diagnostic logs
The LinuxCNC status portion is intentionally read-only. It uses `linuxcnc.stat()` through a small helper installed under the remote user’s `~/.local/share/cnc-file-shuttle` directory.
It does not create a LinuxCNC command channel and cannot start programs, jog or home axes, reset E-stop, change machine power, or issue MDI commands.
Status monitoring also does not impose a blanket transfer lockout while the machine is running. Unrelated files can still be transferred, but the application blocks an attempt to overwrite the exact program path LinuxCNC reports as active.
SFTP is handled internally with Paramiko. The application supports key-based or password authentication, although key authentication is the intended normal setup. Passwords and private-key passphrases are used only for the current operation and are not stored in machine profiles.
The Windows release is packaged as a one-directory application, so Python does not need to be installed. The complete extracted folder must be kept together.
The project is MIT licensed. Source code, installation instructions, and the Windows release are available here:
CNC File Shuttle on GitHub
This is the first public release, so feedback is welcome—especially testing on macOS or Linux, different LinuxCNC versions, and installations using program-directory layouts different from mine. If something fails, the Activity Log and automatically generated failure log should provide useful information for tracking it down.
 
The following user(s) said Thank You: tommylight, 0x2102

Please Log in or Create an account to join the conversation.

Time to create page: 0.091 seconds
Powered by Kunena Forum