explaingit

gmac-pl/gmacftp

Analysis updated 2026-05-18

20RustAudience · generalLicenseSetup · easy

TLDR

A native Rust FTP, FTPS, and SFTP client for macOS with a dual-pane file browser, Keychain backed password storage, and no Electron or telemetry.

Mindmap

mindmap
  root((repo))
    What it does
      Native macOS FTP client
      Dual pane browser
    Protocols
      Plain FTP
      FTPS strict
      SFTP with keys
    Security
      Keychain storage
      Encrypted iCloud sync
    Distribution
      Signed notarized DMG
      Homebrew cask

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Transfer files between your Mac and an FTP, FTPS, or SFTP server using a dual-pane browser.

USE CASE 2

Store server logins securely in the macOS Keychain instead of a plain text config file.

USE CASE 3

Sync your saved server list across multiple Macs using iCloud.

What is it built with?

RustSlintTokiomacOS

How does it compare?

gmac-pl/gmacftpakitaonrails/ratatui-bubbleteadeepdiy/pdf2md
Stars202020
LanguageRustRustRust
Setup difficultyeasyeasyeasy
Complexity2/52/5
Audiencegeneraldeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Prebuilt signed DMG or Homebrew cask install, building from source needs Rust 1.88+ and Xcode Command Line Tools.

In plain English

gmacFTP is a file transfer application for macOS that lets you connect to FTP, FTPS, and SFTP servers to move files between your computer and a remote server. It is built natively in Rust rather than as a wrapped web page, which the README says gives it fast startup and a responsive feel even during heavy file transfers, unlike apps built with Electron or a similar web based wrapper. The app uses a dual pane layout, showing two independent file browsers side by side, so you can view your local files and a remote server at once, or even two different remote servers together. It supports plain FTP as a separate, explicit legacy mode, FTPS with strict security settings, and SFTP with support for passwords, private keys, an SSH agent, and two factor style keyboard interactive login. Saved passwords are stored in the macOS Keychain rather than as plain text, protected by an encryption key that never touches disk, and the app can optionally sync your saved server list across your other Macs through iCloud, with passwords still only traveling as encrypted data. Transfers can be paused, resumed, retried, and reordered individually, and the app includes folder sync profiles, a reversible remote trash instead of permanent deletion, and drag and drop support with Finder. It is distributed as a signed and Apple notarized download, or through Homebrew, and building it from source requires Rust and Xcode's command line tools. The project is licensed under GPL v3, with a separate commercial license available for those who need one. The README notes this is a development preview before a full 1.0 release, so people should expect some rough edges while it continues to mature, though the maintainer describes it as solid enough for everyday FTP and SFTP work already.

Copy-paste prompts

Prompt 1
Walk me through installing gmacFTP with Homebrew and connecting to my first SFTP server.
Prompt 2
Explain the difference between plain FTP, FTPS, and SFTP support in gmacFTP.
Prompt 3
Show me how to build gmacFTP from source on macOS with Rust.

Frequently asked questions

What is gmacftp?

A native Rust FTP, FTPS, and SFTP client for macOS with a dual-pane file browser, Keychain backed password storage, and no Electron or telemetry.

What language is gmacftp written in?

Mainly Rust. The stack also includes Rust, Slint, Tokio.

How hard is gmacftp to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is gmacftp for?

Mainly general.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.