Go to file
2023-02-19 22:02:35 +03:00
images add smaller icon 2023-02-19 01:50:22 +03:00
web_ui add version, handle channel 2023-02-19 22:02:35 +03:00
.gitignore init 2023-02-19 01:32:35 +03:00
COPYING add license 2023-02-19 21:54:05 +03:00
input.css init 2023-02-19 01:32:35 +03:00
Makefile fix make run 2023-02-19 02:36:04 +03:00
package-lock.json init 2023-02-19 01:32:35 +03:00
package.json init 2023-02-19 01:32:35 +03:00
Pipfile init 2023-02-19 01:32:35 +03:00
Pipfile.lock init 2023-02-19 01:32:35 +03:00
README.md upd roadmap 2023-02-19 02:35:45 +03:00
requirements.txt init 2023-02-19 01:32:35 +03:00
tailwind.config.js init 2023-02-19 01:32:35 +03:00

ydl_api_ng Web UI

This is a shitty Web UI for ydl_api_ng — API around yt-dlp.

This UI is written for my personal use and may not have the features you would like to see. I want to gradually expand its capabilities, if there is time for this.

Roadmap

  • Add Dockerfile and docker-compose.yml
  • Handle non-youtube links
    • Twitter
    • Nicovideo
  • Handle unsupported URLs
  • YouTube playlists download
  • Advanced settings
  • Direct link to downloaded video

Installation

I recomment setup with Docker via docker-compose.yml.

Development

Web UI is written on Python in backend and Tailwind CSS for UI.

Frontend

Install Node.js and run in project dir:

npm install --dev

Run Tailwind CSS CLI for autorebuilding style.css:

make css

Backend

Prepare Python virtual environment. Using pipenv:

pipenv install --dev

or:

python3 -m venv env
. env/bin/activate
pip install -r requirements.txt
pip install black pylint

Set YDL_API_HOST environment variable. Put your ydl_api_ng instance URL:

export YDL_API_HOST=http://127.0.0.1:5011

Run Bottle development server (starts router.py with DEBUG):

make run

Format and lint:

make lint