Files
wehub-resource-sync ead81af521
Deploy to GitHub Pages / deploy (push) Failing after 0s
CI / go (push) Has been cancelled
CI / build (darwin, macos-14) (push) Has been cancelled
CI / build (windows, windows-2025) (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:31:13 +08:00

21 lines
1.0 KiB
Go

// Package qobuz implements a cliamp music provider for Qobuz.
//
// It authenticates via the interactive OAuth browser flow, scrapes the
// app_id / signing secrets / OAuth private key from the Qobuz web player
// bundle.js, and resolves signed CDN stream URLs through the legacy
// track/getFileUrl endpoint. Those URLs are routed through cliamp's
// buffer-while-playing + ffmpeg pipeline (see IsStreamURL and
// RegisterBufferedURLMatcher in main.go), the same path used by the
// Navidrome, Jellyfin, Emby and Plex providers.
//
// Source material consulted for the reverse-engineered API surface:
//
// - Aeneaj/qobuz-dl-go: Go client (primary template for signing,
// bundle scraping and OAuth).
// - DashLt/spoofbuz: secret/seed extraction from bundle.js.
// - SofusA/qobine, qobuz-player-controls/examples/qobuz-api.md: a
// comprehensive reverse-engineered Qobuz API reference used to
// cross-check signing, the OAuth flow, format IDs and the
// legacy-vs-segmented (/file/url) streaming distinction.
package qobuz