- Notifications
You must be signed in to change notification settings - Fork301
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
iterate-ch/cyberduck
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
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 inMountain Duck.
There is aGoogle Groups Cyberduck discussion mailing list.
The following additionalmailing lists are hosted:
- News Announcements of new releases
- Localization Notifications about changes to the translations needed
Source code is available licensed under theGNU General Public License Version 3. Pull requests welcome!
Translations to new languages are welcome. We useTransifex to localize resources. Current available localizations areEnglish,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 andSlovenian.
Make sure to subscribe to thelocalization mailing list.
For general help about using Cyberduck, please refer to thedocumentation. The documentation is maintained in its ownrepository.
Additional connection profiles not bundled by default but available inPreferences → Profiles are maintained in its ownrepository.
These are nightly snapshot builds from the current development trunk featuring the latest bug fixes and enhancements. Bewarned, though, these builds are potentially unstable and experimental. You can also switch to beta or snapshot buildsinPreferences → Update.
- Java 11 SDK or later
- Apache Ant 1.10.1 or later
- Apache Maven 3.5 or later
- Xcode 12 or later
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 -ychoco install visualstudio2022-workload-manageddesktopbuildtools -ychoco install visualstudio2022-workload-vctools -ychoco install visualstudio2022-workload-universalbuildtools -y
With Visual Studio IDE
choco install visualstudio2022(edition) -ychoco install visualstudio2022-workload-manageddesktop -ychoco install visualstudio2022-workload-nativedesktop -ychoco 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 -ychoco 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.
Make sure thatMSBuild
,mvn
,ant
andjava
are on yourPATH
-environment variable.
- Open
Developer Command Prompt for VS2022
, then runwhere msbuild.exe
, add first directory name to path- e.g.
C:\Program Files\Microsoft Visual Studio\Community\Msbuild\Current\Bin\amd64
- e.g.
- 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 yourPATH
-environment variable:
%ProgramFiles(x86)%\Windows Kits\10\bin\10.0.<Latest>.0\x64
Runmvn 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)
Active the sandboxing profile with-Psandbox
to apply sandbox entitlementscom.apple.security.app-sandbox
.
You will run into warnings fromMSBuild
/WiX
that are unrelated to how Cyberduck is built. You may safely ignore them.
Build with-Pdebug
to allow attaching the remote debugger on port5005
.
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 generatedThis prevents Visual Studio (orMSBuild invoked from Maven
) from generating optimized assemblies which in turn mayprevent 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.
After packaging, runmvn test -DskipITs
to run unit tests but skip integration tests.
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>
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>
YourKit supports open source projects with its full-featured Java Profiler. YourKit, LLC is the creator ofYourKit Java ProfilerandYourKit .NET Profiler, innovative and intelligent tools for profiling Java and .NET applications.
About
Cyberduck is a libre FTP, SFTP, WebDAV, Amazon S3, Backblaze B2, Microsoft Azure & OneDrive and OpenStack Swift file transfer client for Mac and Windows.