VideoHelp Forum


Try StreamFab Downloader and download from Netflix, Amazon, Youtube! Or Try DVDFab and copy Blu-rays! or rip iTunes movies!


Try StreamFab Downloader and download streaming video from Youtube, Netflix, Amazon! Download free trial.


+ Reply to Thread
Page 2 of 2
FirstFirst 1 2
Results 31 to 53 of 53
Thread
  1. This version of WKS-KEYS has the stupid property of not showing the real reason why the license request fails. Every unsuccessful license request results in "check protobufs". The real error would have been shown in the license request's response.

    If I try your request with your header (including your JWT), I get an error 403 as answer. The reason for my failure is probaly simply an ip address mismatch - the client ip address is coded in the JWT (the x-auth-token - you can decode JWT at https://jwt.io/).

    (I have changed my l3.py script to use the official "pywidevine" modul; and it will show you any upstream error, and not the stupid "unable to parse license - check protobufs" error message.)
    Quote Quote  
  2. Do I actually have to adjust the header.py for every video?

    Best regards,
    Heiko
    Quote Quote  
  3. Code:
    heiko@Worf:~/Krieg der Welten/neu$ python3 /home/heiko/Downloads/WKS-KEYS/l3.py
    
    PSSH: AAAAQ3Bzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAACMIARIQacYTIIWxn2YQaSGX0UT88SINYV9wbm43MWxzeXAzdw==
    License URL: https://api.vod-prd.s.joyn.de/v1/license?token=CiQ5NzNjYzc1ZC1kN2ZhLTQzNzgtYjhhMy1hMGYzYTYyM2QxODU.Cg1hX3BubjcxbHN5cDN3EAEaCHNvZnR3YXJlIMa8wKoGKNCCy6oGMiRhMmNiNjgxNC0yZWQyLTQyYjAtYTI3Mi0zNWU3YTkxZWZiNjk44ANCJGJhNGIwYTE2LWM0ZmMtNDA2MC1hMTAyLWFlMjE1Njk5ZGZlYUoId2lkZXZpbmVQkK3BqgZYAA.0j5EO62r_sgDhQ3tcIidE8smayIPOPVt7YxkRfbT7I8&keyId=
    
    --key 69c6132085b19f6610692197d144fcf1:d4003385e5c4f00f92efe7b5feb3a621
    --key 6abd6661c53c5aa8b0ed8536e7787723:ec5fe14df0d061742792249e62008ee9
    --key efe845bd063453b3bf77cd7d582ae041:da8af18dfaf563b4fb9ed46cd25c4e98
    --key ff368a4dce4958ea94cf5b0c0d6c9461:2f441d72c6e7cd061cd8e0a40dce7ab4
    Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
    heiko@Worf:~/Krieg der Welten/neu$
    I don't know how I managed it, but now it suddenly works.

    Best regards,
    Heiko
    Quote Quote  
  4. Code:
    heiko@Worf:~/Unter uns$ python3 /home/heiko/Downloads/WKS-KEYS/l3.py
    
    PSSH: AAAAUHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAADAIARIgNjVjMzQ5Y2M4MTVmYTEzMzMzNTEwNjY0YjNiZDFmN2IiBjkyODIyOSoCU0Q=
    License URL: https://licensing.bitmovin.com/licensing
    Traceback (most recent call last):
      File "/home/heiko/Downloads/WKS-KEYS/l3.py", line 38, in <module>
        correct, keys = WV_Function(pssh, lic_url)
      File "/home/heiko/Downloads/WKS-KEYS/l3.py", line 24, in WV_Function
        widevine_license = requests.post(url=lic_url, data=wvdecrypt.get_challenge(), headers=headers.headers)
      File "/usr/lib/python3/dist-packages/requests/api.py", line 119, in post
        return request('post', url, data=data, json=json, **kwargs)
      File "/usr/lib/python3/dist-packages/requests/api.py", line 61, in request
        return session.request(method=method, url=url, **kwargs)
      File "/usr/lib/python3/dist-packages/requests/sessions.py", line 544, in request
        resp = self.send(prep, **send_kwargs)
      File "/usr/lib/python3/dist-packages/requests/sessions.py", line 657, in send
        r = adapter.send(request, **kwargs)
      File "/usr/lib/python3/dist-packages/requests/adapters.py", line 439, in send
        resp = conn.urlopen(
      File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 700, in urlopen
        httplib_response = self._make_request(
      File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 395, in _make_request
        conn.request(method, url, **httplib_request_kw)
      File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 234, in request
        super(HTTPConnection, self).request(method, url, body=body, headers=headers)
      File "/usr/lib/python3.10/http/client.py", line 1283, in request
        self._send_request(method, url, body, headers, encode_chunked)
      File "/usr/lib/python3.10/http/client.py", line 1324, in _send_request
        self.putheader(hdr, value)
      File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 219, in putheader
        _HTTPConnection.putheader(self, header, *values)
      File "/usr/lib/python3.10/http/client.py", line 1256, in putheader
        values[i] = one_value.encode('latin-1')
    UnicodeEncodeError: 'latin-1' codec can't encode character '\u2026' in position 512: ordinal not in range(256)
    heiko@Worf:~/Unter uns$
    Quote Quote  
  5. Originally Posted by Data2006 View Post
    Do I actually have to adjust the header.py for every video?

    Best regards,
    Heiko
    No, just every few days you have to update the token-header (which is the only one you need, by the way).
    Your second example does not work, because you have the wrong license address. There are always some license addresses with "bitmovin", they have another function and are never the one you need.
    Quote Quote  
  6. Good morning.

    Code:
    heiko@Worf:~/Unter uns$ cat '/home/heiko/Downloads/WKS-KEYS/headers.py' 
    import requests
    
    headers = {
        'X-Auth-Token':'eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ4N1RJT2o1bXd3T0daLS1fOVdjcmhDbzdHemVCTDgwOWQxZlByN29wUThBIn0.eyJleHAiOjE2OTk4OTQ5MjUsImlhdCI6MTY5OTg4MDUyNSwianRpIjoiYzkzODk3YzYtNTIwMy00MzNlLTg0MjItMDg0MmExOWM0MzBhIiwiaXNzIjoiaHR0cHM6Ly9hdXRoLnJ0bC5kZS9hdXRoL3JlYWxtcy9ydGxwbHVzIiwic3ViIjoiNWYyODFmOTAtOWM5OS00MzcwLWFmZDYtMTM1N2ZlMDc2N2YxIiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiYW5vbnltb3VzLXVzZXIiLCJhbGxvd2VkLW9yaWdpbnMiOlsiKiJdLCJzY29wZSI6IiIsImNsaWVudEhvc3QiOiI3OS4yMzYuNzAuMTAiLCJjbGllbnRJZCI6ImFub255bW91cy11c2Vy…lclByb2ZpbGVzIjpmYWxzZSwicHJoQ3JlZGl0cyI6MCwicHJoTWF4UGFyYWxsZWxTdHJlYW1zIjowfSwidG9nZ28iOnsic2tpcEFkdmVydGlzaW5nIjpmYWxzZX19LCJjbGllbnRBZGRyZXNzIjoiNzkuMjM2LjcwLjEwIn0.UKxOZ2PIW59IY5sRAvc3Yy7GREx-Zlec1DX_PSp10luzkmlVi_GFQ3cxVeSRPP1umosaF_ASB0J_D-TgbnIGza-S_0ZYlQhAyp7EgIaBrmLB8KqFN7GoEnZs38z_AKFY_lnBGbg1BevAMFgzTSXNGiaEwSSe6aCcJmocwiJRkAPRXZB86NNwn3fEXNhx8enxY3N2x8L6c0CzB442XBRQQ-ZuQZK86RNrv90alB_aJoNGuzY7j8HvC9mZZ_Y_3JS5v6Y3zSt8lXHTUu4vCMm07jhjEJDUxEwL-11MM_iYOSrjPBdIAFA4zTtR8UbfsInJgOlHOxJj0NnvFX3atPXBDA',
    }
    heiko@Worf:~/Unter uns$
    PSSH: AAAAUHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAADAIARIgNj VjMzQ5Y2M4MTVmYTEzMzMzNTEwNjY0YjNiZDFmN2IiBjkyODIy OSoCU0Q=

    License: https://widevine.tvnow.de/index/license

    Is my license still incorrect? I set the filter to method:POST and then I search for license. That's right, right?

    Could it be that the format in headers.py is wrong? So missing space?!

    Best regards,
    Heiko
    Quote Quote  
  7. Originally Posted by Data2006 View Post
    Good morning.

    Code:
    heiko@Worf:~/Unter uns$ cat '/home/heiko/Downloads/WKS-KEYS/headers.py' 
    import requests
    
    headers = {
        'X-Auth-Token':'eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ4N1RJT2o1bXd3T0daLS1fOVdjcmhDbzdHemVCTDgwOWQxZlByN29wUThBIn0.eyJleHAiOjE2OTk4OTQ5MjUsImlhdCI6MTY5OTg4MDUyNSwianRpIjoiYzkzODk3YzYtNTIwMy00MzNlLTg0MjItMDg0MmExOWM0MzBhIiwiaXNzIjoiaHR0cHM6Ly9hdXRoLnJ0bC5kZS9hdXRoL3JlYWxtcy9ydGxwbHVzIiwic3ViIjoiNWYyODFmOTAtOWM5OS00MzcwLWFmZDYtMTM1N2ZlMDc2N2YxIiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiYW5vbnltb3VzLXVzZXIiLCJhbGxvd2VkLW9yaWdpbnMiOlsiKiJdLCJzY29wZSI6IiIsImNsaWVudEhvc3QiOiI3OS4yMzYuNzAuMTAiLCJjbGllbnRJZCI6ImFub255bW91cy11c2Vy…lclByb2ZpbGVzIjpmYWxzZSwicHJoQ3JlZGl0cyI6MCwicHJoTWF4UGFyYWxsZWxTdHJlYW1zIjowfSwidG9nZ28iOnsic2tpcEFkdmVydGlzaW5nIjpmYWxzZX19LCJjbGllbnRBZGRyZXNzIjoiNzkuMjM2LjcwLjEwIn0.UKxOZ2PIW59IY5sRAvc3Yy7GREx-Zlec1DX_PSp10luzkmlVi_GFQ3cxVeSRPP1umosaF_ASB0J_D-TgbnIGza-S_0ZYlQhAyp7EgIaBrmLB8KqFN7GoEnZs38z_AKFY_lnBGbg1BevAMFgzTSXNGiaEwSSe6aCcJmocwiJRkAPRXZB86NNwn3fEXNhx8enxY3N2x8L6c0CzB442XBRQQ-ZuQZK86RNrv90alB_aJoNGuzY7j8HvC9mZZ_Y_3JS5v6Y3zSt8lXHTUu4vCMm07jhjEJDUxEwL-11MM_iYOSrjPBdIAFA4zTtR8UbfsInJgOlHOxJj0NnvFX3atPXBDA',
    }
    heiko@Worf:~/Unter uns$
    PSSH: AAAAUHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAADAIARIgNj VjMzQ5Y2M4MTVmYTEzMzMzNTEwNjY0YjNiZDFmN2IiBjkyODIy OSoCU0Q=

    License: https://widevine.tvnow.de/index/license

    Is my license still incorrect? I set the filter to method:POST and then I search for license. That's right, right?

    Could it be that the format in headers.py is wrong? So missing space?!

    Best regards,
    Heiko
    your auth token maybe not correct
    there is to much dot after "bW91cy11c2Vy"

    try to copy your license request header
    and curl it on curlconverter.com
    Quote Quote  
  8. Code:
    curl 'https://widevine.tvnow.de/index/license' \
      -H 'authority: widevine.tvnow.de' \
      -H 'accept: */*' \
      -H 'accept-language: de,de-DE;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6' \
      -H 'cache-control: no-cache' \
      -H 'origin: https://plus.rtl.de' \
      -H 'pragma: no-cache' \
      -H 'referer: https://plus.rtl.de/' \
      -H 'sec-ch-ua: "Microsoft Edge";v="119", "Chromium";v="119", "Not?A_Brand";v="24"' \
      -H 'sec-ch-ua-mobile: ?0' \
      -H 'sec-ch-ua-platform: "Windows"' \
      -H 'sec-fetch-dest: empty' \
      -H 'sec-fetch-mode: cors' \
      -H 'sec-fetch-site: cross-site' \
      -H 'user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36 Edg/119.0.0.0' \
      -H 'x-auth-token: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ4N1RJT2o1bXd3T0daLS1fOVdjcmhDbzdHemVCTDgwOWQxZlByN29wUThBIn0.eyJleHAiOjE2OTk5MDMyNTIsImlhdCI6MTY5OTg4ODg1MiwianRpIjoiNDJjOTVmN2MtZWZmYi00YzRhLWJjMWQtOWRiMzk2ZTY5NTU2IiwiaXNzIjoiaHR0cHM6Ly9hdXRoLnJ0bC5kZS9hdXRoL3JlYWxtcy9ydGxwbHVzIiwic3ViIjoiNWYyODFmOTAtOWM5OS00MzcwLWFmZDYtMTM1N2ZlMDc2N2YxIiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiYW5vbnltb3VzLXVzZXIiLCJhbGxvd2VkLW9yaWdpbnMiOlsiKiJdLCJzY29wZSI6IiIsImNsaWVudEhvc3QiOiI3OS4yMzYuNzAuMTAiLCJjbGllbnRJZCI6ImFub255bW91cy11c2VyIiwiaXNHdWVzdCI6dHJ1ZSwicGVybWlzc2lvbnMiOnsiZ2VuZXJhbCI6eyJwb3J0YWJpbGl0eSI6ZmFsc2UsImFscGhhViI6dHJ1ZSwibWF4QW1vdW50T2ZQcm9maWxlcyI6NCwibWF4TXBhUHJvZmlsZXMiOjQsInNldFBpbiI6ZmFsc2UsIm1heERvd25sb2FkRGV2aWNlcyI6MCwiYWNjZXNzUHJlU2FsZSI6ZmFsc2V9LCJzdHJlYW1pbmciOnsidm9kQWNjZXNzVG9GcmVlQ29udGVudCI6dHJ1ZSwidm9kQWNjZXNzVG9QYXlDb250ZW50IjpmYWxzZSwibGl2ZXN0cmVhbUFjY2Vzc1RvRnJlZVR2IjpmYWxzZSwibGl2ZXN0cmVhbUFjY2Vzc1RvUGF5VHYiOmZhbHNlLCJsaXZlc3RyZWFtQWNjZXNzVG9GYXN0Ijp0cnVlLCJ2b2RRdWFsaXR5IjoiTE9XIiwibGl2ZVF1YWxpdHkiOiJMT1ciLCJmYXN0UXVhbGl0eSI6IkxPVyIsIm1heFBhcmFsbGVsU3RyZWFtcyI6MSwibGl2ZWV2ZW50QWNjZXNzVG9GcmVlVHYiOnRydWUsImxpdmVldmVudEFjY2Vzc1RvUGF5VHYiOmZhbHNlfSwid2F0Y2hGZWF0dXJlcyI6eyJjb250ZW50RG93bmxvYWQiOmZhbHNlLCJvcmlnaW5hbFZlcnNpb24iOmZhbHNlLCJjb250aW51ZVdhdGNoaW5nIjpmYWxzZSwic2tpcEFkIjpmYWxzZSwiZG9sYnkiOmZhbHNlLCJib29rbWFya1dhdGNoIjpmYWxzZX0sImFkdmVydGlzaW5nIjp7Im1heFByZVJvbGxzIjozLCJtaWRSb2xscyI6dHJ1ZSwicG9zdFJvbGxzIjp0cnVlLCJjaGFwdGVycyI6dHJ1ZSwic3BlY2lhbEFkcyI6ZmFsc2UsImJyZWFrQWRzIjpmYWxzZSwiYWRTY2hlbWUiOiJhZGFfZnJlZSIsInRlZFBheUFkdmVydGlzZW1lbnQiOmZhbHNlfSwibXVzaWMiOnsiYWNjZXNzTXVzaWNDb250ZW50IjpmYWxzZSwiYWNjZXNzTXVzaWNDb250ZW50T3RoZXJQcm9maWxlcyI6ZmFsc2UsImRlZXplck9mZmVyQ29kZSI6LTEsImRlZXplclRyaWFsT2ZmZXJDb2RlIjotMSwiZGVlemVyTWF4UGFyYWxsZWxTdHJlYW1zIjowLCJ2aWV3TXVzaWNDb250ZW50Ijp0cnVlfSwicG9kY2FzdHMiOnsiYm9va21hcmtQb2RjYXN0cyI6ZmFsc2UsImFjY2Vzc0ZyZWVQb2RjYXN0cyI6dHJ1ZSwiYWNjZXNzUHJlbWl1bVBvZGNhc3RzIjpmYWxzZSwiZm9sbG93UG9kY2FzdHMiOmZhbHNlLCJkb3dubG9hZFBvZGNhc3RzIjpmYWxzZSwiY29udGludWVMaXN0ZW5pbmdQb2RjYXN0cyI6ZmFsc2V9LCJyYWRpbyI6eyJhY2Nlc3NSYWRpb0NvbnRlbnQiOnRydWV9LCJtYWdhemluZSI6eyJhcnRpY2xlQ3JlZGl0cyI6MCwiYWNjZXNzTWFnYXppbmVBcnRpY2xlcyI6ZmFsc2UsImJyYW5kU3Vic2NyaXB0aW9uU2xvdHMiOjAsImJvb2ttYXJrTWFnYXppbmUiOmZhbHNlfSwiYXVkaW9ib29rcyI6eyJjYW5SZWRlZW1DcmVkaXQiOmZhbHNlLCJjYW5SZWRlZW1DcmVkaXRPdGhlclByb2ZpbGVzIjpmYWxzZSwiYWNjZXNzRGVlemVyQXVkaW9ib29rcyI6ZmFsc2UsImFjY2Vzc0RlZXplckF1ZGlvYm9va3NPdGhlclByb2ZpbGVzIjpmYWxzZSwiYWNjZXNzUHJoQXVkaW9ib29rcyI6ZmFsc2UsImFjY2Vzc1ByaEF1ZGlvYm9va3NPdGhlclByb2ZpbGVzIjpmYWxzZSwiYWNjZXNzQm91Z2h0UHJoQXVkaW9ib29rcyI6ZmFsc2UsImFjY2Vzc0JvdWdodFByaEF1ZGlvYm9va3NPdGhlclByb2ZpbGVzIjpmYWxzZSwicHJoQ3JlZGl0cyI6MCwicHJoTWF4UGFyYWxsZWxTdHJlYW1zIjowfSwidG9nZ28iOnsic2tpcEFkdmVydGlzaW5nIjpmYWxzZX19LCJjbGllbnRBZGRyZXNzIjoiNzkuMjM2LjcwLjEwIn0.nIyoD5V4AZKHMIUrdogMHGJH3Rl0MgftbXip5MSaGGUQr5iNkSQiCCQGUhZcjKWALq0Qc-ovGvi7NATu4FWmigwT73-A3fACFMdjvJQR8kV4eTe0uiBC5_R2TWzv14YNclUtWPhw-Wcfmr-Y_qfezMFbvd3OVnnoqGMo-BZRqVs9jBzqA4AwOstT0rCJ85i1jHoOVj348MkD9EBcSc0JqVaO1uXv-H_T2_q5eFeiM5I1Zel4I-ICYGA7lUuW4eeXDUFAPs7y9bhE_T1UUmO_MX65BnIlflE-CZKiX4M_kkpAaPJzLIKc5gKLcTBgjSs3u7Sa0tZqBPVxWvFFUDhjbQ' \
      --data-raw $'\u0008\u0004' \
      --compressed
    Do I now have to copy everything from the output into headers.py? Or what exactly?

    Thank you,
    Heiko
    Quote Quote  
  9. Originally Posted by Data2006 View Post
    Do I now have to copy everything from the output into headers.py? Or what exactly?

    Thank you,
    Heiko

    not everything
    x-auth-token is enough

    x-auth-token: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6IC J4N1RJT2o1bXd3T0daLS1fOVdjcmhDbzdHemVCTDgwOWQxZlBy N29wUThBIn0.eyJleHAiOjE2OTk5MDMyNTIsImlhdCI6MTY5OT g4ODg1MiwianRpIjoiNDJjOTVmN2MtZWZmYi00YzRhLWJjMWQt OWRiMzk2ZTY5NTU2IiwiaXNzIjoiaHR0cHM6Ly9hdXRoLnJ0bC 5kZS9hdXRoL3JlYWxtcy9ydGxwbHVzIiwic3ViIjoiNWYyODFm OTAtOWM5OS00MzcwLWFmZDYtMTM1N2ZlMDc2N2YxIiwidHlwIj oiQmVhcmVyIiwiYXpwIjoiYW5vbnltb3VzLXVzZXIiLCJhbGxv d2VkLW9yaWdpbnMiOlsiKiJdLCJzY29wZSI6IiIsImNsaWVudE hvc3QiOiI3OS4yMzYuNzAuMTAiLCJjbGllbnRJZCI6ImFub255 bW91cy11c2VyIiwiaXNHdWVzdCI6dHJ1ZSwicGVybWlzc2lvbn MiOnsiZ2VuZXJhbCI6eyJwb3J0YWJpbGl0eSI6ZmFsc2UsImFs cGhhViI6dHJ1ZSwibWF4QW1vdW50T2ZQcm9maWxlcyI6NCwibW F4TXBhUHJvZmlsZXMiOjQsInNldFBpbiI6ZmFsc2UsIm1heERv d25sb2FkRGV2aWNlcyI6MCwiYWNjZXNzUHJlU2FsZSI6ZmFsc2 V9LCJzdHJlYW1pbmciOnsidm9kQWNjZXNzVG9GcmVlQ29udGVu dCI6dHJ1ZSwidm9kQWNjZXNzVG9QYXlDb250ZW50IjpmYWxzZS wibGl2ZXN0cmVhbUFjY2Vzc1RvRnJlZVR2IjpmYWxzZSwibGl2 ZXN0cmVhbUFjY2Vzc1RvUGF5VHYiOmZhbHNlLCJsaXZlc3RyZW FtQWNjZXNzVG9GYXN0Ijp0cnVlLCJ2b2RRdWFsaXR5IjoiTE9X IiwibGl2ZVF1YWxpdHkiOiJMT1ciLCJmYXN0UXVhbGl0eSI6Ik xPVyIsIm1heFBhcmFsbGVsU3RyZWFtcyI6MSwibGl2ZWV2ZW50 QWNjZXNzVG9GcmVlVHYiOnRydWUsImxpdmVldmVudEFjY2Vzc1 RvUGF5VHYiOmZhbHNlfSwid2F0Y2hGZWF0dXJlcyI6eyJjb250 ZW50RG93bmxvYWQiOmZhbHNlLCJvcmlnaW5hbFZlcnNpb24iOm ZhbHNlLCJjb250aW51ZVdhdGNoaW5nIjpmYWxzZSwic2tpcEFk IjpmYWxzZSwiZG9sYnkiOmZhbHNlLCJib29rbWFya1dhdGNoIj pmYWxzZX0sImFkdmVydGlzaW5nIjp7Im1heFByZVJvbGxzIjoz LCJtaWRSb2xscyI6dHJ1ZSwicG9zdFJvbGxzIjp0cnVlLCJjaG FwdGVycyI6dHJ1ZSwic3BlY2lhbEFkcyI6ZmFsc2UsImJyZWFr QWRzIjpmYWxzZSwiYWRTY2hlbWUiOiJhZGFfZnJlZSIsInRlZF BheUFkdmVydGlzZW1lbnQiOmZhbHNlfSwibXVzaWMiOnsiYWNj ZXNzTXVzaWNDb250ZW50IjpmYWxzZSwiYWNjZXNzTXVzaWNDb2 50ZW50T3RoZXJQcm9maWxlcyI6ZmFsc2UsImRlZXplck9mZmVy Q29kZSI6LTEsImRlZXplclRyaWFsT2ZmZXJDb2RlIjotMSwiZG VlemVyTWF4UGFyYWxsZWxTdHJlYW1zIjowLCJ2aWV3TXVzaWND b250ZW50Ijp0cnVlfSwicG9kY2FzdHMiOnsiYm9va21hcmtQb2 RjYXN0cyI6ZmFsc2UsImFjY2Vzc0ZyZWVQb2RjYXN0cyI6dHJ1 ZSwiYWNjZXNzUHJlbWl1bVBvZGNhc3RzIjpmYWxzZSwiZm9sbG 93UG9kY2FzdHMiOmZhbHNlLCJkb3dubG9hZFBvZGNhc3RzIjpm YWxzZSwiY29udGludWVMaXN0ZW5pbmdQb2RjYXN0cyI6ZmFsc2 V9LCJyYWRpbyI6eyJhY2Nlc3NSYWRpb0NvbnRlbnQiOnRydWV9 LCJtYWdhemluZSI6eyJhcnRpY2xlQ3JlZGl0cyI6MCwiYWNjZX NzTWFnYXppbmVBcnRpY2xlcyI6ZmFsc2UsImJyYW5kU3Vic2Ny aXB0aW9uU2xvdHMiOjAsImJvb2ttYXJrTWFnYXppbmUiOmZhbH NlfSwiYXVkaW9ib29rcyI6eyJjYW5SZWRlZW1DcmVkaXQiOmZh bHNlLCJjYW5SZWRlZW1DcmVkaXRPdGhlclByb2ZpbGVzIjpmYW xzZSwiYWNjZXNzRGVlemVyQXVkaW9ib29rcyI6ZmFsc2UsImFj Y2Vzc0RlZXplckF1ZGlvYm9va3NPdGhlclByb2ZpbGVzIjpmYW xzZSwiYWNjZXNzUHJoQXVkaW9ib29rcyI6ZmFsc2UsImFjY2Vz c1ByaEF1ZGlvYm9va3NPdGhlclByb2ZpbGVzIjpmYWxzZSwiYW NjZXNzQm91Z2h0UHJoQXVkaW9ib29rcyI6ZmFsc2UsImFjY2Vz c0JvdWdodFByaEF1ZGlvYm9va3NPdGhlclByb2ZpbGVzIjpmYW xzZSwicHJoQ3JlZGl0cyI6MCwicHJoTWF4UGFyYWxsZWxTdHJl YW1zIjowfSwidG9nZ28iOnsic2tpcEFkdmVydGlzaW5nIjpmYW xzZX19LCJjbGllbnRBZGRyZXNzIjoiNzkuMjM2LjcwLjEwIn0. nIyoD5V4AZKHMIUrdogMHGJH3Rl0MgftbXip5MSaGGUQr5iNkS QiCCQGUhZcjKWALq0Qc-ovGvi7NATu4FWmigwT73-A3fACFMdjvJQR8kV4eTe0uiBC5_R2TWzv14YNclUtWPhw-Wcfmr-Y_qfezMFbvd3OVnnoqGMo-BZRqVs9jBzqA4AwOstT0rCJ85i1jHoOVj348MkD9EBcSc0JqVa O1uXv-H_T2_q5eFeiM5I1Zel4I-ICYGA7lUuW4eeXDUFAPs7y9bhE_T1UUmO_MX65BnIlflE-CZKiX4M_kkpAaPJzLIKc5gKLcTBgjSs3u7Sa0tZqBPVxWvFFUD hjbQ
    Quote Quote  
  10. Code:
    heiko@Worf:~/Unter uns$ python3 /home/heiko/Downloads/WKS-KEYS/l3.py
    
    PSSH: AAAAUHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAADAIARIgNjVjMzQ5Y2M4MTVmYTEzMzMzNTEwNjY0YjNiZDFmN2IiBjkyODIyOSoCU0Q=
    License URL: https://licensing.bitmovin.com/licensing
    unable to parse license - check protobufs
    
    Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
    heiko@Worf:~/Unter uns$
    Quote Quote  
  11. Code:
    heiko@Worf:~/Unter uns$ python3 /home/heiko/Downloads/WKS-KEYS/l3.py
    
    PSSH: AAAAUHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAADAIARIgNjVjMzQ5Y2M4MTVmYTEzMzMzNTEwNjY0YjNiZDFmN2IiBjkyODIyOSoCU0Q=
    License URL: https://widevine.tvnow.de/index/license
    
    --key 65c349cc815fa13333510664b3bd1f7b:b24671b4646c94791baa1e78da5f58f4
    Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
    heiko@Worf:~/Unter uns$
    Finally it worked. I copied x-auth-token directly from https://curlconverter.com/ into headers.py.

    I just don't understand why it doesn't work if I copy x-auth-token over from Firefox. I mean I'll highlight that and copy it. That's exactly how I add this to headers.py.

    I'm still trying out one or two examples. To be sure.

    Best regards,
    Heiko
    Quote Quote  
  12. Something is really wrong with your setup. Delete the crap you have and unzip the attached archive. Install the required modules from "requirements.txt" (python3 -m pip install -U pyinstaller -r requirements.txt). If your OS doesn't allow this, create a virtual env.

    The archive has three files in it: the mentioned requirements.txt, a (hopefully) working cdm in wvd format for the official pywidevine module, and the keys script, with comments in the top what to fill out.

    Edit: ok, if it now works for you, you might ignore this post. I still recommend you try the "Brave" browser.
    Quote Quote  
  13. But what does the warning after the key mean?
    Quote Quote  
  14. Originally Posted by Obo View Post
    Something is really wrong with your setup. Delete the crap you have and unzip the attached archive. Install the required modules from "requirements.txt" (python3 -m pip install -U pyinstaller -r requirements.txt). If your OS doesn't allow this, create a virtual env.

    The archive has three files in it: the mentioned requirements.txt, a (hopefully) working cdm in wvd format for the official pywidevine module, and the keys script, with comments in the top what to fill out.

    Edit: ok, if it now works for you, you might ignore this post. I still recommend you try the "Brave" browser.

    OK, many thanks. Now I'll try it the way I managed it.

    Best regards,
    Heiko
    Quote Quote  
  15. So, I tested a series (6 episodes). It worked, I just had to change the x-auth token for each video.

    Best regards,
    Heiko
    Quote Quote  
  16. Good day,

    I wanted to try WKS-Keys l3.py under Win10 too. I installed Python 3.12.

    Then wanted to start l3.py. If there are error messages, a few modules are missing. I have it with me
    Code:
    pip install <MODULE_NAME>
    Installed.

    Now it still doesn't work with l3.py:
    Code:
    Microsoft Windows [version 10.0.19045.3570]
    (c) Microsoft Corporation. All rights reserved.
    
    C:\Users\Heiko>cd \Users
    
    C:\Users>cd heiko\downloads\wks-keys
    
    C:\Users\Heiko\Downloads\WKS-KEYS>l3.py
    Traceback (most recent call last):
       File "C:\Users\Heiko\Downloads\WKS-KEYS\l3.py", line 14, in <module>
         from pywidevine.L3.cdm import cdm, deviceconfig
       File "C:\Users\Heiko\Downloads\WKS-KEYS\pywidevine\L3\cdm\cdm.py", line 7, in <module>
         from google.protobuf.message import DecodeError
    ModuleNotFoundError: No module named 'google'
    
    C:\Users\Heiko\Downloads\WKS-KEYS>
    I had 'google' installed.

    Best regards,
    Heiko
    Quote Quote  
  17. Originally Posted by Obo View Post
    Something is really wrong with your setup. Delete the crap you have and unzip the attached archive. Install the required modules from "requirements.txt" (python3 -m pip install -U pyinstaller -r requirements.txt). If your OS doesn't allow this, create a virtual env.

    The archive has three files in it: the mentioned requirements.txt, a (hopefully) working cdm in wvd format for the official pywidevine module, and the keys script, with comments in the top what to fill out.

    Edit: ok, if it now works for you, you might ignore this post. I still recommend you try the "Brave" browser.
    Delete the crap you have and unzip the attached archive -> Could someone provide this archive? I cant find it here.
    Quote Quote  
  18. I might have deleted the archive unintentionally - I'll reupload it, just give me a moment - it's here: https://files.videohelp.com/u/306745/wvdkeys.zip

    For just plus.rtl.de there exists a much better alternative here: https://forum.videohelp.com/threads/412390-Download-movie-from-Plus-rtl-de/page2#post2731503
    Quote Quote  
  19. I can't retrieve these keys from cache (except the first one) or using the license from https://widevine.tvnow.de/index/rtlplus. I also don't have the necessary tokens. Does anyone have the missing keys? Thanks in advance

    rtl https://pnowlive-a.akamaized.net/live/rtlhd/dash/rtlhd.mpd kid 57e48b99f3f6d4f13f5c5afdcca084ca key 29379a5e2d3405fad2f5d9cbe92586c3
    vox https://pnowlive-a.akamaized.net/live/voxhd/dash/voxhd.mpd kid fcfb484409cd5e9038302c2867d7c1a8 key ?
    rtl2 https://pnowlive-a.akamaized.net/live/rtl2hd/dash/rtl2hd.mpd kid dbc471fc4c310aab6023f1dd38462e83 key ?
    nitro https://pnowlive-a.akamaized.net/live/nitrohd/dash/nitrohd.mpd kid 343a23cd3dfcf4550194f0528771366c key ?
    ntv https://pnowlive-a.akamaized.net/live/ntvhd/dash/ntvhd.mpd kid f3fd9036ec102684a2289b4e49eda746 key ?
    rtlup https://pnowlive-a.akamaized.net/live/rtluphd/dash/rtluphd.mpd kid 62ca09d12f35268cebf0a81e9c2c320f key ?
    voxup https://pnowlive-a.akamaized.net/live/voxuphd/dash/voxuphd.mpd kid 7eeedc51b7ebdc1aa187f867b40fcf8d key ?
    superrtl https://pnowlive-a.akamaized.net/live/superrtlhd/dash/superrtlhd.mpd kid 7fac43e5f70b758098d2c6c24e9cfec4 key ?
    toggoplus https://pnowlive-a.akamaized.net/live/toggoplushd/dash/toggoplushd.mpd kid a463b86ef4e6a2531e1bc2df142a9db8 key ?
    now https://pnowlive-a.akamaized.net/live/nowhd/dash/nowhd.mpd kid f8300540be72f09691108e480a919fbf key ?
    rtlcrime https://pnowlive-a.akamaized.net/live/rtlcrimehd/dash/rtlcrimehd.mpd kid 35e90b3c97189a93a1121b7702608130 key ?
    rtlpassion https://pnowlive-a.akamaized.net/live/rtlpassionhd/dash/rtlpassionhd.mpd kid 2152f7e7c5e020b7f786a1945a9e7b52 key ?
    rtlliving https://pnowlive-a.akamaized.net/live/rtllivinghd/dash/rtllivinghd.mpd kid 3479b31a0b825f19290d05dc1b2940b0 key ?
    geo https://pnowlive-a.akamaized.net/live/geohd/dash/geohd.mpd kid f4353e4b22b7469eb4740a530296af84 key ?
    Quote Quote  
  20. Member aqzs's Avatar
    Join Date
    Mar 2024
    Location
    Paris
    Search Comp PM
    Originally Posted by Badchip View Post
    I can't retrieve these keys from cache (except the first one) or using the license from https://widevine.tvnow.de/index/rtlplus. I also don't have the necessary tokens. Does anyone have the missing keys? Thanks in advance
    You need a subscription to access to those streams. I can't help without subscription sorry
    Quote Quote  
  21. Member
    Join Date
    Dec 2021
    Location
    england
    Search Comp PM
    rtl https://pnowlive-a.akamaized.net/live/rtlhd/dash/rtlhd.mpd
    Code:
    --key 57e48b99f3f6d4f13f5c5afdcca084ca:29379a5e2d3405fad2f5d9cbe92586c3
    vox https://pnowlive-a.akamaized.net/live/voxhd/dash/voxhd.mpd
    Code:
    --key fcfb484409cd5e9038302c2867d7c1a8:a4873fe758a838b5d31cbeb0e4357ab9
    rtl2 https://pnowlive-a.akamaized.net/live/rtl2hd/dash/rtl2hd.mpd
    Code:
    --key dbc471fc4c310aab6023f1dd38462e83:86763f0030ecd2fd82a8b04d20f7f4b3
    nitro https://pnowlive-a.akamaized.net/live/nitrohd/dash/nitrohd.mpd
    Code:
    --key 343a23cd3dfcf4550194f0528771366c:ad47ec098d7249e45da238adccba45cf
    ntv https://pnowlive-a.akamaized.net/live/ntvhd/dash/ntvhd.mpd
    Code:
    --key f3fd9036ec102684a2289b4e49eda746:2500f807780e95a2fa40ab9e5a72f05b
    rtlup https://pnowlive-a.akamaized.net/live/rtluphd/dash/rtluphd.mpd
    Code:
    --key 62ca09d12f35268cebf0a81e9c2c320f:9e1157686e440db7499cd3deab24dfb2
    voxup https://pnowlive-a.akamaized.net/live/voxuphd/dash/voxuphd.mpd
    Code:
    --key 7eeedc51b7ebdc1aa187f867b40fcf8d:748d2c1a459cf8c8392e96f6a66287f1
    superrtl https://pnowlive-a.akamaized.net/live/superrtlhd/dash/superrtlhd.mpd
    Code:
    --key 7fac43e5f70b758098d2c6c24e9cfec4:4e0cda4a6366c5a4ee9dba08022be4d4
    toggoplus https://pnowlive-a.akamaized.net/live/toggoplushd/dash/toggoplushd.mpd
    Code:
    --key a463b86ef4e6a2531e1bc2df142a9db8:b7ee774343b708fa371c1c590139d357
    now https://pnowlive-a.akamaized.net/live/nowhd/dash/nowhd.mpd
    Code:
    --key f8300540be72f09691108e480a919fbf:09cf6e0deac4734ebd30533c347e9165
    rtlcrime https://pnowlive-a.akamaized.net/live/rtlcrimehd/dash/rtlcrimehd.mpd
    Code:
    --key 35e90b3c97189a93a1121b7702608130:6314305ece1f20cdcd7b3af34542e5db
    rtlpassion https://pnowlive-a.akamaized.net/live/rtlpassionhd/dash/rtlpassionhd.mpd
    Code:
    --key 2152f7e7c5e020b7f786a1945a9e7b52:d9b90f68f8371012555c03c26d6489ba
    rtlliving https://pnowlive-a.akamaized.net/live/rtllivinghd/dash/rtllivinghd.mpd
    Code:
    --key 3479b31a0b825f19290d05dc1b2940b0:360ad4bdad1115458141457416bec8e4
    geo https://pnowlive-a.akamaized.net/live/geohd/dash/geohd.mpd
    Code:
    --key f4353e4b22b7469eb4740a530296af84:de8c428017e29a2f461d13be4bd68671
    Image
    [Attachment 80189 - Click to enlarge]
    Quote Quote  
  22. Thank you very much Iamghost. Did you need a subscription?
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!