cyberduck is a free, open source file management & sync project written in Java and released under GPL-3.0. It has 4,786 GitHub stars, 369 forks and 506 open issues, and was last pushed 6 hours ago. On this registry it ranks #14 of 20 tracked projects in File Management & Sync, with 5 head-to-head comparisons available.

What is cyberduck?

Cyberduck is a libre FTP, SFTP, WebDAV, Amazon S3, Backblaze B2, Microsoft Azure & OneDrive and OpenStack Swift file transfer client for macOS and Windows, released under the GNU General Public License version 3 and developed at the iterate-ch/cyberduck repository.

What it is

Cyberduck is a desktop file transfer client for macOS and Windows, written in Java, with a command line interface for Linux, macOS and Windows. It connects over FTP, SFTP, WebDAV, Amazon S3, Backblaze B2, Microsoft Azure & OneDrive and OpenStack Swift, and its topic list extends to Google Drive, Google Storage, Dropbox, SharePoint, CloudFront, HubiC, iRODS and DRACOON. The repository is the development home of the application, its documentation lives in a separate iterate-ch/docs repository, and its core libraries are reused in Mountain Duck.

The concrete problem it solves is protocol sprawl. Each storage service and each remote server normally expects its own transfer tool, which means separate credentials, separate interfaces and separate installs for a user who works across object storage, WebDAV shares and SFTP hosts. Cyberduck presents the supported protocols inside one client and one command line interface, so the user does not install and learn a distinct program per service. Where a provider is not bundled by default, the gap closes through additional connection profiles under Preferences → Profiles, maintained in the iterate-ch/profiles repository.

Key capabilities

  • File transfer over FTP, SFTP, WebDAV, Amazon S3, Backblaze B2, Microsoft Azure & OneDrive and OpenStack Swift from a single client.
  • Additional service coverage for Google Drive, Google Storage, Dropbox, SharePoint, CloudFront, HubiC, iRODS and DRACOON, as listed among the project topics.
  • Cryptomator appears among the topics, covering encrypted cloud storage workflows.
  • Command line interface for Linux, macOS and Windows, alongside the macOS and Windows graphical client.
  • Additional connection profiles installed from iterate-ch/profiles through Preferences → Profiles, for services not bundled by default.
  • Interface localized through Transifex in English, Czech, Dutch, Finnish, French, German, Italian, Japanese, Korean, Norwegian, Portuguese, Slovak, Spanish, Chinese (Traditional & Simplified Han), Russian, Swedish, Hungarian, Danish, Polish, Indonesian, Catalan, Welsh, Thai, Turkish, Hebrew, Latvian, Greek, Serbian, Georgian and Slovenian.
  • Nightly snapshot and beta builds, switchable under Preferences → Update, carrying the latest bug fixes and enhancements.

Who uses it and how

  • Desktop users on macOS and Windows moving files between local disks and remote servers or cloud object storage buckets.
  • Linux users who reach the same protocols through the CLI instead of the graphical client.
  • Translators and localizers, who work through Transifex and the cyberduck-localization mailing list; release announcements go to the cyberduck-news list and general discussion to the Google Groups Cyberduck mailing list.
  • Users of providers outside the default set, who install profiles from iterate-ch/profiles.
  • Testers running nightly snapshot builds, which the README states are potentially unstable and experimental.

Getting started

Build from source with Java 11 SDK or later, Apache Ant 1.10.1 or later and Apache Maven 3.5 or later; on Windows the toolchain installs through Chocolatey with choco install microsoft-openjdk17 ant maven. Downloads and usage documentation are at https://cyberduck.io and https://docs.cyberduck.io.

How it compares

The facts provide no list of paid products that Cyberduck replaces, and they name no comparable file transfer client. Within the supplied facts it therefore stands alone in this registry; the only related project mentioned is Mountain Duck, which reuses Cyberduck's core libraries rather than competing with it.

When to use it — and when not to

