Tunecat: Simple Internet Radio
Recorded: May 27, 2026, 3 a.m.
| Original | Summarized |
lindenii/tunecat: Simple and dumb internet radio thingy. - Codeberg.org This website requires JavaScript. Explore Register Sign in lindenii/tunecat SHA256 Watch 5 Star 4 Fork You've already forked tunecat 0 Code Issues Pull requests Activity Simple and dumb internet radio thingy. 21 commits 1 branch 0 tags 88 KiB main Find a file HTTPS Download ZIP Runxi Yu cb1fc34677 salmon 2026-05-26 02:11:39 +00:00 cmd/tunecat will solve the race later 2026-05-25 21:39:51 +00:00 internal internal/irc: Add 2026-05-25 20:16:36 +00:00 .gitignore Implement it 2026-05-25 19:54:52 +00:00 go.mod Implement it 2026-05-25 19:54:52 +00:00 LICENSE Implement it 2026-05-25 19:54:52 +00:00 opusify opusify: Convert stuff to opus 2026-05-25 19:07:26 +00:00 README.md salmon 2026-05-26 02:11:39 +00:00 README.md tunecat Pure Go; no FFI or any native codec packages; easy to deploy Acknowledgements Powered by with modifications Codeberg Blog Association Who are we? Services Codeberg Pages Legal Imprint / Impressum Mastodon | Powered by Forgejo English Bahasa Indonesia |
The tunecat project is presented as a simple and straightforward implementation of an internet radio system. It features a demonstration instance that provides a Classical Music Mix, licensed under the CC Public Domain Mark 1.0, intended for use alongside chat on a chaotic Internet Relay Chat network. The operational setup requires specific external steps for configuration, notably using openssl commands to generate necessary certificates and registering an account with CertFP. Furthermore, the system utilizes the provided opusify script to mandate that all audio files be pre-transcoded to Opus at a bitrate of 128 kilobits per second before deployment. The design philosophy of tunecat emphasizes simplicity and efficiency. It is implemented entirely in the Go programming language, deliberately avoiding foreign function interfaces or reliance on native codec packages to maintain a lightweight structure. A key architectural decision is the elimination of runtime transcoding, as the system relies on pre-transcoding of the media files. The project also incorporates basic support for ICY protocols. The system draws inspiration from existing works, specifically MeteorLight and Kirika, and incorporates the Opus paging code, which is credited to Kirika. While the core implementation focuses on the radio streaming aspect, the system suggests incorporating methods for adding a reverse proxy and profit mechanisms to enhance its operational viability. The project is distributed under the 2-clause BSD license. |