No description
Find a file
Ivan Bushchik e0b7f60b69
0.4.0: XOR encryption + memory optimization
- Optional XOR encryption is now available in lonelyradio and monolib
- lonelyradio was optimized to use less TCP calls and less memory copies
- New program: monoloader - music downloader for lonelyradio
- New monolib function - get_track() for downloading track (as samples),
  not playing
- lonelyradio and monolib are using extensible Writer and Reader enums
  to provide ability to use lonelyradio with different transport
  protocols or encryption
- Add lonelyradio_types crate to share types

Signed-off-by: Ivan Bushchik <ivabus@ivabus.dev>
2024-05-20 15:22:54 +03:00
lonelyradio_types 0.4.0: XOR encryption + memory optimization 2024-05-20 15:22:54 +03:00
monoclient 0.4.0: XOR encryption + memory optimization 2024-05-20 15:22:54 +03:00
monolib 0.4.0: XOR encryption + memory optimization 2024-05-20 15:22:54 +03:00
monoloader 0.4.0: XOR encryption + memory optimization 2024-05-20 15:22:54 +03:00
platform 0.3.0: send audio by fragments, use crossterm in monoclient 2024-03-24 13:24:48 +03:00
src 0.4.0: XOR encryption + memory optimization 2024-05-20 15:22:54 +03:00
.gitignore Add basic SwiftUI client 2024-03-04 16:15:22 +03:00
.rustfmt.toml 0.1.0: Initial commit 2024-01-28 20:19:45 +03:00
Cargo.lock 0.4.0: XOR encryption + memory optimization 2024-05-20 15:22:54 +03:00
Cargo.toml 0.4.0: XOR encryption + memory optimization 2024-05-20 15:22:54 +03:00
LICENSE 0.1.0: Initial commit 2024-01-28 20:19:45 +03:00
README.md 0.4.0: XOR encryption + memory optimization 2024-05-20 15:22:54 +03:00

lonelyradio

TCP radio for singles

Radio that uses unencrypted TCP socket for broadcasting tagged audio data.

Decodes audio streams using symphonia.

Install

cargo install lonelyradio

Build

cargo build -r

Run

lonelyradio <MUSIC_FOLDER> [-a <ADDRESS:PORT>] [-p] [-w] [-m|--max-samplerate M]

All files (recursively) will be shuffled and played back. Public log will be displayed to stdout, private to stderr.

-m|--max-samplerate M will resample tracks which samplerate exceeds M to M

Clients

monoclient is a recommended CLI client for lonelyradio that uses monolib

monoclient <SERVER>:<PORT>

Other clients

SwiftUI client is availible in platform directory.

monolib provides lonelyradio-compatible C API for creating custom clients.

License

lonelyradio, monolib and monoclient are licensed under the terms of the MIT license.