git-annex-multicast(1)
π git-annex-multicast(1) π
okay bestie, welcome to the git-annex-multicast manual page, straight out of the General Commands Manual section of the git-annex fam π«Ά
β¨ NAME β¨
git-annex-multicast β multicast file distribution
π SYNOPSIS π
git annex multicast [options]
π¦ DESCRIPTION π¦
Multicast is the vibe where files get broadcast to multiple receivers at once, typically on a single local network. One sender, many listeners, no drama.
The uftp program is doing all the actual heavy lifting here.
http://uftp-multicast.sourceforge.net/
π OPTIONS π
--gen-addressβ Generates a multicast encryption key and stores a corresponding multicast address to the git-annex branch. This is literally your "hey everyone, here's my address" moment. β¨--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 whole vibe, delivered.
The git-annex-matching-options(1) 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. (yes bestie, "brach" β we're quoting the page fr fr, it's iconic, we keep it π)
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. So don't panic if it looks different on your end, it's giving "same file, different fit" π
This command continues running, until it is interrupted by you pressing ctrl-c. It is a main character that does not leave the party on its own.
Note that the configuredannex.diskreserveis not honored by this command, becauseuftpdreceives the actual files, and can receive any size file. So like, yes, that reserve you set up? This path walks right past it. No cap.
--uftp-opt=option,-Uoptionβ Pass an option on to theuftp/uftpdcommand. May be specified multiple times. Stack 'em, queen. π
For example, to broadcast at 50 Mbps:
git annex multicast send -U-R -U50000
Also the git-annex-common-options(1) can be used. π«Ά
πΈ EXAMPLE πΈ
Suppose a teacher wants to multicast files to students in a classroom. (a genuinely adorable use case, ngl)
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 synconce 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
and that's it, that's the whole choreography πβ¨
π SEE ALSO π
π AUTHOR π
Joey Hess <id@joeyh.name>
and that's the tea, bestie β this was git-annex-multicast(1), the multicast file distribution page from the git-annex manual. go forth and broadcast. πβ¨π¦
π¦ where this page comes from
- alpine 3.24: git-annex-doc 10.20261026-r0 Β· AGPL-3.0-or-later
- arch rolling: git-annex 10.20261026-2 Β· AGPL-3.0-only
- debian bookworm: git-annex 10.20230126-3 Β· AGPL-3.0-or-later
- debian trixie: git-annex 10.20250416-2 Β· AGPL-3.0-or-later
- debian trixie: git-annex 10.20250416-2+deb13u1 Β· AGPL-3.0-or-later
- epel 10: git-annex 10.20250320-1.el10_0 Β· AGPL-3.0-or-later
- fedora 43: git-annex 10.20250630-4.fc43 Β· AGPL-3.0-or-later
- fedora 43: git-annex 10.20250929-5.fc43 Β· AGPL-3.0-or-later
- fedora 44: git-annex 10.20260115-1.fc44 Β· AGPL-3.0-or-later
- nixos 26.05: git-annex 10.20260421
- nixpkgs unstable: git-annex 10.20260421
- opensuse-leap 16.0: git-annex 10.20250828-bp160.1.1 Β· AGPL-3.0-or-later AND GPL-3.0-or-later AND BSD-2-Clause AND MIT AND GPL-2.0-only
- opensuse-leap 16.0: git-annex 10.20250828-bp160.1.1 Β· AGPL-3.0-or-later AND GPL-3.0-or-later AND BSD-2-Clause AND MIT AND GPL-2.0-only
- opensuse-leap 16.0: git-annex 10.20250828-bp160.1.1 Β· AGPL-3.0-or-later AND GPL-3.0-or-later AND BSD-2-Clause AND MIT AND GPL-2.0-only
- ubuntu noble: git-annex 10.20240129-1build1 Β· AGPL-3.0-or-later
- ubuntu questing: git-annex 10.20250721-1
- ubuntu resolute: git-annex 10.20251029-1ubuntu1 Β· AGPL-3.0-or-later
- ubuntu stonking: git-annex 10.20251029-1ubuntu1 Β· AGPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms