https://www.futurly.com/s/preview/courses/blender-architecture#6337f80fe4b05a534f0e3d5a
The entire source code has now been modified. Don't suggest another thread because nothing else will work right now.
Now, how do I obtain the key to download videos from the above URL?
Support our site by donate $5 directly to us Thanks!!!
Try StreamFab Downloader and download streaming video from Netflix, Amazon!
Try StreamFab Downloader and download streaming video from Netflix, Amazon!
+ Reply to Thread
Results 1 to 30 of 196
-
-
more we talk about this site (there are already several threads in this forum about this site) and the more the code changes ...
or you are developer of this site ?? ....
i think it's better not to talk about this site anymore. if you want his videos, BUY THEM !! -
good, that shit took long to change lol, but maybe someone will again post solution soon
-
Why not use some downloaders to solve this problem quickly if you want this video?
-
-
-
you know google ?
type tubedigger and search it instead of asking here < how to use it? >
and stop to ask the same question also to other thread ... -
-
-
hello guys. spka no longer exists.
Last edited by DrQaatil; 10th Nov 2024 at 08:10.
-
try use https://chrome.google.com/webstore/detail/stream-recorder-download/iogidnfllpdhagebkblkgbfijkbkjdmm in RecMode
just checked TubeDigger in RecMode works fine -
I've been looking into this as a JS dev and I've sucessfully figured out how to download videos from the Spayee platform - got it working in a custom python script.
First, find the Course ID, which is in this line of script on the page:
Code:coursePlayer.init("6319d189e4b0ce4578316957", "Preview", "", true, false, "normal", "", 0);
Code:document.body.outerHTML.split(`coursePlayer.init("`)[1].split(`"`)[0]
Then, find the ID of the video itself - you can either inspect element the sidebar and find the selected content page, then look at it's data-id, or you can run this line of JS code below to get the selected video's ID, or look for a URL like this in the network tab
Code:https://<whatever.com>/s/preview/courses/<course ID>/videos/6337f80fe4b05a534f0e3d5a/get
Or, run this JS Code on the page to get the current video's ID:
Code:document.querySelector("div.courseSubItem.enabled-true.selected").getAttribute("data-id")
Code:62313734323630386634656538646135
Code:Hex decoded: b1742608f4ee8da5
Now you can connect to this endpoint, which is an API that gives you the m3u8 URL (If it is a paid course, you will need to be send a request with your login cookie)
Code:https://<whatever.com>/s/preview/courses/<course ID>/videos/<video ID>/get
Code:{ "_id": "6337f80fe4b05a534f0e3d5a", "spayee:resource": { "spayee:title": "01 Introduction", "spayee:courseAssetType": "video", "spayee:type": "upload", "spayee:underProcess": false, "spayee:completed": true, "spayee:status": "Completed", "spayee:previewUrl": "assets/videos/6197321b0cf23d7cc6e572e1/2022/10/01/6337f80fe4b05a534f0e3d5a/6337f80fe4b05a534f0e3d5a", "spayee:coverVersion": 3, "isCaption": false, "spayee:allowWatermark": true, "spayee:autoplay": true, "spayee:availability": "always", "spayee:context": "", "spayee:description": "", "spayee:isContextHtml": false, "spayee:isDescriptionHtml": false, "spayee:tags": [ "" ], "spayee:totalTime": 13.14, "spayee:progress": 100, "spayee:streamUrl": "https://d2qny97nu4rj64.cloudfront.net/spees/w/o/6197321b0cf23d7cc6e572e1/v/6337f80fe4b05a534f0e3d5a/u/pu/t/87bb35a36b01e0943ef12fa4e6f5ef7c/p/assets/videos/6197321b0cf23d7cc6e572e1/2022/10/01/6337f80fe4b05a534f0e3d5a/index.m3u8" }, "drmPlayerSupport": false, "response": true }
In this URL, the element after "/t" (87bb35a36b01e0943ef12fa4e6f5ef7c in this case) is the only bit that changes per video, and this is based on your session ID (this only really matters if you are trying to download a paid course, but it means that when you log in on one browser, the old /t/ value will be invalidated and a new one will be generated, along with the apkId - the apkId and the URL have to match - you can no longer use the old one as it will lead you to getting an incorrect /k/timestamp key for m3u8 decryption later on - you must make sure the cookie you send to this endpoint is of your latest login).
Code:https://d2qny97nu4rj64.cloudfront.net/spees/w/o/6197321b0cf23d7cc6e572e1/v/6337f80fe4b05a534f0e3d5a/u/pu/t/87bb35a36b01e0943ef12fa4e6f5ef7c/p/assets/videos/6197321b0cf23d7cc6e572e1/2022/10/01/6337f80fe4b05a534f0e3d5a/index.m3u8
Code:https://d2qny97nu4rj64.cloudfront.net/spees/w/o/6197321b0cf23d7cc6e572e1/v/6337f80fe4b05a534f0e3d5a/u/pu/t/87bb35a36b01e0943ef12fa4e6f5ef7c/p/assets/videos/6197321b0cf23d7cc6e572e1/2022/10/01/6337f80fe4b05a534f0e3d5a/k/timestamp
Code:def _decrypt_key(data, apkid): tmp1 = data[0:16] tmp2 = data[32:48] dec1 = AES.new(bytes.fromhex(apkid),AES.MODE_ECB) tmp3 = dec1.decrypt(tmp1) dec2 = AES.new(tmp3,AES.MODE_ECB) return dec2.decrypt(tmp2)
For my script, I downloaded the key file and then all the chunks (.ts), then replaced each chunk with the full disk path
example:
Code:#EXT-X-KEY:METHOD=AES-128,URI="k/timestamp",IV=0x496daa1c6914000e408c65cead91fc29 becomes #EXT-X-KEY:METHOD=AES-128,URI="C:\Users\f1shy\Desktop\dltesting\key.bin",IV=0x496daa1c6914000e408c65cead91fc29 hls_2M_003.ts becomes C:\Users\f1shy\Desktop\dltesting\video\hls_2M_003.ts
-
Wow, this is really great and huge work.
I have to say this is really splendid. Thank you @f1shy-dev -
i am stuck on this, However, this key itself is also encrypted, using the apkId value. You can decrypt it with this python code, where data is the 48 bytes you get from "k/timestamp" endpoint, and apkid is apkid (like 62313734323630386634656538646135)
Code:def _decrypt_key(data, apkid): tmp1 = data[0:16] tmp2 = data[32:48] dec1 = AES.new(bytes.fromhex(apkid),AES.MODE_ECB) tmp3 = dec1.decrypt(tmp1) dec2 = AES.new(tmp3,AES.MODE_ECB) return dec2.decrypt(tmp2)
I cant get the data from timestamp value, please help -
@swappyison Use this:
Code:import binascii from Crypto.Cipher import AES with open("timestamp", "rb") as file: data = file.read() apkid = '62313734323630386634656538646135' def _decrypt_key(data, apkid): tmp1 = data[0:16] tmp2 = data[32:48] dec1 = AES.new(bytes.fromhex(apkid),AES.MODE_ECB) tmp3 = dec1.decrypt(tmp1) dec2 = AES.new(tmp3,AES.MODE_ECB) return dec2.decrypt(tmp2) result = _decrypt_key(data, apkid) hex_result = binascii.hexlify(result) print(hex_result.decode())
Then run this script in the CMD window. In the screenshot below, I renamed it as "apkid.py", the result will be very clean, it's just the key to decrypt the video and the audio.
[Attachment 72888 - Click to enlarge]
Be aware that you can make this line
Code:apkid = '62313734323630386634656538646135'
Code:apkid = input('\napkid: ')
-
Hi thank you so much I got the keys, however i ran into another problem, downloading from ./N_m3u8DL-RE gave me this error.
Code:./N_m3u8DL-RE -M format=mp4 --key "https://d2qny97nu4rj64.cloudfront.net/spees/w/o/6197321b0cf23d7cc6e572e1/v/6337f80fe4b05a534f0e3d5a/u/pu/t/87bb35a36b01e0943ef12fa4e6f5ef7c/p/assets/videos/6197321b0cf23d7cc6e572e1/2022/10/01/6337f80fe4b05a534f0e3d5a/index.m3u8" --save-name ge.mp4 ERROR: Specified key is not a valid size for this algorithm.
-
sorry i had typed this, ./N_m3u8DL-RE -M format=mp4 --key 2aac616013f1877619af8ac01abff0a6 "https://d2qny97nu4rj64.cloudfront.net/spees/w/o/6197321b0cf23d7cc6e572e1/v/6337f80fe4b05a534f0e3d5a/u/pu/t/87bb35a36b01e0943ef12fa4e6f5ef7c/p/assets/videos/6197321b0cf23d7cc6e572e1/2022/10/01/6337f80fe4b05a534f0e3d5a/index.m3u8" --save-name ge.mp4
and the same error -
-
i am so sorry, could you please suggest me the corrected command.
thanks in advance -
Similar Threads
-
howto deal with HLS 128 bit aes encrypted - the hard one
By code47 in forum Video Streaming DownloadingReplies: 63Last Post: 28th Dec 2023, 08:45 -
How do I download AES encrypted video streamed over HLS?
By Videogamer555 in forum Video Streaming DownloadingReplies: 1Last Post: 20th Jul 2022, 08:03 -
Help downloading AES-encrypted HLS video stream
By Woodswolf in forum Video Streaming DownloadingReplies: 26Last Post: 25th May 2019, 14:20 -
Help me with AES encrypted HLS downloading ?
By shraman in forum Video Streaming DownloadingReplies: 0Last Post: 30th Jul 2018, 06:54 -
Help downloading AES-encrypted HLS video stream
By vidder in forum Video Streaming DownloadingReplies: 3Last Post: 4th Jul 2018, 17:24