CastagnaIT / plugin.video.netflix

InputStream based Netflix plugin for Kodi
MIT License
1.91k stars 259 forks source link

Key Authentication reports Login Successful but subsequent movies play error out with invalid password #1589

Closed wildcat2020 closed 1 year ago

wildcat2020 commented 1 year ago

Netflix add-on version

Netflix VOD Services Addon

Operative systems used

Windows

Kodi version used

Kodi 20 (Nexus)

Description of the bug

Key Authentication reports Login Successful but subsequent movies play error out with invalid password

Steps to reproduce the behavior

Authenticate using Key Authentication Addon will report Login Succesful Choose who is viewing then go and press a movie to play You will get Invalid Password error Go back and you will get the window to re-authenticate

Debug log - mandatory

uploaded the log in zip archive

Possible fix

No response

Additional context

No response

Screenshots

kodi.zip

Bender2403 commented 1 year ago

Exactly the same problem for me. Can this be related to netflix's account sharing measures?

haronv99 commented 1 year ago

Me too, after login I can't watch anything...

CastagnaIT commented 1 year ago

already explained here https://forum.kodi.tv/showthread.php?tid=329767&pid=3152185#pid3152185

Bender2403 commented 1 year ago

The problem is not Windows exclusive, I also have the problem on my afts 4k kodi 20.1 addon version 1.220

Gemini88 commented 1 year ago

@CastagnaIT i just don't get netflix there not loosing out you still have to have a paid subscription to view anything. Idk what changed but its really annoying every so often you can login or clicking a vid it errors out saying incorrect password 🤷🏾‍♂️🤦🏾‍♂️ netflix is becoming annoying now on what there doing. Nothing will stop people from using Kodi ever!!!! Netflix and other streaming platforms mind as well just collaborate with Kodi because it will never stop never!!!!

Bender2403 commented 1 year ago

The problem seems to have been fixed, for me the addon works again as it should

wildcat2020 commented 1 year ago

This issue is gone now, instead of invalid password now my windows 11 with Kodi 20.1 complain about error 1044 - there is another issue open for that.

Jarusz commented 1 year ago

Its not gone, i just got the login popup and im getting the same error on mibox 4k

Liqianyu commented 1 year ago

I'm having this problem on Shield TV and never had it before. Applying the 906f5dd2406bab1f1756147fede35ca3b284bb10 commit workaround solved this problem for me.

etgecata commented 1 year ago

Nvidia Shield 2019 For two weeks I had no problems logging in. I can't log in again since yesterday. Could you please explain the workaround in more detail. How do I download this file? I tried, I couldn't. Or which old version of Netflix to download , where is this workaround. I will be very grateful.

Liqianyu commented 1 year ago

Correction: Please follow this comment for installation.

This should be the path for all Android TV devices. Please use the corresponding paths for different platforms. Replace msl_handler.py, msl_requests.py, msl_utils.py under /sdcard/android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.netflix/resources/lib/services/nfsession/msl with the files in the zip archive. Restart Kodi.

etgecata commented 1 year ago

Thank you very much. It happened this way.

Gemini88 commented 1 year ago

Is anybody else have problems with netflix causing video stutter and making Kodi a little sluggish because of a lot of cpu cycles, when I disable Netflix the problem is gone

nroets1 commented 1 year ago

This should be the path for all Android TV devices. Please use the corresponding paths for different platforms. Replace msl_handler.py, msl_requests.py, msl_utils.py under /sdcard/android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.netflix/resources/lib/services/nfsession/msl with the files in the zip archive. Restart Kodi.

I have done this and now I get this error when I try to play any video. XIAOMI MiBox S, Android TV, Android 9

NameError: name "ErrorMessage" is not defined.

Jarusz commented 1 year ago

This should be the path for all Android TV devices. Please use the corresponding paths for different platforms. Replace msl_handler.py, msl_requests.py, msl_utils.py under /sdcard/android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.netflix/resources/lib/services/nfsession/msl with the files in the zip archive. Restart Kodi.

for me, this fix breaks the addon completely, mibox 4k

