r0oth3x49 / acloud-dl

A cross-platform python based utility to download courses from acloud.guru for personal offline use.
MIT License
350 stars 141 forks source link
acloud acloud-dl acloudguru downloader linux osx python windows

GitHub release GitHub stars GitHub forks GitHub issues GitHub license

acloud-dl

A cross-platform python based utility to download courses from acloud.guru for personal offline use.

Capture.png

Note

Features

Extracting Cookies

Requirements

Module Installation

pip install -r requirements.txt

Tested on

Download acloud-dl

You can download the latest version of acloud-dl by cloning the GitHub repository.

git clone https://github.com/r0oth3x49/acloud-dl.git

Usage

Steps before running acloud-dl.py which will list down courses you started

Download a course

python acloud-dl.py -c file_containing_cookie.txt

Download all courses

python acloud-dl.py -c file_containing_cookie.txt -a

Download courses by custom range

python acloud-dl.py -c file_containing_cookie.txt
[1] : Advanced AWS CloudFormation
[2] : AWS Certified Security - Specialty 2020
[3] : AWS ECS - Scaling Docker
[4] : AWS Certified Advanced Networking - Specialty 2020
[5] : LPIC-1_ System Administrator
[6] : Mastering AWS CloudFormation
[?] : provide range (e.g:- 1-3,6) or select course number between (1/6/all/range): 2,4-6

Download course with specific resolution

python acloud-dl.py -c file_containing_cookie.txt -q 720

Download course to a specific location

python acloud-dl.py -c file_containing_cookie.txt -o "/path/to/directory/"

Download course with specific resolution to a specific location

python acloud-dl.py -c file_containing_cookie.txt -q 720 -o "/path/to/directory/"

List down course information

python acloud-dl.py -c file_containing_cookie.txt --info

Advanced Usage


Author: Nasir khan (r0ot h3x49)

usage: acloud-dl.py [-h] [-v] [-c] [-o] [-q] [-i] [-a] [-n] [-e]

A cross-platform python based utility to download courses from acloud.guru for
personal offline use.

General:
  -h, --help       Shows the help.
  -v, --version    Shows the version.

Authentication:
  -c , --cookies   Cookies to authenticate with.

Advance:
  -o , --output    Download to specific directory.
  -q , --quality   Download specific video quality.
  -i, --info       List all lectures with available resolution.
  -a, --all        Download all courses without any prompt (default: false).
  -n, --new        Download only courses that have not already been downloaded (default: false).
  -e, --extension  Rename course lecture video/audio files extension to defined by user. 

Example:
  python acloud-dl.py -c cookies.txt

Docker

The app can be executed within a container to avoid dependency issues. Clone the repository then execute following commands from the root location of the project.

Build Image

docker build -t acloud-dl .

Run Container

Assuming cookie file called cookie.txt and stored in root of project:

docker run -v ${PWD}:/opt/app \
  -u $(id -u ${USER}):$(id -g ${USER}) \
  -it --rm \
  acloud-dl -c cookie.txt

extra options or arguments can be appended as normal.

Please note, if you're using the --output option to specify a specific output directory then ensure that the container has access to these volumes (use additional docker bind-mounts as needed)