Skip to content

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

License

Notifications You must be signed in to change notification settings

iterate-ch/cyberduck

Folders and files

NameName
Last commit message
Last commit date
Feb 25, 2025
Jan 28, 2025
Nov 25, 2021
Jul 8, 2024
Mar 21, 2025
Mar 12, 2025
Mar 4, 2025
Feb 27, 2025
Mar 12, 2025
Mar 12, 2025
Mar 25, 2025
Mar 26, 2025
Mar 12, 2025
Mar 24, 2025
Mar 26, 2025
Mar 26, 2025
Mar 12, 2025
Mar 12, 2025
Mar 12, 2025
Feb 27, 2025
Mar 12, 2025
Mar 21, 2025
Mar 25, 2025
Feb 27, 2025
Mar 25, 2025
Jun 15, 2023
Feb 27, 2025
Mar 12, 2025
Feb 27, 2025
Apr 29, 2021
Mar 12, 2025
Mar 24, 2025
Mar 12, 2025
Feb 27, 2025
Mar 12, 2025
Mar 21, 2025
Mar 26, 2025
Mar 12, 2025
Mar 21, 2025
Feb 27, 2025
Mar 25, 2025
Feb 4, 2025
Mar 28, 2025
Mar 24, 2025
Mar 18, 2025
Mar 12, 2025
Feb 27, 2025
Mar 12, 2025
Dec 29, 2021
Mar 25, 2025
Mar 26, 2025
Mar 25, 2025
Feb 25, 2025
Oct 17, 2018
Jul 28, 2019
Sep 8, 2023
Jan 13, 2022
Mar 25, 2025
Feb 10, 2024
Jan 29, 2015
Jun 9, 2005
May 19, 2023
Apr 21, 2016
May 6, 2024
Apr 24, 2023
Aug 26, 2021
No commit message
Dec 3, 2006
Jul 24, 2017
Jul 28, 2019
May 6, 2024
Feb 19, 2025
Jan 13, 2025
Jan 13, 2025
Jan 28, 2005
Jun 10, 2016
Apr 29, 2021
Feb 4, 2025
Jan 14, 2021
Jan 14, 2021
Jul 21, 2012
Aug 28, 2010
Oct 8, 2019
Nov 29, 2012
Nov 29, 2012
Oct 8, 2019
Aug 25, 2009
Sep 2, 2010
Oct 8, 2019
Nov 29, 2012
Oct 8, 2019
Jul 26, 2022
Apr 19, 2022
Mar 25, 2025
Nov 7, 2019
Nov 14, 2024

Repository files navigation

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.<Latest>.0\x64

Building

Run mvn verify -DskipTests -DskipSign to build without running any tests and skip codesign. 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

    <repositories>
       <repository>
           <id>maven.cyberduck.io-release</id>
           <url>https://s3-eu-west-1.amazonaws.com/repo.maven.cyberduck.io/releases</url>
           <layout>default</layout>
           <releases>
               <enabled>true</enabled>
           </releases>
           <snapshots>
               <enabled>false</enabled>
           </snapshots>
       </repository>
    </repositories>

Artifacts

  • Protocol implementations

    <dependency>
        <groupId>ch.cyberduck</groupId>
        <artifactId>protocols</artifactId>
        <type>pom</type>
        <version>7.1.0</version>
    </dependency>
  • Cocoa Java Bindings (macOS)

    <dependency>
        <groupId>ch.cyberduck</groupId>
        <artifactId>binding</artifactId>
        <version>7.1.0</version>
    </dependency>
  • Implementations (macOS) using Launch Services, SystemConfiguration, Foundation, Keychain and other API

    <dependency>
        <groupId>ch.cyberduck</groupId>
        <artifactId>libcore</artifactId>
        <version>${project.version}</version>
    </dependency>

Sponsors

YourKit

YourKit supports open source projects with its full-featured Java Profiler. YourKit, LLC is the creator of YourKit Java Profiler and YourKit .NET Profiler, innovative and intelligent tools for profiling Java and .NET applications.