Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
opendeezer
command
Command opendeezer is a terminal Deezer client: log in with your ARL, browse liked songs / playlists / search, and stream — decrypt + decode + play all locally.
|
Command opendeezer is a terminal Deezer client: log in with your ARL, browse liked songs / playlists / search, and stream — decrypt + decode + play all locally. |
|
opendeezer-mcp
command
Command opendeezer-mcp is a Model Context Protocol (MCP) server that lets an AI agent control an OpenDeezer client's playback.
|
Command opendeezer-mcp is a Model Context Protocol (MCP) server that lets an AI agent control an OpenDeezer client's playback. |
|
Command deezercore exposes the OpenDeezer engine (login, browse, decrypt + decode + playback) as a C-callable library so native GUIs (SwiftUI on macOS, GTK/libadwaita on GNOME, Qt on KDE) can drive it in-process.
|
Command deezercore exposes the OpenDeezer engine (login, browse, decrypt + decode + playback) as a C-callable library so native GUIs (SwiftUI on macOS, GTK/libadwaita on GNOME, Qt on KDE) can drive it in-process. |
|
examples
|
|
|
connect
command
connect discovers OpenDeezer devices on the local network and sends a play/pause command to the first one found.
|
connect discovers OpenDeezer devices on the local network and sends a play/pause command to the first one found. |
|
download
command
download resolves a Deezer track id, decrypts the audio stream, and saves it to a local file.
|
download resolves a Deezer track id, decrypts the audio stream, and saves it to a local file. |
|
host
command
host is the inbound side of OpenDeezer Connect: it makes this process a device that other OpenDeezer clients can discover on the LAN and control.
|
host is the inbound side of OpenDeezer Connect: it makes this process a device that other OpenDeezer clients can discover on the LAN and control. |
|
remote-server
command
remote-server starts an OpenDeezer control server that a phone web remote or another OpenDeezer client can drive.
|
remote-server starts an OpenDeezer control server that a phone web remote or another OpenDeezer client can drive. |
|
search
command
search demonstrates authenticating with an ARL and running a query.
|
search demonstrates authenticating with an ARL and running a query. |
|
internal
|
|
|
audio
Package audio is the playback engine: it streams, decrypts and decodes Deezer audio (MP3 + FLAC) into a PCM ring that an output device drains.
|
Package audio is the playback engine: it streams, decrypts and decodes Deezer audio (MP3 + FLAC) into a PCM ring that an output device drains. |
|
config
Package config centralizes OpenDeezer's user configuration (env vars + ~/.config/opendeezer files) for the bits shared between the TUI and the GUI engine (corelib): the control API and Discord Rich Presence settings.
|
Package config centralizes OpenDeezer's user configuration (env vars + ~/.config/opendeezer files) for the bits shared between the TUI and the GUI engine (corelib): the control API and Discord Rich Presence settings. |
|
control
Package control exposes playback control + status over a small HTTP/JSON API.
|
Package control exposes playback control + status over a small HTTP/JSON API. |
|
deezer
Package deezer is a Deezer client: ARL login, gw-light + public REST browse, and track -> CDN-url resolution.
|
Package deezer is a Deezer client: ARL login, gw-light + public REST browse, and track -> CDN-url resolution. |
|
discord
Package discord publishes the now-playing track to Discord as Rich Presence ("Listening to …") over Discord's local IPC socket.
|
Package discord publishes the now-playing track to Discord as Rich Presence ("Listening to …") over Discord's local IPC socket. |
|
discovery
Package discovery provides LAN discovery of OpenDeezer instances so a client can offer a "play on another device" picker (OpenDeezer Connect).
|
Package discovery provides LAN discovery of OpenDeezer instances so a client can offer a "play on another device" picker (OpenDeezer Connect). |
|
i18n
Package i18n is a tiny gettext-style translation layer for the OpenDeezer TUI and the shared status strings served by the control API.
|
Package i18n is a tiny gettext-style translation layer for the OpenDeezer TUI and the shared status strings served by the control API. |
|
log
Package log is a tiny leveled logger for OpenDeezer.
|
Package log is a tiny leveled logger for OpenDeezer. |
|
mpris
Package mpris exposes the player over the MPRIS D-Bus interface so Linux desktops (GNOME/KDE media overlays, media keys) show and control playback.
|
Package mpris exposes the player over the MPRIS D-Bus interface so Linux desktops (GNOME/KDE media overlays, media keys) show and control playback. |
|
queue
Package queue is the playback queue model shared by the TUI and the C API (via corelib), so shuffle/repeat/prev-history behaviour is defined once instead of being re-implemented per frontend.
|
Package queue is the playback queue model shared by the TUI and the C API (via corelib), so shuffle/repeat/prev-history behaviour is defined once instead of being re-implemented per frontend. |
|
ui
Package ui is the Bubble Tea TUI for OpenDeezer: a menu/list browser with an always-visible now-playing footer.
|
Package ui is the Bubble Tea TUI for OpenDeezer: a menu/list browser with an always-visible now-playing footer. |
|
update
Package update checks GitHub for a newer OpenDeezer release.
|
Package update checks GitHub for a newer OpenDeezer release. |
|
version
Package version is the single source of truth for the OpenDeezer release number.
|
Package version is the single source of truth for the OpenDeezer release number. |
|
Package odmobile is the OpenDeezer engine exposed for gomobile (gobind), so a native Android (or iOS) app can drive the same login/decrypt/decode/playback pipeline the desktop GUIs use.
|
Package odmobile is the OpenDeezer engine exposed for gomobile (gobind), so a native Android (or iOS) app can drive the same login/decrypt/decode/playback pipeline the desktop GUIs use. |
|
Package sdk is the OpenDeezer public SDK — a curated Go API for third-party developers who want to build on the OpenDeezer engine without forking the application itself.
|
Package sdk is the OpenDeezer public SDK — a curated Go API for third-party developers who want to build on the OpenDeezer engine without forking the application itself. |
|
connect
Package connect implements OpenDeezer Connect: LAN discovery and remote control of OpenDeezer devices, in both directions.
|
Package connect implements OpenDeezer Connect: LAN discovery and remote control of OpenDeezer devices, in both directions. |
|
control
Package control exposes the OpenDeezer remote-control API: a small HTTP/JSON server that a controller (another OpenDeezer client, an MCP agent, a phone web remote) can drive, and a matching client that talks to one.
|
Package control exposes the OpenDeezer remote-control API: a small HTTP/JSON server that a controller (another OpenDeezer client, an MCP agent, a phone web remote) can drive, and a matching client that talks to one. |
|
deezer
Package deezer is the OpenDeezer SDK's Deezer API layer: account login via ARL, browse (favorites, playlists, albums, search, charts, Flow, artists, lyrics, podcasts), library write operations (like/unlike, playlist CRUD), stream resolution, and Blowfish BF_CBC_STRIPE decryption.
|
Package deezer is the OpenDeezer SDK's Deezer API layer: account login via ARL, browse (favorites, playlists, albums, search, charts, Flow, artists, lyrics, podcasts), library write operations (like/unlike, playlist CRUD), stream resolution, and Blowfish BF_CBC_STRIPE decryption. |
|
player
Package player provides in-process Deezer audio playback via Player.
|
Package player provides in-process Deezer audio playback via Player. |
Click to show internal directories.
Click to hide internal directories.