Skip to content
This repository has been archived by the owner on Apr 22, 2023. It is now read-only.

Rudloff/alltube

AllTube Download

HTML GUI for youtube-dl

Screenshot

Setup

From a release package

You can download the latest release packagehere.

You just have to unzip it on your server and it should be ready to use.

From Git

In order to get AllTube working, you need to useComposer:

composer install

This will download all the required dependencies.

You should also ensure that thetemplates_cfolder has the right permissions:

chmod 770 templates_c/

(You need to adapt this to your permission model. You can find more information about thisin the Smarty documentation.)

If your web server is Apache, you need to set theAllowOverridesetting toAllorFileInfo.

Update

When updating from Git, you need to run Composer again:

git pull
composer install

On Heroku

Deploy

On Cloudron

Cloudron is a complete solution for running apps on your server and keeping them up-to-date and secure.

Install

The source code for the package can be foundhere.

Config

If you want to use a custom config, you need to create a config file:

cp config/config.example.yml config/config.yml

PHP requirements

You will need PHP 7.2 (or higher) and the following PHP modules:

  • intl
  • mbstring
  • gmp

Web server configuration

If you want to serve the application under a basepath and/or with a different internal than external port (scenario: nginx->docker setup) Alltube supports the following X-Forwarded headers:

  • X-Forwarded-Host (ex.another.domain)
  • X-Forwarded-Path (ex:/alltube)
  • X-Forwarded-Port (ex:5555)
  • X-Forwarded-Proto (ex:https)

Apache

The following modules are recommended:

  • mod_mime
  • mod_rewrite
  • mod_expires
  • mod_filter
  • mod_deflate
  • mod_headers

Nginx

Here is an example Nginx configuration:

server{
server_namelocalhost;
listen443ssl;

root/var/www/path/to/alltube;
indexindex.php;

access_log/var/log/nginx/alltube.access.log;
error_log/var/log/nginx/alltube.error.log;

types{
text/htmlhtml htm shtml;
text/csscss;
text/xmlxml;
application/x-web-app-manifest+jsonwebapp;
}

# Deny access to dotfiles
location~/\.{
denyall;
}

location/{
try_files$uri/index.php?$args;
}

location~\.php${
try_files$uri/index.php?$args;

fastcgi_paramPATH_INFO$fastcgi_path_info;
fastcgi_paramPATH_TRANSLATED$document_root$fastcgi_path_info;
fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;

fastcgi_passunix:/var/run/php5-fpm.sock;
fastcgi_indexindex.php;
fastcgi_split_path_info^(.+\.php)(/.+)$;
fastcgi_intercept_errorsoff;

fastcgi_buffer_size16k;
fastcgi_buffers416k;

includefastcgi_params;
}
}

Other dependencies

You needffmpeg in order to enable conversions. (Conversions are disabled by default.)

On Debian-based systems:

sudo apt-get install ffmpeg

If your ffmpeg binary is not installed at/usr/bin/ffmpeg,you also need to edit theffmpegvariable inconfig.yml.

Use as a library

TheVideoclass is now available asa separate package so that you can reuse it in your projects.

JSON API

We also provide a JSON API that you can use like this: /json?url=https%3A%2F%2F youtube %2Fwatch%3Fv%3DdQw4w9WgXcQ

It returns a JSON object generated by youtube-dl. You can find a list of all the propertiesin the youtube-dl documentation.

FAQ

Please read theFAQbefore reporting any issue.

License

This software is available under theGNU General Public License.