---
name: "git-annex-multicast"
section: "1"
platform: "linux"
package: "git-annex"
version: "10.20261026-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/git-annex-multicast"
---

# git-annex-multicast(1)

multicast file distribution

## NAME

git-annex-multicast - multicast file distribution

## SYNOPSIS

git annex multicast \[options\]

## DESCRIPTION

Multicast allows files to be broadcast to multiple receivers, typically on a single local network.

The uftp program is used for multicast. \<http://uftp-multicast.sourceforge.net/\>

## OPTIONS

- **--gen-address**

  -

  Generates a multicast encryption key and stores a corresponding multicast address to the git-annex branch.

-

  - **--send \[file\]**

  Sends the specified files to any receivers whose multicast addresses are stored in the git-annex branch.

-

  When no files are specified, all annexed files in the current directory and subdirectories are sent.

-

  The [git-annex-matching-options(1)](/git-annex-matching-options/1.md) can be used to control which files to send. For example:

-

   git annex multicast send . --not --copies 2

-

  - **--receive**

  Receives files from senders whose multicast addresses are stored in the git-annex brach.

-

  As each file is received, its filename is displayed. This is the filename that the sender used; the local working tree may use a different name for the file, or not contain a link to the file.

-

  This command continues running, until it is interrupted by you pressing ctrl-c.

-

  Note that the configured annex.diskreserve is not honored by this command, because **uftpd** receives the actual files, and can receive any size file.

-

  - **--uftp-opt=option** **-Uoption**

  Pass an option on to the uftp/uftpd command. May be specified multiple times.

-

  For example, to broadcast at 50 Mbps:

-

   git annex multicast send -U-R -U50000

-

  - Also the [git-annex-common-options(1)](/git-annex-common-options/1.md) can be used.

  ## EXAMPLE

Suppose a teacher wants to multicast files to students in a classroom.

This assumes that the teacher and students have cloned a git-annex repository, and both can push changes to its git-annex branch, or otherwise push changes to each-other.

First, the teacher runs **git annex multicast --gen-address; git annex sync**

Next, students each run **git annex multicast --gen-address; git annex sync**

Once all the students have generated addresses, the teacher runs **git annex sync** once more. (Now the students all have received the teacher's address, and the teacher has received all the student's addresses.)

Next students each run **git annex multicast --receive**

Finally, once the students are all listening (ahem), teacher runs **git annex multicast --send**

## SEE ALSO

[git-annex(1)](/git-annex/1.md)

[uftp(1)](/uftp/1.md)

[uftpd(1)](/uftpd/1.md)

## AUTHOR

Joey Hess \<id@joeyh.name\>
