-
-
Notifications
You must be signed in to change notification settings - Fork 343
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: play song without login #1690
base: dev
Are you sure you want to change the base?
Conversation
reversed cna function for n and signature function, transpiled into kotlin
It is really cool that you figured that out, thanks a lot @Malopieds If it would reliably just work like this why do other projects like yt-dlp use a JS interpreter and a cache for different versions of these JS functions? They are probably not doing this just for fun.
If this will be merged and released soon (without any longterm testing) I think it makes sense to keep the IOS player. |
That's the thing. It's not that easy. It looks easy but finding how it's done is not easy at all and require a lot of time.
Because this is the easy part. Not having to understand the code and just run it.
Yep I agree, this can be easily changed at anytime by YouTube, it's not AS future proof as using js in kotlin directly. But yet, it's not in their interest to update it too often. Both methods have their pros and cons. A lot of libs for youtube uses js/ts so it's even simpler. But if you have other ideas I'm glad to implement this another way! |
Works perfectly for me but sometimes when I play video instead of song, e. g. "delacey - dream it possible" the app crashes. |
It seems that this doesn't work anymore, for me everything that is not cached shows "Unknown error" and doesn't play. In logcat ExoPlayer says Source error, with the cause Response code: 403. I suppose something changed in the API and the generated stream urls doesn't work anymore. NewPipe is working fine though. Clearing app data doesn't fix the issue. |
I can confirm, changing the player client from WEB_REMIX to IOS also works for me, it even plays explicit songs without logging in. I uploaded a build with these changes in case anyone wants to try. The icon is more blueish to distinguish it from the original Innertune. |
@javdc using the IOS client already works without this PR so the decoding code is not used - testing this with the IOS client is pointless |
@gechoto yes you are right, when I wrote that message I messed up and tested an older version, after that I tried building from dev branch and I found out that it works when logged out. |
@Malopieds I made a PR which uses NewPipeExtractor to do this job. |
Fix for avoiding having to login to listen to music, replace the IOS player too. I don't know if we should keep the IOS player as a back up too or not. Issue #1653
I reversed the cna function, for n and signature, transpiled into kotlin to avoid using js directly from kotlin. If you have any question, please ask.