2023-10-04 20:33:58 +00:00
![yt-dlp-web logo ](logo.png )
2023-10-04 13:46:38 +00:00
# yt-dlp-web-api
## This is a socketio based web api for using [yt-dlp](https://github.com/yt-dlp/yt-dlp). The ultimate goal of this library is to provide simple access to yt-dlp's functionality in order to create downloader websites
### See also: [https://gitlab.com/wizdevgirl1/yt-dlp-web-ui](https://gitlab.com/wizdevgirl1/yt-dlp-web-ui) for a premade front end
2023-08-16 16:33:37 +00:00
2023-10-04 03:31:24 +00:00
Requirements:
2023-08-16 16:33:37 +00:00
2023-10-04 03:31:24 +00:00
Either python3 installed locally or docker/podman with compose
2023-08-16 16:33:37 +00:00
2023-10-04 03:31:24 +00:00
First clone this repo
2023-08-16 16:33:37 +00:00
2023-10-04 03:31:24 +00:00
Next, copy .conf.json.example to .conf.json and modify the paremeters to your liking
2023-08-16 16:33:37 +00:00
2023-10-04 03:31:24 +00:00
Parameters:
2023-08-16 16:33:37 +00:00
2023-10-04 03:31:24 +00:00
maxLength: maximum length of videos allowed to download in seconds
2023-08-16 16:33:37 +00:00
2023-10-04 03:31:24 +00:00
maxPlaylistLength: maximum number of videos allowed on playlist to download
2023-08-16 16:33:37 +00:00
2023-10-04 03:31:24 +00:00
maxGifLength: maximum length of gifs in seconds
2023-08-16 16:33:37 +00:00
2023-10-04 03:31:24 +00:00
maxGifResolution: maximum resolution of gifs in pixels
2023-08-16 16:33:37 +00:00
2023-10-04 03:31:24 +00:00
maxLengthPlaylistVideo: maximum length of individual videos on playlists
2023-08-16 16:33:37 +00:00
2023-10-04 03:31:24 +00:00
proxyListURL: url to download proxies from, if not leave as false
2023-08-16 16:33:37 +00:00
2023-10-04 03:31:24 +00:00
url: base url of server
2023-08-16 16:33:37 +00:00
2023-10-04 03:31:24 +00:00
bugcatcher: whether to use a bug catching service
2023-08-16 16:33:37 +00:00
2023-10-04 03:31:24 +00:00
bugcatcherdsn: dsn of bug catching service
2023-08-16 16:33:37 +00:00
2023-10-04 03:31:24 +00:00
allowedorigins: allowed urls of clients
2023-08-16 16:33:37 +00:00
2023-10-04 03:31:24 +00:00
Python:
2023-08-16 16:33:37 +00:00
2023-10-04 03:31:24 +00:00
run:
2023-08-16 16:33:37 +00:00
2023-10-04 03:31:24 +00:00
`pip3 install -r requirement.txt`
2023-08-16 16:33:37 +00:00
2023-10-04 03:31:24 +00:00
`pip3 install --upgrade sentry-sdk`
2023-08-16 16:33:37 +00:00
2023-10-04 03:31:24 +00:00
`bash start.sh`
2023-08-16 16:33:37 +00:00
2023-10-04 03:31:24 +00:00
/
2023-08-16 16:33:37 +00:00
2023-10-04 03:31:24 +00:00
make a downloads folder in the yt-dlp-web directory
2023-08-16 16:33:37 +00:00
2023-10-04 03:31:24 +00:00
`python3 run.py`
2023-08-16 16:33:37 +00:00
2023-10-04 03:31:24 +00:00
Docker/podman compose:
2023-08-16 16:33:37 +00:00
2023-10-04 03:31:24 +00:00
run:
2023-08-16 16:33:37 +00:00
2023-10-04 03:31:24 +00:00
`bash start-docker.sh`
2023-08-16 16:33:37 +00:00
2023-10-04 03:31:24 +00:00
or
2023-08-16 16:33:37 +00:00
2023-10-04 03:31:24 +00:00
`bash start-podman.sh`
2023-08-16 16:33:37 +00:00
2023-10-04 03:31:24 +00:00
depending on whether you have docker compose or podman compose installed
2023-08-16 16:33:37 +00:00
2023-11-18 00:43:02 +00:00
For an example configuration for Apache please refer to [apache.example.conf ](/apache.example.conf ) or [apache.example.mt.conf ](/apache.example.mt.conf ) for multithreading
For more details please read the [docs ](/docs/_build/markdown/index.md ) or the inline comments
2023-08-16 16:33:37 +00:00
2023-10-04 03:31:24 +00:00
Coming soon:
2023-08-16 16:33:37 +00:00
2023-10-04 03:41:49 +00:00
Multi-node functionality
2023-11-18 00:43:02 +00:00
# License
This code is distributed under [GPLv3 ](https://www.gnu.org/licenses/gpl-3.0.en.html )