Building the client requires Java 11 SDK, Apache Ant 1.10.1, Apache Maven 3.5, Xcode 12 or later on macOS, and on Windows Visual Studio 2022 with the .NET desktop development, Universal Windows Platform development and Desktop development with C++ workloads, plus the Bonjour SDK for Windows and optionally Wix v3. The facts mention no database, object storage back end or mail server to operate, so a self-hoster runs only this build toolchain. It is not the right choice for a team that wants a managed hosted service, and 506 open issues together with snapshot builds the README itself calls potentially unstable and experimental indicate active development rather than a finished product.

project readme (upstream, from github) — read inline

Cyberduck

GitHub commit GitHub license Build Status Mastodon Gurubase

This is the development home for Cyberduck, a libre file transfer client for macOS and Windows. Command line interface (CLI) for Linux, macOS and Windows. The core libraries are used in Mountain Duck.

Cyberduck Icon

Mailing Lists

There is a Google Groups Cyberduck discussion mailing list.

The following additional mailing lists are hosted:

  • News Announcements of new releases
  • Localization Notifications about changes to the translations needed

Source

Source code is available licensed under the GNU General Public License Version 3. Pull requests welcome!

Localizations

Translations to new languages are welcome. We use Transifex to localize resources. Current available localizations are English, Czech, Dutch, Finnish, French, German, Italian, Japanese, Korean, Norwegian, Portuguese, Slovak, Spanish, Chinese (Traditional & Simplified Han), Russian, Swedish, Hungarian, Danish, Polish, Indonesian, Catalan, Welsh, Thai, Turkish, Hebrew, Latvian, Greek, Serbian, Georgian and Slovenian.

Make sure to subscribe to the localization mailing list.

Documentation

For general help about using Cyberduck, please refer to the documentation. The documentation is maintained in its own repository.

Additional Connection Profiles

Additional connection profiles not bundled by default but available in Preferences → Profiles are maintained in its own repository.

Snapshot and Beta builds

These are nightly snapshot builds from the current development trunk featuring the latest bug fixes and enhancements. Be warned, though, these builds are potentially unstable and experimental. You can also switch to beta or snapshot builds in Preferences → Update.

Prerequisites

  • Java 11 SDK or later
  • Apache Ant 1.10.1 or later
  • Apache Maven 3.5 or later

macOS

Windows

Installation

Manually

  • Visual Studio 2022, following workloads are required:
    • .NET desktop development
    • Universal Windows Platform development
    • Desktop development with C++
  • Bonjour SDK for Windows
  • Wix v3 (Optional)

Chocolatey

Without Visual Studio (IDE)

choco install visualstudio2022buildtools -y
choco install visualstudio2022-workload-manageddesktopbuildtools -y
choco install visualstudio2022-workload-vctools -y
choco install visualstudio2022-workload-universalbuildtools -y

With Visual Studio IDE

choco install visualstudio2022(edition) -y
choco install visualstudio2022-workload-manageddesktop -y
choco install visualstudio2022-workload-nativedesktop -y
choco install visualstudio2022-workload-universal -y

Replace (edition) with your licensed IDE SKU: community, professional, enterprise

Install required dependencies, after installing Visual Studio IDE or build tools:

choco install microsoft-openjdk17 ant maven -y
choco install bonjour -y; choco install bonjour -y --force

Optional, see Remarks:

choco install wixtoolset -y

Remarks: Installing with Chocolatey may or may not fail spectacularly.
Following issues have been observed on a clean installation:

  • Bonjour package fails with file not found - though the Bonjour64.msi is extracted from BonjourPSSetup.exe.
  • wixtoolset depends on .NET 3.5-package, which never completes
    On Windows 11 installation doesn't work
  • visualstudio*-workload-* may halt with "Operation canceled",
    Abort Chocolatey-command (Ctrl-C), then open up Visual Studio Installer and Resume installation there

