← Package directory
Available on winget

Install filecast

Send a file to every machine on your LAN at once over UDP broadcast/multicast.

Install with winget
winget install --id gistrec.filecast
Upgrade
winget upgrade --id gistrec.filecast
Uninstall
winget uninstall --id gistrec.filecast

About filecast

filecast is a cross-platform command-line tool that sends a single file to every host on the same LAN at once, using UDP broadcast or IP multicast, with automatic retransmission of dropped packets. One sender reaches any number of receivers in the time of a single transfer. It verifies each file end-to-end with SHA-256, resumes interrupted receives, and needs no server, relay, or internet connection.

What's new in 1.0.1

What's Changed - Use the lowercase gistrec/filecast repo name in links and install.sh by @gistrec in #21 - Document the Homebrew tap and link the encryption issue by @gistrec in #23 - Enforce no-clobber atomically and give main() sole ownership of the socket by @gistrec in #24 - Reject control/NUL bytes in sanitizeName by @gistrec in #26 - Use disk-backed transfer storage by @gistrec in #25 - Add disk-full E2E test for the write-failure cleanup branch by @gistrec in #27 - Don't delete cwd .part files when receive times out before ANNOUNCE by @gistrec in #28 - Bound part-metadata memory with a bitmap and a lazy sender map by @gistrec in #29 - Propagate durable flush/close errors from closePartFile by @gistrec in #30 - [Security review][M1] Reject same-session ANNOUNCE that would reset or hijack a transfer by @gistrec in #31 - [Security review][L4] Undeliverable datagrams silently strand transfers at large --mtu by @gistrec in #33 - [Security review][L7] Reject reserved device names with trailing spaces/dots by @gistrec in #35 - [Security review][L3] Reject pre-planted hardlinks when opening .part files by @gistrec in #32 - [Security review][L5] Exit non-zero when the sender can't reach the kernel by @gistrec in #36 - [Security review][L1] Bound the receive wait and resend phase on a wall-clock deadline by @gistrec in #37 - [Security review][L6] Use steady_clock for RESEND rate-limiting by @gistrec in #34 - Reject symlinks and hardlinks on Windows when opening .part files by @gistrec in #39 - Harden pre-latch ANNOUNCE handling and bound resend/ttl edge cases by @gistrec in #4...

Read release notes

Version history

Version Updated Notes
1.0.1 What's Changed - Use the lowercase gistrec/filecast repo name in links and install.sh by @gistrec in #21 - Document the Homebrew tap and link the encryption issue by @gistrec in #23 - Enforce no-clobber atomically and gi...
1.0.0 Release notes