nroets1 commented 1 year ago

This should be the path for all Android TV devices. Please use the corresponding paths for different platforms. Replace msl_handler.py, msl_requests.py, msl_utils.py under /sdcard/android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.netflix/resources/lib/services/nfsession/msl with the files in the zip archive. Restart Kodi.

for me, this fix breaks the addon completely, mibox 4k

OK. For my MiBox, this worked.

Install the latest Netflix addon. Do not apply any fixes, only install the addon. Login with AuthenticationKey. On your MiBox find your Netflix ESN: Settings->About->The second last entry.

Open the file /sdcard/android/data/org.xbmc.kodi/files/.kodi/userdata/addon_data/plugin.video.netflix/msl_data.json with a text editor. Change the value of "bound_esn" to your Netflix ESN. (It is a very long key). Save the file, restart kodi and all is working.

Bender2403 commented 1 year ago

This should be the path for all Android TV devices. Please use the corresponding paths for different platforms. Replace msl_handler.py, msl_requests.py, msl_utils.py under /sdcard/android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.netflix/resources/lib/services/nfsession/msl with the files in the zip archive. Restart Kodi.

Have you actually submitted your fix as a pull yet?

Liqianyu commented 1 year ago

This should be the path for all Android TV devices. Please use the corresponding paths for different platforms. Replace msl_handler.py, msl_requests.py, msl_utils.py under /sdcard/android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.netflix/resources/lib/services/nfsession/msl with the files in the zip archive. Restart Kodi.

I have done this and now I get this error when I try to play any video. XIAOMI MiBox S, Android TV, Android 9

NameError: name "ErrorMessage" is not defined.

I think there is no problem with the files, please make sure all three files are replaced. If you need help, please provide the logs.

Liqianyu commented 1 year ago

This should be the path for all Android TV devices. Please use the corresponding paths for different platforms. Replace msl_handler.py, msl_requests.py, msl_utils.py under /sdcard/android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.netflix/resources/lib/services/nfsession/msl with the files in the zip archive. Restart Kodi.

for me, this fix breaks the addon completely, mibox 4k

OK. For my MiBox, this worked.

Install the latest Netflix addon. Do not apply any fixes, only install the addon. Login with AuthenticationKey. On your MiBox find your Netflix ESN: Settings->About->The second last entry.

Open the file /sdcard/android/data/org.xbmc.kodi/files/.kodi/userdata/addon_data/plugin.video.netflix/msl_data.json with a text editor. Change the value of "bound_esn" to your Netflix ESN. (It is a very long key). Save the file, restart kodi and all is working.

Please note that using the real device ESN is likely to result in the official Netflix App being permanently limited to 540p as well. #1509

Liqianyu commented 1 year ago

This should be the path for all Android TV devices. Please use the corresponding paths for different platforms. Replace msl_handler.py, msl_requests.py, msl_utils.py under /sdcard/android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.netflix/resources/lib/services/nfsession/msl with the files in the zip archive. Restart Kodi.

Have you actually submitted your fix as a pull yet?

Yes, I checked again and found no errors. You can also apply commit 906f5dd to resolve the issue.

Jarusz commented 1 year ago

Please note that using the real device ESN is likely to result in the official Netflix App being permanently limited to 540p as well. #1509

Im aware of that, ill probably wait cause i dont want it to be stuck at 540p if for some reason, kodi netflix wont work anymore, or will have more problems in the future

nroets1 commented 1 year ago

Still not working on MiBox 4k even after using the files from the zip archive. Login is fine but cant play any video.

Liqianyu commented 1 year ago

Still not working on MiBox 4k even after using the files from the zip archive. Login is fine but cant play any video.

What error is displayed when playing a video?

nroets1 commented 1 year ago

Still not working on MiBox 4k even after using the files from the zip archive. Login is fine but cant play any video.

What error is displayed when playing a video?

NameError: name "ErrorMessage" is not defined

nroets1 commented 1 year ago

Still not working on MiBox 4k even after using the files from the zip archive. Login is fine but cant play any video.

