SofusA/qobine

Tui, web and rfid player for Qobuz

Rust

267

1,207 commits

updated Sep 23, 2026

See the code

README

qobine

High resolution audio player backed by Qobuz

Powered by Qobuz. Requires a paid subscription. This does not allow you to listen for free.

This is a mono repo for multiple third party apps for Qobuz.

This includes a terminal app, a web server and web-ui, a RFID player, and a minimal Qobuz Connect player.

The web interface is ideal for a setup with a single board computer, e.g. Raspberry Pi, connected to the speaker system and controlled with a smartphone or tablet.

Terminal UI

TUI screenshot

More info

GNOME player

GTK screenshot

More info

Web UI

More info

RFID player

RFID player

More info

Connect

Qobuz Connect

Qobuz Connect is supported in the web, tui and rfid players, and in a standalone minimal connect player: qobine shows up as a playback device in the Qobuz apps, and the tui can switch playback between devices. This can be enabled with the --connect flag and the connect cargo feature. It is still experimental; the module README lists what works and the limitations.

More info on Connect player

Qobine Disconnect

The web player and the rfid player has support for custom self-hostable connect service, Disconnect, which allows activating and deactivating multiple running players. This does not work with the official qobuz smartphone app or web player.

This can be used if you are running multiple players in your home, but would like to control all players centrally on your smartphone through one web player instance.

More info on Disconnect

Raspberry pi

Web, rfid and connect connect players, support setting GPIO 23 high when music is playing. This is hidden behind a feature GPIO. Prebuild binaries for aarm64 linux has this enable.

Enable with --gpio.

This can be used to control power to amplifier when music is playing.

Build from source

Linux dependencies: alsa-sys-devel.

cargo build

Development

Linux dependencies: alsa-sys-devel, just, sqlx-cli, npm.

  1. Setup sqlx: just create-env-file. Only needed once.
  2. Init sqlite database: init-database.
  3. Additional for webui development: In web-module:
  • npm i. Install npm dependencies.
  • npm run watch. Watch for style changes.

Get started

Install your favorites app.

Run --help or <subcommand> --help to see all available options.

Contribution

Feature requests, issues and contributions are very welcome.

Credits

Qobine started as a fork of hifi.rs but has since diverged.

music
qobuz
rfid
rust
tui

Contributors

SofusA

884 commits

dependabot[bot]

165 commits

iamdb

93 commits

ciaens

25 commits

SofusA/qobine

Tui, web and rfid player for Qobuz

Rust

267

1,207 commits

updated Sep 23, 2026

See the code

README

qobine

High resolution audio player backed by Qobuz

Powered by Qobuz. Requires a paid subscription. This does not allow you to listen for free.

This is a mono repo for multiple third party apps for Qobuz.

This includes a terminal app, a web server and web-ui, a RFID player, and a minimal Qobuz Connect player.

The web interface is ideal for a setup with a single board computer, e.g. Raspberry Pi, connected to the speaker system and controlled with a smartphone or tablet.

Terminal UI

TUI screenshot

More info

GNOME player

GTK screenshot

More info

Web UI

More info

RFID player

RFID player

More info

Connect

Qobuz Connect

Qobuz Connect is supported in the web, tui and rfid players, and in a standalone minimal connect player: qobine shows up as a playback device in the Qobuz apps, and the tui can switch playback between devices. This can be enabled with the --connect flag and the connect cargo feature. It is still experimental; the module README lists what works and the limitations.

More info on Connect player

Qobine Disconnect

The web player and the rfid player has support for custom self-hostable connect service, Disconnect, which allows activating and deactivating multiple running players. This does not work with the official qobuz smartphone app or web player.

This can be used if you are running multiple players in your home, but would like to control all players centrally on your smartphone through one web player instance.

More info on Disconnect

Raspberry pi

Web, rfid and connect connect players, support setting GPIO 23 high when music is playing. This is hidden behind a feature GPIO. Prebuild binaries for aarm64 linux has this enable.

Enable with --gpio.

This can be used to control power to amplifier when music is playing.

Build from source

Linux dependencies: alsa-sys-devel.

cargo build

Development

Linux dependencies: alsa-sys-devel, just, sqlx-cli, npm.

  1. Setup sqlx: just create-env-file. Only needed once.
  2. Init sqlite database: init-database.
  3. Additional for webui development: In web-module:
  • npm i. Install npm dependencies.
  • npm run watch. Watch for style changes.

Get started

Install your favorites app.

Run --help or <subcommand> --help to see all available options.

Contribution

Feature requests, issues and contributions are very welcome.

Credits

Qobine started as a fork of hifi.rs but has since diverged.

music
qobuz
rfid
rust
tui

Contributors

SofusA

884 commits

dependabot[bot]

165 commits

iamdb

93 commits

ciaens

25 commits

Languages

Rust

90.3%

HTML

9.0%