# Install duck with Homebrew, chocolatey, apt, MacPorts

Command-line interface for Cyberduck (a multi-protocol file transfer tool). Version 9.5.2.45323 via Homebrew; verified 2026-07-02.

## Install

```sh
sudo av install brew:duck
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install duck
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install duck
```

  Evidence: MacPorts ports tree: net/duck/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- Debian apt (92%):

```sh
sudo apt install duck
```

  Evidence: Debian stable package indexes: duck from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

### Windows

- Chocolatey (92%):

```sh
choco install duck
```

  Evidence: Chocolatey community package catalog: duck from http://community.chocolatey.org/api/v2/Packages?$filter=IsLatestVersion&$select=Id&$top=1000&$skiptoken='11','dotultimate'

## Package facts

- **Package key:** brew:duck
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/duck>
- **Version:** 9.5.2.45323
- **Source summary:** Command-line interface for Cyberduck (a multi-protocol file transfer tool)
- **Homepage:** <https://duck.sh/>
- **Repository:** <https://github.com/iterate-ch/cyberduck>
- **Upstream docs:** <https://docs.duck.sh/cli>
- **License:** GPL-3.0-only
- **Source archive:** <https://dist.duck.sh/duck-src-9.5.2.45323.tar.gz>
- **Last updated:** 2026-07-02T13:39:51Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- duck (cli)
- duck (alias)

## Dependencies

- openjdk

## Build dependencies

- ant
- maven
- pkgconf

## Uses from macOS

- libffi

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 9.5.2.45323
- Package-manager updated: 2026-07-02
- Local data: ok
- Upstream repository: https://duck.sh/
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

duck is the command-line interface for Cyberduck, the long-running file-transfer client. It gives Cyberduck's multi-protocol transfer stack a scriptable shell front end for FTP, SFTP, WebDAV, S3-compatible storage, OpenStack Swift, and other cloud-storage backends.

### Project history

Cyberduck began as a macOS file-transfer application and its official changelog reaches back to early 2000s releases. The current source repository describes Cyberduck as a libre file transfer client for macOS and Windows, with a command-line interface for Linux, macOS, and Windows.

The duck CLI packages the Cyberduck transfer engine for terminal users. Its homepage presents it as Cyberduck for the command line and documents Homebrew, Chocolatey, RPM, and DEB installation paths.

### Adoption history

duck's adoption follows Cyberduck's protocol breadth rather than the popularity curve of a standalone Unix transfer tool. Users choose it when they want one command-line client that speaks the same storage profiles and cloud protocols as Cyberduck and Mountain Duck.

Packaging through Homebrew, Chocolatey, Debian/Ubuntu-style repositories, and RPM repositories made the CLI available to automation users who do not run the desktop application.

### How it is used

The CLI is used for uploads, downloads, remote editing workflows, and copies between servers or cloud providers. It is especially relevant for scripted access to storage backends that otherwise require provider-specific CLIs.

Because the same upstream project also ships GUI Cyberduck and Mountain Duck components, duck sits at the command-line edge of a broader file-transfer product family.

### Why package nerds care

duck is interesting because the package name is short and generic while the project identity is really Cyberduck CLI. Package databases should preserve that relationship so users do not confuse it with unrelated projects named duck.

It also demonstrates a common packaging pattern: a GUI application exposes a CLI package with a different formula name, while sharing source code and protocol implementations with the main application.

### Timeline

- 2003: Cyberduck 2.1 appears in the official changelog.
- 2015: duck.sh copyright history starts, matching the CLI's public packaging era.
- 2020s: Cyberduck continues shipping desktop releases while duck remains the CLI package for Linux, macOS, and Windows.
- 2026: Cyberduck 9.5.0 appears in the official changelog.

### Related projects

- Cyberduck is the parent project and desktop client; Mountain Duck is a related mount-to-desktop product from the same ecosystem.
- duck overlaps in use with rclone, lftp, sftp, aws-cli, and provider-specific cloud storage CLIs, but its protocol coverage comes from the Cyberduck stack.

### Sources

- <https://github.com/iterate-ch/cyberduck>
- <https://duck.sh/>
- <https://docs.duck.sh/cli>
- <https://cyberduck.io/changelog/>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** duck
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Conflicts With:** duckscript
- **Requirements:** xcode
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Debian apt - duck - 0.14.4: normalized package name match | Debian stable package indexes: duck from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | checks URLs in debian/control and debian/upstream files | https://salsa.debian.org/debian/duck
- Ubuntu apt - duck - 0.14.2: normalized package name match | Ubuntu 24.04 LTS package indexes: duck from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | checks URLs in debian/control and debian/upstream files | https://salsa.debian.org/debian/duck
- MacPorts - duck: normalized package name match | MacPorts ports tree: net/duck/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Chocolatey - duck: normalized package name match | Chocolatey community package catalog: duck from http://community.chocolatey.org/api/v2/Packages?$filter=IsLatestVersion&$select=Id&$top=1000&$skiptoken='11','dotultimate'


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Homebrew utility packages](https://www.automicvault.com/pkg/brew-utility-packages/) - Matched Homebrew package provider.
- [openjdk](https://www.automicvault.com/pkg/brew/openjdk/) - Runtime dependency declared by Homebrew.
- [ant](https://www.automicvault.com/pkg/brew/ant/) - Build dependency declared by Homebrew.
- [maven](https://www.automicvault.com/pkg/brew/maven/) - Build dependency declared by Homebrew.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [lftp](https://www.automicvault.com/pkg/brew/lftp/) - Shares av.db curated category or tags: cli, file-transfer, ftp, networking, sftp.
- [sftpgo](https://www.automicvault.com/pkg/brew/sftpgo/) - Shares av.db curated category or tags: cli, file-transfer, ftp, networking, sftp.
- [yafc](https://www.automicvault.com/pkg/brew/yafc/) - Shares av.db curated category or tags: cli, file-transfer, ftp, networking, sftp.
- [davix](https://www.automicvault.com/pkg/brew/davix/) - Shares av.db curated category or tags: cli, file-transfer, networking, webdav.
- [ncftp](https://www.automicvault.com/pkg/brew/ncftp/) - Shares av.db curated category or tags: cli, file-transfer, ftp, networking.
- [tnftp](https://www.automicvault.com/pkg/brew/tnftp/) - Shares av.db curated category or tags: cli, file-transfer, ftp, networking.
- [airshare](https://www.automicvault.com/pkg/brew/airshare/) - Shares av.db curated category or tags: cli, file-transfer, networking.
- [bbftp-client](https://www.automicvault.com/pkg/brew/bbftp-client/) - Shares av.db curated category or tags: cli, file-transfer, networking.

## Combined YAML source

View the package source record on GitHub. [combined/duck.yml](https://github.com/automic-vault/db/blob/main/combined/duck.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
