Thank you for your donation!


Cloudsmith graciously provides open-source package management and distribution for our project.


Issue with Qobuz / Upnp
#1
Hello

Since yesterday i have trouble using Qobuz through Moode audio (last update done).
Usually working fine with Linn Kazoo app, but now i can't access music anymore.
It says "service login or communication failure".
Does anyone know this problem ?
Thanks

Vincent
Reply
#2
It seems that Qobuz is closing down "unofficial" usage of Qobuz APIs. This includes upnpdcli Qobuz plug-in, which powers Qobuz connection of Moode audio.

Here's a little more detail as I understand it.
 
- Qobuz API requires APP ID and APP SECRET to sign each and every API call. So they can see, which application is making how many calls, etc. This includes the ability to check which app is making problem, (e.g. repeated calls, or copying whole library, etc), and ability to reject specific app for such a reason. Qobuz official announces that, app-developers should never share APP ID or APP SECRET.
- Most of Qobuz open source plug-ins are a version or another implementation of Kodi Qobuz-plugin (https://github.com/tidalf/plugin.audio.qobuz). This includes, Moode audio's underlying upmpdcli and its Qobuz plug-in. (https://www.lesbonscomptes.com/upmpdcli/...anual.html). Most importantly, those plug-ins (including Moode's underlying upmpdcli) uses Kodi Qobuz Plug-in's APP ID and APP SECRET, and signs all API calls with that secret.
- This, is actually kind of abuse of Qobuz API usage agreement (http://static.qobuz.com/apps/api/QobuzAP...sofUse.pdf ). To be faithful to the usage agreement, each app should contact Qobuz and ask for their own ID/SECRET. HOWEVER, up until now, Qobuz allowed this common usage of Kodi APP ID and APP SECRET, on many different applications.

Here's what I believe is happening (but just my opinion, and nothing officially confirmed from Qobuz.)
- Qobuz server had some problems in last few weeks; server goes down, apps (all apps including official app) having hard time playing music, or slow at responding, and so on. It could be a DoS attack, or simply by some abusive usage from some users / tools (e.g. there are tools to copy whole library of Qobuz.)  
- Usually such down-time were resolved in a few hours, but such a down time have been repeated for few days, actually.  
- It seems that Qobuz has investigated those issues and realized that there are a lot of API abusing.
- Starting from October 1st (or 2nd), it seems that APP-ID/APP-SECRET of KODI Qobuz plug-in is NOT being accepted anymore. API calls are rejected with 400, bad requests.
- This is only limited to the API calls signed with KODI Qobuz plug-in ID/SECRET: Qobuz works as usual for other tools, such as Audirvana, Roon, and so on. I compared the API calls briefly, and it seems that API itself don't seem to have changed (e.g. roughly the same API calls between those tools, but only those API calls with no-longer-secret Kodi APP secrets are being rejected. )
- Qobuz used to have official API documentation on GitHub, for all to read. Now they have removed this page completely. This following now returns 404, no such page. It showed full Qobuz API documantion just till last week. https://github.com/Qobuz/api-documentation

With the above observations, I think that Qobuz has finally changed their policy and decided to forces the API usage agreement; which resulted in dropping (no-longer-secret) API-ID/SECRET usage, such as all Kodi-plugin based API-ID/SECRET API calls. Maybe this is temporary. Maybe not. However, the removal of API documentation on GItHub seems to indicate this isn't a temporary move... but I think we need to wait and see. e.g. what they answer back to official Kodi Qobuz Plug-in developers, etc.
Reply
#3
Thanks for the answer, it seems to be a real issue Sad
For now i have found a cool solution, using Mconnect app with Qobuz integrated, this app sends qobuz hires music through Moode Upnp.

I works perfect
THanks
Reply
#4
Interesting read from @gilnoh
I didn't know there were tools to download entire libraries, I would have thought they would still need individual user authentication?
I've pretty much given up on music streaming, I got fed up with albums disappearing & full catalogues not being available in the 1st place.
Amazon shifting into the HD arena is interesting, let's hope they shake it up a bit
Reply
#5
(10-04-2019, 08:11 AM)vincereb Wrote: Thanks for the answer, it seems to be a real issue Sad
For now i have found a cool solution, using Mconnect app with Qobuz integrated, this app sends qobuz hires music through Moode Upnp.

I works perfect
THanks

Thanks for the recommendation! The app works great. A polished interface and user experience IMHO.

Marc
Reply
#6
(10-05-2019, 07:19 PM)jmarcusg Wrote:
(10-04-2019, 08:11 AM)vincereb Wrote: Thanks for the answer, it seems to be a real issue Sad
For now i have found a cool solution, using Mconnect app with Qobuz integrated, this app sends qobuz hires music through Moode Upnp.

I works perfect
THanks

Thanks for the recommendation! The app works great. A polished interface and user experience IMHO.

Marc

Correct me if I'm wrong, but using mConnect app, you are actually streaming through the app, the app is not just a controller.
Therefore, if you close the app or need the device where mConnect is running to do something else, your streaming will stop.
Reply
#7
My solution has been to go back to what I was doing before Moode inetgrated upmpdcli, that is installing BubbleUPnP server on the same Moode raspberry (or on another one in my LAN, for that matter).
Something like this....

Code:
pi@moodeStdl:~ $ java -version
-bash: java: command not found
pi@moodeStdl:~ $sudo apt-get update
pi@moodeStdl:~ $sudo apt install openjdk-11-jdk
pi@moodeStdl:~ $ java -version
openjdk version "11.0.3" 2019-04-16
OpenJDK Runtime Environment (build 11.0.3+7-post-Raspbian-5)
OpenJDK Server VM (build 11.0.3+7-post-Raspbian-5, mixed mode)
pi@moodeStdl:~ $ wget https://launchpad.net/~bubbleguuum/+archive/bubbleupnpserver/+files/bubbleupnpserver_0.9-5_all.deb
pi@moodeStdl:~ $ sudo dpkg -i bubbleupnpserver_0.9-5_all.deb
pi@moodeStdl:~ $ sudo dpkg -l | grep -i bubbleupnpserver
ii  bubbleupnpserver                 0.9-5                                 all          BubbleUPnP Server
pi@moodeStdl:~ $ sudo systemctl start bubbleupnpserver
pi@moodeStdl::~ $ sudo systemctl status bubbleupnpserver

Now my question to @Tim Curtis: assuming that the above-posted info by @gilnoh about upmpdcli / Qobuz is correct, why not integrating BubbleUPnP server directly in Moode? Could that be an option?
Reply
#8
Can you point me to the bubbleupnp license?
Enjoy the Music!
moodeaudio.org | Mastodon Feed | GitHub
Reply
#9
FYI, the contents of the LICENCE.txt file from BubbleUPnPServer-distrib.zip.

Code:
kreed@krypton:~/BubbleUPnPServer$ more LICENCE.txt
BubbleUPnP Server End User Licence Agreement
(c) 2011 - 2015 Michael Pujos. All rights reserved.

1. This End User Licence Agreement ("EULA") is a legal agreement between you
  (either an individual or an entity) (hereinafter "You") and copyright holder

  or other authorized party (collectively "Company") relating to Your
  installation and use of the BubbleUPnP Server software
  (the "Software").

  By installing, copying, or otherwise using the Software, You agree to be boun
d
  by the terms of this EULA. If You do not agree to the terms of this EULA,
  do not install, copy or use the Software.

2. Permission is granted to You to use this Software, to copy it and
  redistribute it freely, subject to the following restrictions:

  a. The origin of the Software must not be misrepresented; You must not
     claim that You wrote the Software.
  b. You may not sell, rent, loan or otherwise encumber the Software in
     whole or in part, standalone or as a part of integrated solutions,
     to any third party.  
  c. You may not decompile, reverse engineer, disassemble or modify the Softwar
e,
     unless this is strictly for personal use or to debug such modifications.  

     These modifications must not include removing licensing management module.
   
  d. This notice may not be removed or altered from redistributions.

3. The Software includes open source software not owned by
  the Company. The licence terms in this EULA do not apply to those parts.
  Instead, the licensing terms listed below apply:
     
   a. The Software includes modified Cling library developed by 4thline
      licensed under LGPL 2.1.
      modified source is available at: https://github.com/bubbleguuum/cling
   b. The Software includes modified Seamless library developed by 4thline
      licensed under LGPL 2.1
      modified source is available at: https://github.com/bubbleguuum/seamless
   c. The Software includes Jetty licensed under Apache License 2.0
   d. The Software includes portions of GWT (Google Web Toolkit) developed by
      Google licensed under Apache Licence 2.0
   e. The Software includes GWT-comet licensed under Apache Licence 2.0
   f. The Software includes various Apache Commons libraries licensed
      under Apache Licence 2.0
   g. The Software includes Apache HttpComponents licensed under Apache Licence
2.0
   h. The Software includes Apache XML-RPC licensed under Apache Licence 2.0
   i. The Software includes Simple Framework licensed under LGPL
   j. The Software includes RESTEasy licensed under LGPL
   k. The Software includes WinRun4J licensed under Eclipse Public Licence (EPL
)
   l. The Software includes args4j licensed under MIT Licence
   m. The Software includes KXML2 licensed under BSD Licence
   n. The Software includes SLF4J licensed under MIT Licence
   o. The Software includes Fast MD5 licensed under LGPL 2.1
   p. The Software includes imgsclr licensed under Apache Licence 2.0
   q. The Software includes Bouncy Castle licensed under the MIT X11 License
   s. The Software includes FFmpeg binaries licensed under the LGPLv2.1
   t. The Software includes Retrofit licensed under Apache Licence 2.0
   u. The Software includes OkHttp licensed under Apache Licence 2.0
   v. The Software includes Spongy Castle Castle licensed under the MIT X11 Lic
ense
   w. The Software includes Spongy Castle Castle licensed under the BSD License


THE SOFTWARE IS PROVIDED BY THE COMPANY "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE COMPANY BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
kreed@krypton:~/BubbleUPnPServer$
Reply
#10
Thanks Kent.

The license does not seem to be compatible with Open Source licensing. For example: 2b and 2e among other restrictions. It apparently has some sort of "licensing management module".

An end-user can certainly install and use it but AFAICT it would be illegal to redistribute it without getting permission (and probably paying a license fee) to the company that licenses this software.
Enjoy the Music!
moodeaudio.org | Mastodon Feed | GitHub
Reply


Forum Jump: