# 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. Also installable with debian: sudo apt install duck.

## 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','dotnetcore-desktopruntime'

## Package facts

- **Package key:** brew:duck
- **Package manager:** Homebrew
- **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>
- **Last updated:** 2026-07-02T13:39:51Z
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- duck (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 9.5.2.45323
## 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

## 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','dotnetcore-desktopruntime'


## Combined YAML source

View the package source record on GitHub. [combined/duck.yml](https://github.com/mxcl/pkgdb/blob/main/combined/duck.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