Restart your machine after installing these components.

System Configuration

Make sure that MSBuild, mvn, ant and java are on your PATH-environment variable.

  • Open Developer Command Prompt for VS2022, then run where msbuild.exe, add first directory name to path
    • e.g. C:\Program Files\Microsoft Visual Studio\Community\Msbuild\Current\Bin\amd64
  • Chocolatey may have added mvn and ant to your PATH-variable
  • The Microsoft OpenJDK 17 installer automatically adds itself to the system PATH.

Additionally include the latest Windows Sdk-binary folder in your PATH-environment variable:

  • %ProgramFiles(x86)%\Windows Kits\10\bin\10.0..0\x64
NuGet Configuration

To build on Windows, you need to configure NuGet with credentials to access GitHub Package Registry sources. Create a GitHub personal access token (classic) with at least read:packages permissions.

Then, in the Cyberduck repository root directory, run the following commands in Terminal (PowerShell or Command Prompt):

dotnet nuget update source gh-ikvmnet -u "YourUsername" -p "YourPAT"
dotnet nuget update source gh-iterate-ch -u "YourUsername" -p "YourPAT"

Replace YourUsername with your GitHub username and YourPAT with your personal access token.

Building

Run SKIP_SIGN=true mvn verify -DskipTests to build without running any tests and skip code-signing. Find build artifacts in

  • osx/target/Cyberduck.app
  • windows/target/Cyberduck.exe

Run with -Pinstaller to build installer packages with build artifacts

  • osx/target/release/*.(zip|pkg)
  • windows/target/release/*.(exe|msi)
  • cli/osx/target/release/*.(pkg|tar.gz)
  • cli/windows/target/release/*.(exe|msi)
  • cli/linux/target/release/*.(deb|rpm)

macOS

Active the sandboxing profile with -Psandbox to apply sandbox entitlements com.apple.security.app-sandbox.

Windows

You will run into warnings from MSBuild/WiX that are unrelated to how Cyberduck is built. You may safely ignore them.

Debugging

macOS

Build with -Pdebug to allow attaching the remote debugger on port 5005.

Windows

Due to Visual Studio not being able to handle Java projects it is required to follow these steps for debugging:

  • Run mvn verify -Dconfiguration=debug which ensures that debugging symbols are generated This prevents Visual Studio (or MSBuild invoked from Maven) from generating optimized assemblies which in turn may prevent debugging.

  • Open the solution in Visual Studio

  • Open a .java file and set a breakpoint. Visual Studio breaks either on or near the line selected.

  • Debugging capabilities include

    • Step Over
    • Step Into
    • Step Out
    • Continue
    • Local/Auto variables
    • Immediate Window

    Go To Symbol is not working due to missing Java support.

Running Tests

After packaging, run mvn test -DskipITs to run unit tests but skip integration tests.

Maven Artifacts (GPL)

Repository Configuration

Maven artifacts are available in a repository hosted on Amazon S3.

  • Use the following Maven configuration in your project POM to reference artifacts from Cyberduck

    
    
           maven.cyberduck.io-release
           https://s3-eu-west-1.amazonaws.com/repo.maven.cyberduck.io/releases
           default
    
               true
    
    
               false
    
    
    
Artifacts
  • Protocol implementations

    
        ch.cyberduck
        protocols
        pom
        7.1.0
    
  • Cocoa Java Bindings (macOS)

    <d
    

readme truncated — read the full docs on github

Frequently asked questions

Is cyberduck free to use?

cyberduck is open source under the GPL-3.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does cyberduck do?

Cyberduck is a libre FTP, SFTP, WebDAV, Amazon S3, Backblaze B2, Microsoft Azure & OneDrive and OpenStack Swift file transfer client for Mac and Windows.

What is cyberduck written in?

cyberduck is primarily written in Java. Its source is publicly available at https://github.com/iterate-ch/cyberduck, and it has 4,786 GitHub stars.