1- # File-Broadcaster
1+ # Filecast
22
33<p align =" left " >
4- <a href="https://github.com/gistrec/File-Broadcaster /actions/workflows/tests.yml">
5- <img src="https://github.com/gistrec/File-Broadcaster /actions/workflows/tests.yml/badge.svg" alt="Tests"></a>
4+ <a href="https://github.com/gistrec/filecast /actions/workflows/tests.yml">
5+ <img src="https://github.com/gistrec/filecast /actions/workflows/tests.yml/badge.svg" alt="Tests"></a>
66 <a>
77 <img src="https://img.shields.io/codacy/grade/4c8169bcab3a4df18baad4e5658ec8ce" alt="Code quality"></a>
8- <a href="https://github.com/gistrec/File-Broadcaster /releases">
9- <img src="https://img.shields.io/github/v/release/gistrec/File-Broadcaster " alt="Release"></a>
8+ <a href="https://github.com/gistrec/filecast /releases">
9+ <img src="https://img.shields.io/github/v/release/gistrec/filecast " alt="Release"></a>
1010 <a>
1111 <img src="https://img.shields.io/badge/platform-windows%20%7C%20linux%20%7C%20macos-brightgreen" alt="Platform"></a>
12- <a href="https://github.com/gistrec/File-Broadcaster /blob/master/LICENSE">
13- <img src="https://img.shields.io/github/license/gistrec/File-Broadcaster ?color=brightgreen" alt="License"></a>
12+ <a href="https://github.com/gistrec/filecast /blob/master/LICENSE">
13+ <img src="https://img.shields.io/github/license/gistrec/filecast ?color=brightgreen" alt="License"></a>
1414</p >
1515
1616UDP broadcast file transfer — sends a single file to every host on the same
@@ -40,31 +40,31 @@ LAN at once, with automatic retransmission of dropped packets.
4040## Quick Start
4141
4242Download the binary for your platform from the
43- [ releases page] ( https://github.com/gistrec/File-Broadcaster /releases ) and run
44- it directly. No installation required.
43+ [ releases page] ( https://github.com/gistrec/filecast /releases ) and run it
44+ directly. No installation required.
4545
4646** Sender** (host that has the file):
4747
4848``` sh
49- ./FileBroadcaster --type sender --file photo.jpg
49+ ./filecast --type sender --file photo.jpg
5050```
5151
5252** Receiver** (one or more hosts on the same LAN):
5353
5454``` sh
55- ./FileBroadcaster --type receiver --file photo.jpg
55+ ./filecast --type receiver --file photo.jpg
5656```
5757
5858Send to a specific host instead of broadcasting to the whole LAN:
5959
6060``` sh
61- ./FileBroadcaster --type sender --file photo.jpg --broadcast 192.168.1.50
61+ ./filecast --type sender --file photo.jpg --broadcast 192.168.1.50
6262```
6363
6464## Installation
6565
6666Pre-built binaries for Linux x86_64, macOS arm64, and Windows x86_64 are
67- attached to every [ GitHub Release] ( https://github.com/gistrec/File-Broadcaster /releases ) .
67+ attached to every [ GitHub Release] ( https://github.com/gistrec/filecast /releases ) .
6868
6969If your platform isn't covered, see [ Building from Source] ( #building-from-source ) .
7070
@@ -89,33 +89,33 @@ If your platform isn't covered, see [Building from Source](#building-from-source
8989
9090``` sh
9191# On the sender host
92- ./FileBroadcaster --type sender --file album.zip
92+ ./filecast --type sender --file album.zip
9393
9494# On every receiver host
95- ./FileBroadcaster --type receiver --file album.zip
95+ ./filecast --type receiver --file album.zip
9696```
9797
9898** Targeted unicast** (when broadcast is blocked or you only have one receiver):
9999
100100``` sh
101101# On the sender host (sends data to 10.0.0.42)
102- ./FileBroadcaster --type sender --file album.zip --broadcast 10.0.0.42
102+ ./filecast --type sender --file album.zip --broadcast 10.0.0.42
103103
104104# On 10.0.0.42 (receiver default --broadcast=yes broadcasts RESENDs)
105- ./FileBroadcaster --type receiver --file album.zip
105+ ./filecast --type receiver --file album.zip
106106```
107107
108108** Loopback test** (sender and receiver on the same host — useful for
109109development):
110110
111111``` sh
112112# Receiver listens on 33401, sends RESEND back to the sender's bind port (33402)
113- ./FileBroadcaster --type receiver --file out.bin \
114- --broadcast 127.0.0.1 --port 33402 --bind-port 33401 &
113+ ./filecast --type receiver --file out.bin \
114+ --broadcast 127.0.0.1 --port 33402 --bind-port 33401 &
115115
116116# Sender listens on 33402, sends data to the receiver's bind port (33401)
117- ./FileBroadcaster --type sender --file in.bin \
118- --broadcast 127.0.0.1 --port 33401 --bind-port 33402
117+ ./filecast --type sender --file in.bin \
118+ --broadcast 127.0.0.1 --port 33401 --bind-port 33402
119119```
120120
121121## How It Works
@@ -160,26 +160,26 @@ development):
160160### Build
161161
162162``` sh
163- git clone https://github.com/gistrec/File-Broadcaster .git
164- cd File-Broadcaster
163+ git clone https://github.com/gistrec/filecast .git
164+ cd filecast
165165git submodule update --init --recursive
166166cmake -S . -B build
167167cmake --build build --config Release
168168```
169169
170- The binary lands at ` build/FileBroadcaster ` (or
171- ` build\Release\FileBroadcaster.exe ` with the multi-config Visual Studio
172- generator).
170+ The binary lands at ` build/filecast ` (or ` build\Release\filecast.exe ` with the
171+ multi-config Visual Studio generator).
173172
174173### Tests
175174
176175``` sh
177176ctest --test-dir build --output-on-failure
178177```
179178
180- Runs the unit tests (requires Google Test installed) and the loopback
181- end-to-end test. Pass ` -E e2e ` to skip the e2e case on Windows, where
182- Winsock semantics break two-process loopback.
179+ Runs the unit tests, the loopback end-to-end test, and a lossy variant that
180+ drops packets through a Python UDP proxy to exercise the RESEND branch. Pass
181+ ` -E e2e ` to skip the e2e cases on Windows, where Winsock semantics break
182+ two-process loopback.
183183
184184## License
185185
0 commit comments