Skip to content

BunFM ​

BunFM is a self-hosted, real-time audio streaming service built with Node.js. It synchronizes playback across multiple clients and uses a Telegram bot to accept audio and control playback, keeping the shared listening workflow in a chat.

Platform and uses ​

  • Deployment: a self-hosted server; the repository lists Node.js, the Bun runtime, FFmpeg, and a Telegram bot token as requirements.
  • Controls: Telegram chat commands and audio uploads.
  • Uses: low-latency shared listening with a centrally managed track queue.
  • License: MIT.

Main features ​

  • Real-time streaming with synchronized playback across clients.
  • Accept audio files and voice messages through Telegram.
  • Manage tracks with commands to list, remove, or skip them.
  • Toggle mute from the Telegram chat and enable random playback through configuration.
  • Use FFmpeg for audio transcoding.
  • Configure the server address, port, audio storage, and automatic removal of played files.

The project describes low-latency playback. This page does not promise a fixed latency for every deployment.

Get started ​

Open the official BunFM repository for installation instructions and configuration details.

Prepare the documented runtimes and FFmpeg, create a Telegram bot, and configure its token as BUN_FM_BOT_TOKEN. Follow the README to install dependencies, build, and start the server. The default listening address is 127.0.0.1:7080; the README documents access through a browser or ffplay.

Send /start to the bot to view status. Upload audio in the chat, use /ls to list tracks, and use /next to skip to the next track.

FAQ ​

Is Telegram only used for notifications? ​

No. The bot accepts audio files and voice messages, and chat commands control tracks and playback.

Is BunFM a hosted service? ​

No. You deploy the server yourself and configure its Telegram bot token, runtimes, and audio storage.

Can I remove a track from the queue? ​

Yes. The documented /rm command removes a track by its number. /ls lists tracks and /next skips the current track.

What license does BunFM use? ​

BunFM uses the MIT License. See the repository's license file for its terms and notice requirements.