Tunecat: Simple Internet Radio

croottree1 pts0 comments

lindenii/tunecat: Simple and dumb internet radio thingy. - Codeberg.org

This website requires JavaScript.

lindenii/tunecat

SHA256

Watch

Star

Fork

You've already forked tunecat

Code

Issues

Pull requests

Activity

Simple and dumb internet radio thingy.

21 commits

1 branch

0 tags

88 KiB

Go

99.2%

Shell

0.8%

main

Find a file

HTTPS

Download ZIP<br>Download TAR.GZ<br>Download BUNDLE

Open with VS Code

Open with VSCodium

Open with Intellij IDEA

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

Simple and dumb internet radio thingy.

There is a<br>demo instance<br>serving<br>Classical Music Mix<br>(CC Public Domain Mark 1.0)<br>for<br>#chat<br>on<br>a very chaotic IRC network.

Usage

Consider<br>openssl req -x509 -new -newkey ed25519 -sha256 -nodes -out tunecat.pem -keyout tunecat.pem<br>and registering a NickServ account with CertFP.

Use the provided opusify script<br>to pre-transcode all your songs to Opus 128 kbps.

Usage of tunecat:<br>-addr string<br>listen address<br>-dir string<br>directory of .opus files<br>-irc-addr string<br>IRC server address as host:port<br>-irc-cert string<br>combined TLS client certificate and key<br>-irc-channels string<br>comma-separated IRC channels to join<br>-irc-nick string<br>IRC nick<br>Add a reverse proxy and profit.

Why another one

Pure Go; no FFI or any native codec packages; easy to deploy

Lightweight; no transcoding; Opus 128 kbps all the way

Basic ICY support

Acknowledgements

Heavily inspired by<br>MeteorLight<br>and Kirika.<br>The Opus paging code is taken from Kirika.

License

2-clause BSD. See LICENSE.

tunecat string opus simple internet radio

Related Articles