What error is displayed when playing a video?

Upon further investigation I found a "sort of solution" to the problem on both of my MiBox 4k devices.

I'm using the three files in the zip archive. When using the standard ESN generated by the add-on, starting with, NFANDROID1-PRV-T-XIAOMIMIBOX4-22190-, I always get the error (NameError: name "ErrorMessage" is not defined) when trying to play any video. When I change the ESN to be the same as the device ESN, all videos play but I have the 540p limit issue.

When I reset the ESN to a newly generated one and change the start of the ESN to NFANDROID2-PRV-M19-XIAOMIMIBOX4-22190 (same as the start of device ESN) then everything works fine an I dont have the 540p limit issue. Not sure how often I'll have to change the ESN to a new one. The first part of the ESN seems to be the culprit for producing errors.

Is it perhaps possible to only auto change the last part of the ESN?

Liqianyu commented 1 year ago

@nroets1 I don't know why the add-on generates NFANDROID1 for you, it should have the same ESN (header) as the Netflix App. The "Automatically generates new ESNs (workaround for 540p limit)" in the ESN settings is to automatically generate random ESNs, which I think does not modify the beginning of the ESN.

nroets1 commented 1 year ago

I don't know why the add-on generates NFANDROID1 for you, it should have the same ESN (header) as the Netflix App. The "Automatically generates new ESNs (workaround for 540p limit)" in the ESN settings is to automatically generate random ESNs, which I think does not modify the beginning of the ESN.

Thanks for the reply. I also dont know why it generates a different ESN header. I'll switch on "Automatically generates new ESNs (workaround for 540p limit)" and see what happens.

GG-76 commented 1 year ago

This should be the path for all Android TV devices. Please use the corresponding paths for different platforms. Replace msl_handler.py, msl_requests.py, msl_utils.py under /sdcard/android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.netflix/resources/lib/services/nfsession/msl with the files in the zip archive. Restart Kodi.

on my fire stick 4k max, after overwriting the files, the situation does not change and I get an invalid password message... it's sad that the addon has not been functional for such a long time :(

sdbbs commented 1 year ago

I hate Netflix so much; I wish them all, especially their executives, a long and miserable and painful life.

I have a standalone Android box (not a TV) that I use for Netflix Kodi addon, and it worked great the past year.

So first, I started getting this problem as described in the issue title. The worst of all is that you get ADDITIONALLY logged out once the movie playback says error. Then of course I cannot log in via just email and password, so I have to run python NFAuthenticationKey.py, generate new NFAuthentication.key, copy that to device.

Then tell Netflix addon to use that NFAuthentication.key, enter pin, enter password - "OK". Try play a movie again, get logged off. Then again tell Netflix addon to use that NFAuthentication.key, enter pin, enter password - "OK". Try play a movie again, get logged off. Then Then again tell Netflix addon to use that NFAuthentication.key, enter pin, enter password - "OK". Try play a movie again, get logged off. Insanity.

Then I noticed this:

When using the standard ESN generated by the add-on, starting with, NFANDROID1-PRV-T-XIAOMIMIBOX4-22190-, I always get the error (NameError: name "ErrorMessage" is not defined) when trying to play any video. ...

When I reset the ESN to a newly generated one and change the start of the ESN to NFANDROID2-PRV-M19-XIAOMIMIBOX4-22190 (same as the start of device ESN) then everything works fine ...

So I noticed my Netflix ESN is NFANDROID1-PRV-TL3-ROCKCLUMBOX... while Netflix addon tended to give me NFANDROID1-PRV-TL3-LENOVLENOVO... (???) - so I would have just replaced that part, and it worked. For a while.

And now today - again Try play a movie again, get logged off. Then again tell Netflix addon to use that NFAuthentication.key, enter pin, enter password - "OK". Try play a movie again, get logged off. ....

I tried doing a Reset in Netflix addon settings - now I do get a new ESN with correct device prefix NFANDROID1-PRV-TL3-ROCKCLUMBOX - but movies don't play again.

So, in desperation, I tried this:

