Skip to content

Commit 7b0a3aa

Browse files
committed
Rename project from File-Broadcaster to filecast
1 parent 75a20d5 commit 7b0a3aa

9 files changed

Lines changed: 65 additions & 65 deletions

File tree

.github/workflows/release.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,14 @@ jobs:
1212
matrix:
1313
include:
1414
- os: ubuntu-latest
15-
artifact_name: FileBroadcaster
16-
asset_name: FileBroadcaster-linux-x86_64
15+
artifact_name: filecast
16+
asset_name: filecast-linux-x86_64
1717
- os: macos-latest
18-
artifact_name: FileBroadcaster
19-
asset_name: FileBroadcaster-macos-arm64
18+
artifact_name: filecast
19+
asset_name: filecast-macos-arm64
2020
- os: windows-latest
21-
artifact_name: FileBroadcaster.exe
22-
asset_name: FileBroadcaster-windows-x86_64.exe
21+
artifact_name: filecast.exe
22+
asset_name: filecast-windows-x86_64.exe
2323

2424
defaults:
2525
run:
@@ -45,13 +45,13 @@ jobs:
4545
cmake -S . -B build -G Ninja \
4646
-DCMAKE_BUILD_TYPE=Release \
4747
-DBUILD_TESTING=OFF \
48-
-DFILEBROADCASTER_VERSION="${VERSION}" \
48+
-DFILECAST_VERSION="${VERSION}" \
4949
-DCMAKE_EXE_LINKER_FLAGS="-static -static-libgcc -static-libstdc++"
5050
else
5151
cmake -S . -B build \
5252
-DCMAKE_BUILD_TYPE=Release \
5353
-DBUILD_TESTING=OFF \
54-
-DFILEBROADCASTER_VERSION="${VERSION}"
54+
-DFILECAST_VERSION="${VERSION}"
5555
fi
5656
5757
- name: Build

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
*.app
3333

3434
# Project binaries
35-
/FileBroadcaster
35+
/filecast
3636
/GTests
3737

3838
# Debug symbols

CMakeLists.txt

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
cmake_minimum_required(VERSION 3.15)
2-
project(FileBroadcaster CXX)
2+
project(filecast CXX)
33

44
set(CMAKE_CXX_STANDARD 17)
55
set(CMAKE_CXX_STANDARD_REQUIRED ON)
@@ -10,37 +10,37 @@ if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
1010
endif()
1111

1212
# Version string baked into the binary; the release workflow overrides this
13-
# from the git tag (e.g. -DFILEBROADCASTER_VERSION=v1.0.0).
14-
set(FILEBROADCASTER_VERSION "1.0.0" CACHE STRING "Version string for --version output")
13+
# from the git tag (e.g. -DFILECAST_VERSION=v1.0.0).
14+
set(FILECAST_VERSION "1.0.0" CACHE STRING "Version string for --version output")
1515

1616
# --- main executable ---------------------------------------------------------
1717

18-
add_executable(FileBroadcaster
18+
add_executable(filecast
1919
src/Main.cpp
2020
src/Sender.cpp
2121
src/Receiver.cpp
2222
src/Config.cpp
2323
)
2424

25-
target_include_directories(FileBroadcaster PRIVATE
25+
target_include_directories(filecast PRIVATE
2626
${CMAKE_CURRENT_SOURCE_DIR}/lib/cxxopts/include
2727
)
2828

29-
target_compile_definitions(FileBroadcaster PRIVATE
30-
FILEBROADCASTER_VERSION="${FILEBROADCASTER_VERSION}"
29+
target_compile_definitions(filecast PRIVATE
30+
FILECAST_VERSION="${FILECAST_VERSION}"
3131
)
3232

3333
if(MSVC)
34-
target_compile_options(FileBroadcaster PRIVATE /W4 /permissive-)
34+
target_compile_options(filecast PRIVATE /W4 /permissive-)
3535
else()
36-
target_compile_options(FileBroadcaster PRIVATE -Wall -Wextra)
36+
target_compile_options(filecast PRIVATE -Wall -Wextra)
3737
endif()
3838

3939
if(WIN32)
40-
target_link_libraries(FileBroadcaster PRIVATE ws2_32)
40+
target_link_libraries(filecast PRIVATE ws2_32)
4141
else()
4242
find_package(Threads REQUIRED)
43-
target_link_libraries(FileBroadcaster PRIVATE Threads::Threads)
43+
target_link_libraries(filecast PRIVATE Threads::Threads)
4444
endif()
4545

4646
# --- tests -------------------------------------------------------------------
@@ -70,7 +70,7 @@ if(BUILD_TESTING)
7070
COMMAND bash ${CMAKE_CURRENT_SOURCE_DIR}/tests/e2e.sh
7171
)
7272
set_tests_properties(e2e PROPERTIES
73-
ENVIRONMENT "BINARY=$<TARGET_FILE:FileBroadcaster>"
73+
ENVIRONMENT "BINARY=$<TARGET_FILE:filecast>"
7474
)
7575

7676
# Lossy variant: a Python UDP proxy drops packets in both directions to
@@ -82,7 +82,7 @@ if(BUILD_TESTING)
8282
COMMAND bash ${CMAKE_CURRENT_SOURCE_DIR}/tests/e2e_lossy.sh
8383
)
8484
set_tests_properties(e2e_lossy PROPERTIES
85-
ENVIRONMENT "BINARY=$<TARGET_FILE:FileBroadcaster>;PYTHON=${Python3_EXECUTABLE}"
85+
ENVIRONMENT "BINARY=$<TARGET_FILE:filecast>;PYTHON=${Python3_EXECUTABLE}"
8686
TIMEOUT 120
8787
)
8888
else()

README.md

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
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

1616
UDP 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

4242
Download 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

5858
Send 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

6666
Pre-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

6969
If 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
109109
development):
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
165165
git submodule update --init --recursive
166166
cmake -S . -B build
167167
cmake --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
177176
ctest --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

