A php based utility to download courses from Thinkific based sites like PacktPub for personal offline use.
If you want to support the project, consider buying me some coffee for motivation!
!NEW! Thinki-Parser v0.0.1 Experimental Support Added
!FIX! "wistia" and "videoproxy" Lesson Downloads Fixed!
!HOT! Quality Selection for Video Downloads!
!HOT! Presentation Downloads with FFMPEG support to merge audio and video files!
!NEW! FFMPEG Support in Docker Image!
- Clone this repo or download the zip file.
- If you have PHP >= 7.4.13 installed locally in your system, you can use this script directly. Skip to step 4(b).
- Install Docker: docker.com, and ffmpeg: ffmpeg.org. (ffmpeg is optional, but recommended for merging audio and video files of presentations)
- (a)
For Docker Method, create or modify existing .env file in the root directory of the project and add the following lines:
COURSE_LINK=""
# If using selective download, add the following line and add the path of course data file downloaded from Thinki-Parser
COURSE_DATA_FILE=""
# Watch YouTube video to know how to get the client date and cookie data
CLIENT_DATE=""
COOKIE_DATA=""
# Set the video download quality. Default is 720p.
# Available Options: "Original File", "1080p", "720p", "540p", "360p", "224p"
VIDEO_DOWNLOAD_QUALITY="720p"
If you want to merge audio and video files of presentations, install ffmpeg and set the following flag to true in config.php file, modify the following lines:
$FFMPEG_PRESENTATION_MERGE_FLAG = true;
Follow the video to set cookie data and client date in the .env file.
- (b)
For Direct Method, edit config.php file and modify :
$clientdate = "PASTE CLIENT DATE HERE";
$cookiedata = "PASTE COOKIE DATA HERE";
// Set the video download quality. Default is 720p.
// Available Options: "Original File", "1080p", "720p", "540p", "360p", "224p"
$video_download_quality = "720p";
// Set the following flag to true if you want to merge audio and video files of presentations
$FFMPEG_PRESENTATION_MERGE_FLAG = true;
Updated Video :
https://www.youtube.com/watch?v=owi-cOcpceI
- $COURSE_LINK FORMAT :
https://URL-OF-WEBSITE/api/course_player/v2/courses/COURSE-NAME-SLUG
- Run the following command in the root directory of the project:
If using docker, run:
docker-compose up
If using direct script, run:
php thinkidownloader3.php LINK_HERE
For selective downloads, please checkout Thinki-Parser v0.0.1 Experimental Support and generate course data file.
Then pass --json flag and file path of course data file.
Also, please change .env file accordingly.
If using docker, run (without ffmpeg):
docker-compose -f compose.selective.yaml up
If using direct script, run:
php thinkidownloader3.php --json COURSE_DATA_FILE_PATH
DISCLAIMER: This script only downloads enrolled courses from thinkific based website. Owner of this repository is not responsible for any misuse if you share your credentials with strangers.
- Notes
- Videos
- Shared Files
- Quiz with Answers
- Presentations PDFs or PPTs (Added FFMPEG support to merge audio and video files)
- Discussions Page
- Surveys
- Assignments
- PHP v7.4.13 (cli) (built: Nov 24 2020 12:43:32) ( ZTS Visual C++ 2017 x64 )
- Ubuntu, CentOS 7, Windows
- Docker
- FFmpeg
If you like this work, consider buying me a coffee!
Thank you to all the contributors and supporters :)
- GiorgioG
- Gbemi
- Eric
- Pablo
- Philip
- AlienFever
- Ahmad
- Chris
- Eddie
- ΛLΛΠ
- Lan K.
- David
- Hassan
- Emmanuel
- Michael
- Kingsley
- Andrew
- Paras
- Thinker
- Alex