mirror of
https://cdm-project.com/Download-Tools/udemy-downloader.git
synced 2025-04-29 19:44:26 +02:00
Udemy Downloader with DRM support
NOTE
This program is WIP, the code is provided as-is and i am not held resposible for any legal repercussions resulting from the use of this program.
Support
if you want help using the program, join my discord server or use github issues
License
All code is licensed under the MIT license
Description
Simple and hacky program to download a udemy course, has support for DRM videos but requires the user to aquire the decryption key (for legal reasons).
Requirements
- You would need to download ffmpeg and mp4decrypter from Bento4 SDK and ensure they are in path(typing their name in cmd invokes them).
Usage
quick and dirty how-to
You will need to get a few things before you can use this program:
- Decryption Key ID
- Decryption Key
- Udemy Course ID
- Udemy Bearer Token
Setting up
- rename
.env.sample
to.env
- rename
keyfile.example.json
tokeyfile.json
Aquire bearer token
- open dev tools
- go to network tab
- in the search field, enter
api-2.0/courses
- click a random request
- locate the
Request Headers
section - copy the the text after
Authorization
, it should look likeBearer xxxxxxxxxxx
- enter this in the
.env
file afterUDEMY_BEARER=
Aquire Course ID
- Follow above before following this
- locate the request url field
- copy the number after
/api-2.0/courses/
as seen highlighed in the above picture - enter this in the
.env
file afterUDEMY_COURSE_ID=
Key ID and Key
It is up to you to aquire the key and key id.
Start Downloading
You can now run python main.py
to start downloading. The course will download to out_dir
, chapters are seperated into folders.
Getting an error about "Accepting the latest terms of service"?
- If you are using Udemy business, you must edit
main.py
and changeudemy.com
to<portal name>.udemy.com
Credits
- https://github.com/Jayapraveen/Drm-Dash-stream-downloader - for the original code which this is based on
- https://github.com/alastairmccormack/pywvpssh - For code related to PSSH extraction
- https://github.com/alastairmccormack/pymp4parse/ - For code related to mp4 box parsing (used by pywvpssh)
Description
Languages
Python
80.9%
HTML
18.6%
Dockerfile
0.5%