Skip to content

phpYoutubeDLWebUI is a small web interface for youtube-dl command. Designed to be used on a QNAP NAS, but should work anywhere youtube-dl, ffmpeg, and php can run.

License

Notifications You must be signed in to change notification settings

handerson/phpYoutubeDLWebUI

 
 

Repository files navigation

phpYoutubeDLWebUI

screen capture of the web app running

Description

phpYoutubeDLWebUI is a small web interface for youtube-dl. Designed to be used on a QNAP NAS, but should work anywhere youtube-dl, FFmpeg, and PHP can run.

Features

  • Options can be set in the web ui:
    • download folder location
    • progress log folder location
    • require authenication / set password
    • youtube-dl options:
      • --format
      • --output
      • --proxy
      • --merge-output-format
      • --ffmpeg-location
      • --add-metadata
      • --write-info-json
      • --write-thumbnail
  • Download runs in background
  • Videos can be deleted
  • Videos can be downloaded from the server
  • Dark mode based on prefers-color-scheme media query

Requirements

  • HTTP server that supports PHP
    • such as a QNAP NAS with web server enabled and Python and PHP
  • youtube-dl
  • FFmpeg

How to install?

1. Install youtube-dl

  1. Download youtube-dl file the from the last release here
  2. Copy it in /usr/bin folder, give permissions with chmod 777 youtube-dl

2. Install ffmpeg

  1. Download latest ffmpeg release here according your QNAP model
  2. Install the .qpkg file manually with the App Center
  3. You will find the new version of ffmpeg here: /opt/ffmpeg

3. Install webpages

  1. Clone this repo in your web folder (ex: /share/Web/youtube-dl).
  2. Create the video folder and check the permissions.
  3. Access your page (ie: http://(my_nas_IP)/youtube-dl/index.php)

4. Configuration

  1. The included .htaccess file should block direct browser access to the config.json file.
  2. To update your settings open http://(my_nas_IP)/youtube-dl/index.php in your browser
  3. Navigate to the Settings tab
  4. Edit and Save settings

5. Environment Variables

ALLOWED_DIRECTORIES

ALLOWED_DIRECTORIES is an optional env var that limits the locations that this web app is allowed to write and delete. It must be a comma separated list of aboslute paths.

Examples:

  • /Share/Multimedia,/Share/Web/Logs
  • /Share/Multimedia/Web

CSS Theme

Flatly

License

GPL v3 see LICENSE

About

phpYoutubeDLWebUI is a small web interface for youtube-dl command. Designed to be used on a QNAP NAS, but should work anywhere youtube-dl, ffmpeg, and php can run.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 79.0%
  • CSS 16.7%
  • Hack 4.3%