src/Config.hpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
#ifndef FILEBROADCASTER_CONFIG_H
2-
#define FILEBROADCASTER_CONFIG_H
1+
#ifndef FILECAST_CONFIG_H
2+
#define FILECAST_CONFIG_H
33

44
#include "Utils.hpp"
55

@@ -28,4 +28,4 @@ extern size_t file_length; // File size in bytes
2828
extern char* file; // Pointer to file in RAM
2929
extern char* buffer; // Pointer to buffer
3030

31-
#endif //FILEBROADCASTER_CONFIG_H
31+
#endif //FILECAST_CONFIG_H

src/Main.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
#include <string>
66
#include <cstdlib>
77

8-
#ifndef FILEBROADCASTER_VERSION
9-
#define FILEBROADCASTER_VERSION "1.0.0"
8+
#ifndef FILECAST_VERSION
9+
#define FILECAST_VERSION "1.0.0"
1010
#endif
1111

1212
namespace Receiver { void run(); }
@@ -24,7 +24,7 @@ static void cleanupAndExit(int code) {
2424

2525
int main(int argc, char* argv[]) {
2626
// Parsing input parameters from the CLI
27-
cxxopts::Options options("File-Broadcaster", "UDP Broadcast file transfer");
27+
cxxopts::Options options("filecast", "UDP broadcast file transfer over LAN");
2828

2929
options
3030
.positional_help("[optional args]")
@@ -56,7 +56,7 @@ int main(int argc, char* argv[]) {
5656
return 0;
5757
}
5858
if (result.count("version")) {
59-
std::cout << "File-Broadcaster " << FILEBROADCASTER_VERSION << std::endl;
59+
std::cout << "filecast " << FILECAST_VERSION << std::endl;
6060
return 0;
6161
}
6262

src/Utils.hpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
#ifndef FILEBROADCASTER_UTILS_H
2-
#define FILEBROADCASTER_UTILS_H
1+
#ifndef FILECAST_UTILS_H
2+
#define FILECAST_UTILS_H
33

44
#if defined(_WIN32) || defined(_WIN64)
55
#define _WINSOCK_DEPRECATED_NO_WARNINGS
@@ -47,4 +47,4 @@ namespace Utils {
4747
}
4848
}
4949

50-
#endif //FILEBROADCASTER_UTILS_H
50+
#endif //FILECAST_UTILS_H

tests/e2e.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@
77
#
88
# Or directly:
99
#
10-
# BINARY=build/FileBroadcaster bash tests/e2e.sh
10+
# BINARY=build/filecast bash tests/e2e.sh
1111
#
1212
set -euo pipefail
1313

14-
BINARY="${BINARY:-./FileBroadcaster}"
14+
BINARY="${BINARY:-./filecast}"
1515

1616
if [ ! -x "$BINARY" ]; then
1717
echo "Error: $BINARY not found or not executable. Run 'make program' first." >&2

tests/e2e_lossy.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@
88
# ctest --test-dir build --output-on-failure
99
#
1010
# Or directly:
11-
# BINARY=build/FileBroadcaster bash tests/e2e_lossy.sh
11+
# BINARY=build/filecast bash tests/e2e_lossy.sh
1212
#
1313
set -euo pipefail
1414

15-
BINARY="${BINARY:-./FileBroadcaster}"
15+
BINARY="${BINARY:-./filecast}"
1616
PYTHON="${PYTHON:-python3}"
1717
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
1818

0 commit comments

Comments
 (0)