udemy-downloader/README.md
2021-05-18 20:33:31 -04:00

76 lines
2.4 KiB
Markdown

# 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](https://discord.gg/5B3XVb4RRX) or use [github issues](https://github.com/Puyodead1/udemy-downloader/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
1. 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` to `keyfile.json`
### Aquire bearer token
- open dev tools
- go to network tab
- in the search field, enter `api-2.0/courses`
- ![Valid udemy api requests](https://i.imgur.com/Or371l7.png)
- click a random request
- locate the `Request Headers` section
- copy the the text after `Authorization`, it should look like `Bearer xxxxxxxxxxx`
- ![bearer token example](https://i.imgur.com/FhQdwgD.png)
- enter this in the `.env` file after `UDEMY_BEARER=`
### Aquire Course ID
- Follow above before following this
- locate the request url field
- ![request url](https://i.imgur.com/EUIV3bk.png)
- copy the number after `/api-2.0/courses/` as seen highlighed in the above picture
- enter this in the `.env` file after `UDEMY_COURSE_ID=`
### Key ID and Key
It is up to you to aquire the key and key id.
- Enter the key and key id in the `keyfile.json`
- ![keyfile example](https://i.imgur.com/wLPsqOR.png)
- ![example key and kid from console](https://i.imgur.com/awgndZA.png)
### Start Downloading
You can now run `python main.py` to start downloading. The course will download to `out_dir`, chapters are seperated into folders.
# 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)