Tunecat: Simple Internet Radio

Source: codeberg.org
64 points by croottree 17 hours ago on hackernews | 8 comments

Simple and dumb internet radio thingy.

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

Usage

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

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

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

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 MeteorLight and Kirika. The Opus paging code is taken from Kirika.

License

2-clause BSD. See LICENSE.