A community-driven radio station that streams YouTube tracks shared in the Zcash Community Forum.
The Zcash community has a long-running thread — What are you listening to? — where members share music.
Zcash Radio collects those YouTube links, shuffles them, and streams them in a minimalist fullscreen web player with a discreetly-displayed donation address.
The playlist updates automatically every 6 hours via GitHub Actions.
Clone the repo:
git clone https://github.com/aphelionz/zcash-radio.git
cd zcash-radioBuild the Rust scanner (requires Rust stable):
cargo run --releaseThis produces public/videos.json.
To change the source thread or output path, modify the TOPIC_URL and
OUT_PATH constants in src/main.rs.
Run a local web server in the public/ directory:
cd public
python3 -m http.server 8080Visit http://localhost:8080 and click Start Radio.
Each track inherits curator metadata from videos.json. When the scanner finds a Zcash Unified Address on the poster's forum profile it caches it for 24 hours and writes it alongside the video entry. The web player swaps the QR code and clipboard target to that per-curator tip while the track plays, falling back to the default address embedded in public/index.html when no tip is available.
Cached profile lookups live under target/profile_cache/ and can be safely deleted if you need to force fresh tip data.
@aphelionz
See also AGENTS.md for details on the GitHub Actions agents running this project.
Contributions welcome! Please open issues or PRs.
Guidelines:
- Keep the player lean and dependency-light.
- Use GitHub Actions to extend automation, not third-party CI services.
- Document new behavior in AGENTS.md.
This project is licensed under the MIT License.