ZFTP // DESKTOP FILE-TRANSFER CLIENT

// Cyberduck port · Tauri v2 · cyberpunk HUD · FTP/SFTP/WebDAV + cloud object stores

Engineering Report Source

zftp is a from-scratch desktop file-transfer client in Rust — a clean-room rewrite of Cyberduck's feature set as a Tauri v2 app behind a cyberpunk HUD. It browses and transfers over FTP, FTPS, SFTP, WebDAV and the cloud object stores (S3, GCS, Azure, B2, Swift, Drive, Dropbox, OneDrive, Box) with bookmarks and a download/upload/sync transfer queue. The transfer logic is the embeddable zftp-core engine; this app is the thin GUI host. This project is in active development.

Many Protocols

FTP/FTPS/SFTP/WebDAV plus the cloud object stores, each behind one protocol-blind transport — the local filesystem and the network transports (OpenDAL-backed, plus pure-Rust SCP) are wired today.

Embeddable Core

All transfer logic lives in zftp-core; the app registers zftp_invoke and mounts the engine's webui. The same engine embeds in other hosts.

Cyberpunk HUD

Bookmark list with live status, a remote-file browser, a transfer queue with progress, a log viewer, a command palette, and the shared embedded terminal — all CSP-safe.

Honest Status

The network transports are wired behind the default net feature; only a stripped --no-default-features build reports a needs_transport state. Nothing here claims a working capability not yet in the codebase.

Two-layer split

The desktop app (this repo) is the Tauri v2 shell, cyberpunk HUD front-end and action-to-engine wiring. The transfer engine (zftp-core) is the embeddable logic — bookmark + URL/.duck parsing, the session manager, the transport backends, the transfer queue, logs and stats — decoupled from any GUI and reusable by other hosts.

Where it goes next

See the engineering report for the build layout and roadmap, the zftp-core engine for the command surface and Cyberduck port coverage, and the MenkeTechnologiesMeta umbrella for the wider stack.