This should be the path for all Android TV devices. Please use the corresponding paths for different platforms. Replace msl_handler.py, msl_requests.py, msl_utils.py under /sdcard/android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.netflix/resources/lib/services/nfsession/msl with the files in the zip archive. Restart Kodi.

I can usually sense bullshit when I see just "replace these files" from a Google Drive zip without any explanation what do those files change and how are they supposed to rectify the situation, but eh, I was desperate.

I closed Kodi, then did:

$ adb push *.py /sdcard/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.netflix/resources/lib/services/nfsession/msl/
msl_handler.py: 1 file pushed. 0.9 MB/s (20075 bytes in 0.022s)
msl_requests.py: 1 file pushed. 1.1 MB/s (15320 bytes in 0.013s)
msl_utils.py: 1 file pushed. 0.8 MB/s (10276 bytes in 0.012s)
3 files pushed. 0.7 MB/s (45671 bytes in 0.063s)

Start Kodi, go to Netflix addon, try to play movie, get error:

2023-06-15 18:40:50.747 T:23796    INFO <general>: Loading skin file: DialogConfirm.xml, load type: KEEP_IN_MEMORY
2023-06-15 18:40:55.122 T:23889   ERROR <general>: GetDirectory - Error getting plugin://plugin.video.netflix/
2023-06-15 18:40:55.123 T:23890    INFO <general>: CPythonInvoker(8, /storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.netflix/addon.py): script successfully run
2023-06-15 18:40:55.142 T:23796   ERROR <general>: CGUIMediaWindow::GetDirectory(plugin://plugin.video.netflix/) failed
2023-06-15 18:41:03.213 T:23796   ERROR <general>: Control 55 in window 10025 has been asked to focus, but it can't
2023-06-15 18:41:03.266 T:23890    INFO <general>: initializing python engine.
2023-06-15 18:41:07.446 T:23890    INFO <general>: CPythonInvoker(8, /storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.netflix/addon.py): script successfully run
2023-06-15 18:41:10.511 T:23890    INFO <general>: initializing python engine.
2023-06-15 18:41:13.025 T:23890    INFO <general>: CPythonInvoker(8, /storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.netflix/addon.py): script successfully run
2023-06-15 18:41:19.145 T:23890    INFO <general>: initializing python engine.
2023-06-15 18:41:22.047 T:23890    INFO <general>: CPythonInvoker(8, /storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.netflix/addon.py): script successfully run
2023-06-15 18:41:22.771 T:23796    INFO <general>: NFS is idle. Closing the remaining connections.
2023-06-15 18:41:24.686 T:23796    INFO <general>: Loading skin file: DialogContextMenu.xml, load type: KEEP_IN_MEMORY
2023-06-15 18:41:28.963 T:23890    INFO <general>: initializing python engine.
2023-06-15 18:41:30.848 T:23890    INFO <general>: CPythonInvoker(8, /storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.netflix/addon.py): script successfully run
2023-06-15 18:41:30.952 T:23796    INFO <general>: VideoPlayer::OpenFile: plugin://plugin.video.netflix/play/movie/70208102/?profile_guid=LIXXXXXXXXXXXXXXXXXXXXXXBQ
2023-06-15 18:41:30.960 T:23976    INFO <general>: Creating InputStream
2023-06-15 18:41:30.991 T:23976    INFO <general>: AddOnLog: inputstream.adaptive: SetVideoResolution (1280 x 720)
2023-06-15 18:41:31.075 T:23976   ERROR <general>: GetDirectory - Error getting /data/user/0/org.xbmc.kodi/cache/apk/assets/addons/inputstream.adaptive/
2023-06-15 18:41:31.122 T:23976   ERROR <general>: AddOnLog: inputstream.adaptive: Key system request: com.widevine.alpha
2023-06-15 18:41:31.893 T:23978   ERROR <general>: [plugin.video.netflix (0)] Full MSL error information:
2023-06-15 18:41:31.895 T:23978   ERROR <general>: [plugin.video.netflix (0)] {"signature": "fVu,,,,,,BA==", "errordata": "ey......V9", "entityauthdata": {"scheme": "RSA", "authdata": {"identity": "Netflix", "pubkeyid": "MSL_TRUSTED_NETWORK_SERVER_KEY"}}}
2023-06-15 18:41:51.360 T:23976   ERROR <general>: CCurlFile::FillBuffer - Failed: Timeout was reached(28)
2023-06-15 18:41:51.361 T:23976   ERROR <general>: CCurlFile::Open failed with code 0 for http://127.0.0.1:60951/msl/get_manifest?videoid=70208102:

2023-06-15 18:41:51.362 T:23976   ERROR <general>: AddOnLog: inputstream.adaptive: Download failed: http://127.0.0.1:60951/msl/get_manifest?videoid=70208102
2023-06-15 18:41:51.363 T:23976   ERROR <general>: AddOnLog: inputstream.adaptive: Could not open / parse manifest (http://127.0.0.1:60951/msl/get_manifest?videoid=70208102)
2023-06-15 18:41:51.373 T:23976   ERROR <general>: CVideoPlayer::OpenInputStream - error opening [plugin://plugin.video.netflix/play/movie/70208102/?profile_guid=LIXXXXXXXXXXXXXXXXXXXXXXBQ]
2023-06-15 18:41:51.374 T:23976    INFO <general>: CVideoPlayer::OnExit()
2023-06-15 18:41:51.380 T:23976    INFO <general>: ADDON: Dll Destroyed - InputStream Adaptive
2023-06-15 18:41:51.425 T:23796    INFO <general>: CVideoPlayer::CloseFile()
2023-06-15 18:41:51.511 T:23796    INFO <general>: VideoPlayer: waiting for threads to exit
2023-06-15 18:41:51.512 T:23796    INFO <general>: VideoPlayer: finished waiting

I mean, "could not parse manifest" from http://127.0.0.1:60951/msl/get_manifest?videoid=70208102 ??? 127.0.0.1? Am I supposed to expect that there is a local server on my android box, which would serve "manifest"? Why would it do that?

Have you actually submitted your fix as a pull yet?

Yes, I checked again and found no errors. You can also apply commit 906f5dd to resolve the issue.

Great that the answer to "Have you actually submitted your fix as a pull yet?" is the completely unrelated "Yes, I checked again and found no errors." Are you trying to tell us, that your zip includes changes from commit 906f5dd - which is from Jan 14, 2023 - which got reverted (removed from Netflix Kodi addon code) in commit f15c7af5 the very next day? So, again - why should have this zip worked at all?

I mean, I only pay for Netflix SD, and I don't care about more than 540p (as long as I get content listed) - all I want is just to press play, and not waste hours on passwords, ESN, Widevine and crap like that.

I guess I'd ask if there are any new workarounds, but as far as I can tell, there isn't ...


Tried also: uninstall fully Netflix Addon, close Kodi, start Kodi again, install Netflix Addon, try to login first time with username/password - getting "wrong password"; try again with NFAuthentication.key - can log in; play a movie - again resources.lib.common.exceptions.MSLError: Email or password is incorrect, get logged out.

Login again with NFAuthentication.key, go to Netflix Addon Settings, Expert submenu / Advanced Add-on Configuration / ESN/Widevine settings - (interesting note: after install, and before trying to play anything, this ESN field here is empty - it first gets populated after the first attempt to play a movie) - click change ESN, type manually the ESN from the original Netflix app on the device, click Apply Changes Now - it says "OK, try play a movie", I try, MSLerror again, I get logged out.

Finally I thought I should try this:

Open the file /sdcard/android/data/org.xbmc.kodi/files/.kodi/userdata/addon_data/plugin.video.netflix/msl_data.json with a text editor. Change the value of "bound_esn" to your Netflix ESN. (It is a very long key). Save the file, restart kodi and all is working.

I did:

$ adb pull /sdcard/Android/data/org.xbmc.kodi/files/.kodi/userdata/addon_data/plugin.video.netflix/msl_data.json

Checked this in a text editor - and bound_esn is already the ESN I typed in earlier (the original ESN of the Netflix app on the device). So, this does not work for me either ...

Liqianyu commented 1 year ago

@nroets1 @sdbbs I know the cause of the "NameError: name "ErrorMessage" is not defined." error and I will make a new .zip full add-on package as soon as possible.

Liqianyu commented 1 year ago

Since I am modifying the Mod version based on Paco8, please follow these steps to install it.

  1. Install repository.paco8-2.0.1.zip

  2. Install Netflix from the Improved subtitles repository

  3. Download plugin.video.netflix-1.22.0+matrix.1~mod2-NETFLIXID.zip and install

Please note that this change is only applicable to solve the "MSL Error: Email or password is incorrect" problem, and does not help with other errors. And this old workaround requires you to use Widevine L1 authentication device.

GG-76 commented 1 year ago

Since I am modifying the Mod version based on Paco8, please follow these steps to install it.

  1. Install repository.paco8-2.0.1.zip
  2. Install Netflix from the Improved subtitles repository
  3. Download plugin.video.netflix-1.22.0+matrix.1~mod1-NETFLIXID.zip and install If this version runs with the message "An upgrade of add-on service is in progress, please wait. Try plugin.video.netflix-1.22.0+matrix.1~mod1-NETFLIXID-NOUpgrade.zip

this procedure works for me, but then when I run addon first time and every next step always shows an error: attribute error: 'NoneType' object has no attribute 'split' , when I repeat it, it doesn't show up again.

Liqianyu commented 1 year ago

@GG-76 What Kodi build and version are you using? Are you using NETFLIXID or NETFLIXID-NOUpgrade Add-on ? This question has been confirmed, although I'm not sure exactly why. However, here is a workaround. Download and install plugin.video.netflix~mod1-NETFLIXID-NOUpgrade-Split.zip

GG-76 commented 1 year ago

@GG-76 What Kodi build and version are you using? Are you using NETFLIXID or NETFLIXID-NOUpgrade Add-on ? This question has been confirmed, although I'm not sure exactly why. However, here is a workaround. Download and install plugin.video.netflix~mod1-NETFLIXID-NOUpgrade-Split.zip

im sorry, i have Kodi 21 Nightly Development Build - kodi-20230515-7acee6c7-master-armeabi-v7a and yes i have to use NETFLIXID or NETFLIXID-NOUpgrade Add-on. Ok i try this new upgrade.

Edit: with last split upgrade netflix addon working again, thanks for that

orenmaya commented 1 year ago

Nvidia shield, Kodi 20.1 I installed this mod, but always getting: attribute error: 'NoneType' object has no attribute 'split'

Liqianyu commented 1 year ago

@orenmaya Are you trying plugin.video.netflix~mod1-NETFLIXID-NOUpgrade-Split.zip ?

orenmaya commented 1 year ago

dont know how I missed it :) Working great now, thanks!

PilotIoTSystems commented 1 year ago

I installed everything as described by @Liqianyu until I finally installed "plugin.video.netflix~mod1-NETFLIXID-NOUpgrade-Split.zip" because I got the error messages described. The login appears to be successful, but when I start playing the movie I get an error message.

MSLError: Request failed validation during key exchange

Kodi Android v20.1 (Nexus)

Thank you in advance for your help!

Liqianyu commented 1 year ago

@PilotIoTSystems https://github.com/CastagnaIT/plugin.video.netflix/wiki/FAQ-%28Errors%29#msl-error-request-failed-validation-during-key-exchange

CastagnaIT commented 1 year ago

the zip proposed by @Liqianyu where has reintroduced a old workaround, works only for some devices and more likely only L1 devices, with all other devices will raise MSL error's and nothing can be done

PilotIoTSystems commented 1 year ago

@Liqianyu @CastagnaIT Thank you for your answers. The official Netflix app (which can be downloaded from Google Play) works on my Android TV-Box.

I hope that there will be a solution to this problem soon...

CastagnaIT commented 1 year ago

closed since the problem is somewhat related to problems on #1585