SafwanLjd / EgyBestCLI

A Command-Line Interface Wrapper For EgyBest; This Project Has Been Moved to GitLab
https://gitlab.com/SafwanLjd/EgyBestCLI
GNU General Public License v3.0
8 stars 3 forks source link

EgyBestCLI

This Project Has Been Discontinued

This Project Has Been Moved to GitLab

This is a simple Command-Line tool that allows you to download media from EgyBest. You can also use this tool to stream media directly without downloading it using the power of the --stdout flag.

This project depends on the PyEgyBest Library that provides a selenium-less solution to interact with EgyBest

Tested on Python versions >= 3.6

Installation

Downloading and Installing The Python Script

git clone "https://gitlab.com/SafwanLjd/EgyBestCLI.git"
cd EgyBestCLI
pip install -r requirements.txt
python ./egybest-cli.py --help

Downloading The Windows Binary

Not Recommended

git clone "https://gitlab.com/SafwanLjd/EgyBestCLI.git"
cd EgyBestCLI/bin
./egybest-cli.exe --help

Usage

What Can This Script Do

Default Behavior

The Script by default:

Examples

Download The Movie "Back to The Future"

egybest-cli --title "Back to The Future"

Download The First Episode of The First Season of The Show "Game of Thrones"

egybest-cli --title "Game of Thrones" -S 1 -E 1

Download All the Episodes of The Third Season of The Show "Peaky Blinders"

egybest-cli --title "Peaky Blinders" -S 3

Play The Third Episode of The Fifth Season of The Show "Black Mirror" in An Embeded Video Player (Doesn't Work on macOS and Wayland)

egybest-cli -t "Black Mirror" --season 5 --episode 3 --watch

Play The Fifth Episode of the Fourth Season of The Show "Mr. Robot" Directly in The MPV Video Player

mpv $(egybest-cli --title "Mr. Robot" -S 4 -E 5 --stdout)

Configuration

There is a single config file which is ~/.config/egybest/egybest-conf.json

Default egybest-conf.json

{
    "mirror": "https://egy.best",

    "quality": {
        "2160": 1,
        "1080": 2,
        "720":  3,
        "480":  4,
        "360":  5,
        "240":  6
    }
}

Quality

Lower Number = Higher Priority

It's set to pick the highest quality available by default.

Mirror

You can set it to a specific EgyBest instance, but these go up and down all the time, the default "mirror" is https://egy.best, which is not actually a mirror, it's just a load balancer that redirects you to a working instance.