by

Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
Sasha Hilton
@sashahilton00
interestingly enough, the auth stuff doesnt appear to be in the new dump
wonder if they switched to the web API
devgianlu
@devgianlu
The auth stuff is still the same, they added the login5 protocol to retrieve tokens.
devgianlu
@devgianlu
I think the proto definitions are "debugging" files that doesn't get removed. They often include stuff that gets updated or is not used.
mfisc
@mfisc
Hello! I recently started making a virtual assistant, similar to alexa, to control things around my house. It is my first time working with python and I am having a hard time trying to get it to play music from spotify. I was wondering if librespot could be a solution. I see that it can be used as a headless spotify connect reciever, but i wanted to know if it could be played from a python script. Thanks.
michaelherger
@michaelherger
librespot does the playback, but you'd still need to use the web API (https://developer.spotify.com/documentation/web-api/quick-start/) or something to control it, search for content etc. Can't help with the python part of it, but their API is pretty well documented and straight-forward. (although missing a few pieces they implement in their own UIs, unfortunately...)
Tony
@TonerK7_twitter
Where should I look if I want to decrypt the tcp stream
devgianlu
@devgianlu
You can have a look at the librespot wiki or Session#connect and Session#authenticate of librespot-java
Tarık
@tarik0
hello im not really using librespot but im writing my own client using protobufs of it so
there is a hashcash challange here how can i solve that
also how can i decode that login_context
challenges {
  challenges {
    hashcash {
      prefix: "\003\270[\356\366|\201\260\312\r\377\020\334b*u"
      length: 10
    }
  }
}
login_context: "\003\000\336\255\373\231\326b\317\263,\006\275\003\370\327\255\347\222#\200\351;\370H%\023;\022-T\315u\263\203\203\215\034\245\024\326\321\020L\322.\254\301\247\304\323@9\006\227ag\n\260O2D\307\177\213$\010\005-X\233?\007\250P[\341=b\213\330\244\021l\252\366Dc\277\372\236 \367\275-%,\340y5\320.T\315=\241\020\356\303\032P\002\272\222pJ0A\213w\307\366\277\334\236h\234\3031\252_\\Y\321.\270\232\356\020\243\240\352f\327?2;9\001\350Z\232\t\235\351\260\242\264(\027a\200t\302\353\250Y\\\0070o,\243d\203\245\257\331#\010\351\tS$\357u)\2365\022\335~\212\340u\332H\006\324-S\341\332\323t\020y\215\356\261\021\014\267\021\202\246j\021p\240G\277\014\205\321\235\223\204hR44\026\344\035\t\255P\316!\271\030\206"
devgianlu
@devgianlu
@tarik0 It is not needed to have a functional client
Tarık
@tarik0
what do you mean by that ?
@devgianlu
Tarık
@tarik0
do you have a discord so i can ask questions @devgianlu ?
squaaa
@devsquaaa
Hey @devgianlu, I was wondering if you could explain how the hashcash challenge is solved for the login5 api?
devgianlu
@devgianlu
I don't know, I've never reverse engineered it.
squaaa
@devsquaaa
What is this (https://github.com/librespot-org/librespot-java/blob/dev/lib/src/main/proto/spotify/login5/v3/login5.proto) for then, is it not implemented yet/is it going to be implemented?
devgianlu
@devgianlu
I've only added the proto definition, it is not implemented and I don't think it'll be since we don't seem to need it.
squaaa
@devsquaaa
Oh okay, you'll stick with the apresolve login
squaaa
@devsquaaa
May I ask how you figured that it was a HashCash challenge?
devgianlu
@devgianlu
It says "hashcash" in the protobuf definition

Oh okay, you'll stick with the apresolve login

Yep

squaaa
@devsquaaa

It says "hashcash" in the protobuf definition

Where can I find them (the protobuf definitions)

This one is called a protobuf definition
squaaa
@devsquaaa
No, I mean where did you get the protobuf definition from (from the app files?)
devgianlu
@devgianlu
We dump them from the binaries with https://github.com/HearthSim/proto-extractor
squaaa
@devsquaaa
Oh I see, thank you for helping me (:
JKSenthil
@JKSenthil
Hey guys, is there a way to get play count of a track?
Tarık
@tarik0
image.png
Tarık
@tarik0
i cant sign in
but i can connect successfully
if one of you guys wants to help me my discord is Cool Guy#1688
Gulianrdgd
@Gulianrdgd
Hey Guys, I'm trying to compile librespot with the Jack backend on a raspberry pi but librespot protocol won't compile. After some digging it says that it doesn't know what OUT_DIR is in protocol/src/lib.rs. I'm seeing that recently there has been a commit mentioning OUT_DIR. Is there something stupid I'm missing?
Gulianrdgd
@Gulianrdgd
I have removed the previous librespot install and I'm using rust nightly
alborzs
@alborzs
Hi, I just stumbled upon your repository. I have an specific issue I am trying to solve and I was wondering if librespot could be the solution. I have setup Google Assistant SDK and I am using it for a couple of stuff at home. Currently Google Assistant does not support Spotify, I was wondering if librespot could help with that if it is set up on the same network. I might be completely off here.
Itamikame
@Itamikame
Hello i have a question as well.
How did you get the proto files for the project? I am trying to do a protobuff implementation for my own project of course i could just copy paste the files from your repo but i also would like to know how it was possible for you to get these files. Because as far as i know spotify doesnt provide the proto files.
Itamikame
@Itamikame
Sorry my bad i should have checked the repos or search through the chat room. Found the answer to my question
Ash
@ashthespy
@devgianlu -- My memory is a bit foggy but is the new websockets based api different from the old context_player_state
Ash
@ashthespy
From my memory, the context_player_state was the in-between step before switching to full web sockets correct? In your opinion, does it still make sense to implement it or to just directly switch to the web sockets protocol?
devgianlu
@devgianlu
You're correct, it resembles a bit the new protocol and if I remember correctly it uses the same proto definitions, but I think it's better to go directly on the new one
devgianlu
@devgianlu
librespot-java prints it or you can set it yourself
0x0lli
@0x0lli
any chance one could point me to a non-linux-native-friendly version of how to configre librespot in order to make it send data to the pipe ?
0x0lli
@0x0lli
took me so long to figure the error in the rust-compilation (env-command) and I wanted to give it a shot with snapcast. Still, all the other parameter in the documentation are bollocks with a fresh install of raspberry pi os
👀
@jspwsh___twitter
Hi, is it possible to use proxies with authentication with Librespot?
devgianlu
@devgianlu
librespot-java supports proxies
👀
@jspwsh___twitter
Oh it's not possible with rust ? Because I have already prepared everything with rust so I have to do it all over again :(