iterate-ch/cyberduck
Productivity & UtilitiesA libre file transfer client for FTP, SFTP, WebDAV, S3, B2, Azure, OneDrive and Swift, available as a GUI for macOS/Windows and a cross-platform CLI.
What it is
Cyberduck is a libre file transfer client for macOS and Windows, with a command line interface for Linux, macOS and Windows. It covers a broad set of remote and cloud storage protocols in one application: FTP, SFTP, WebDAV, Amazon S3, Backblaze B2, Microsoft Azure, OneDrive/SharePoint, Google Drive/Storage, OpenStack Swift and more. The project also publishes connection profiles separately for services that are not bundled by default.
The desktop applications are built in Java, with native bindings for macOS and Windows; the core libraries are additionally used by Mountain Duck README. Source is licensed under GPL-3.0 license. This repository is the development home, not just a download page — it contains the application, CLI and build tooling.
Who it is for
Use it when you need to browse and manage files on remote servers or object storage without a command-line client, or when you want to script transfers across platforms with the CLI. Developers who want the protocol implementations as libraries can consume the published Maven artifacts.
Building from source
The build requires Java 11 SDK or later, Apache Ant 1.10.1 or later and Apache Maven 3.5 or later. macOS builds additionally need Xcode 12 or later. On Windows, the documented setup uses Visual Studio 2022 workloads, the Bonjour SDK and optionally WiX v3, with a Chocolatey path available README.
On Windows, NuGet must be configured with a GitHub personal access token that has at least read:packages permission, because the build reads packages from GitHub Package Registry. This step requires repository-root execution of the documented dotnet nuget update source commands with your own username and token README.
Then build from the repository root, skipping tests and code signing:
SKIP_SIGN=true mvn verify -DskipTests
Artifacts appear at osx/target/Cyberduck.app and windows/target/Cyberduck.exe. Add -Pinstaller to produce installers; the CLI packages are written under cli/osx, cli/windows and cli/linux target release directories README. Run unit tests after packaging with mvn test -DskipITs.
For everyday use rather than development, the official site provides the release downloads and the user documentation covers configuration and operation documentation.
Constraints
- Desktop GUI builds target macOS and Windows; the CLI covers Linux, macOS and Windows.
- macOS sandbox entitlements require
-Psandbox. - Snapshot and beta builds are explicitly described as potentially unstable and experimental and should be selected deliberately in preferences.
- Building on Windows may print MSBuild/WiX warnings that the project says are unrelated to how Cyberduck is built.
- No license other than GPL-3.0 applies to the source in this repository.
HotRepo's take
On the Java daily list for 2026-11-11, Cyberduck held position 8 with 4 new stars that day. That is a modest daily figure for a repository with roughly 4,900 stars, so this is not a fast-rising project; it is an established application whose activity shows up as small, steady additions. The separate maintenance of profiles and documentation repositories is consistent with a long-lived product rather than a single-purpose demo. For readers choosing a transfer client, the practical question is protocol coverage and platform fit, both of which are unusually broad here.
Written by AI from the project's README, updated . The project's own docs are the source of truth.
Hacker News
You might also like
- rclone/rcloneA command-line sync and mount layer over dozens of cloud and remote storage backends, for people moving files between them.
- aria2/aria2Command-line downloader that pulls files over HTTP, FTP, SFTP, BitTorrent and Metalink with multi-source acceleration.
- laurent22/joplinA Markdown note-taking and to-do app with cross-platform clients and sync you can point at your own storage.