Qobuz: Fix authentication and add automatic credential fetching

Qobuz API now requires intent=stream parameter for stream URL requests,
and the app_secret must be extracted using the Spoofbuz decoding method
from bundle.js rather than plain-text values.

Changes:
- Add intent=stream parameter to stream URL requests
- Add QobuzCredentialFetcher class to extract credentials from web player
- Add "Fetch Credentials" button to Qobuz settings page
- Decode obfuscated app secrets using seed/timezone/info/extras method

This fixes "Invalid Request Signature" errors that prevented playback.
This commit is contained in:
Rob Stanfield
2025-12-17 18:18:14 -08:00
committed by Jonas Kvinge
parent 2cd9498469
commit 2bb0dbada2
8 changed files with 397 additions and 1 deletions

View File

@@ -115,6 +115,16 @@
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QPushButton" name="button_fetch_credentials">
<property name="text">
<string>Fetch Credentials</string>
</property>
<property name="toolTip">
<string>Automatically fetch app ID and secret from Qobuz web player</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>