iterate-ch / cyberduck

Cyberduck is a libre FTP, SFTP, WebDAV, Amazon S3, Backblaze B2, Microsoft Azure & OneDrive and OpenStack Swift file transfer client for Mac and Windows.
https://cyberduck.io/
GNU General Public License v3.0
3.38k stars 296 forks source link
azure backblaze-b2 cloudfront cryptomator cyberduck dracoon dropbox ftp google-drive google-storage hubic irods onedrive onedrive-for-business onedrive-storage openstack-swift s3 sftp sharepoint webdav

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:

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

macOS

Windows

Installation

Manually

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:

Restart your machine after installing these components.

System Configuration

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

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

Building

Run mvn verify -DskipTests -DskipSign to build without running any tests and skip codesign. Find build artifacts in

Run with -Pinstaller to build installer packages with build artifacts

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:

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.

<build>
    <extensions>
        <extension>
            <groupId>org.springframework.build</groupId>
            <artifactId>aws-maven</artifactId>
            <version>5.0.0.RELEASE</version>
        </extension>
    </extensions>
</build>

Artifacts

<dependency>
    <groupId>ch.cyberduck</groupId>
    <artifactId>protocols</artifactId>
    <type>pom</type>
    <version>7.1.0</version>
</dependency>
<dependency>
    <groupId>ch.cyberduck</groupId>
    <artifactId>binding</artifactId>
    <version>7.1.0</version>
</dependency>
<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.