Web GUI for yt-dlp
Find a file
2020-07-02 21:57:00 +02:00
classes Simplify PSR-4 autoload 2020-07-01 22:52:22 +02:00
config Remove references to avconv 2020-06-22 23:26:47 +02:00
css Stop using grunt and use grumphp and robo instead 2019-11-30 16:34:35 +01:00
i18n Simplify PSR-4 autoload 2020-07-01 22:52:22 +02:00
img Remove Google Cast support since the JS library does not seem to be maintained anymore and it frequently breaks 2017-07-03 10:19:50 +02:00
resources Remove obsolete documentation 2020-06-23 01:05:44 +02:00
templates Add generator meta with the current version 2020-06-21 15:51:28 +02:00
templates_c Add templates_c to repo 2015-06-28 19:53:18 +02:00
tests Remove references to avconv 2020-06-22 23:26:47 +02:00
.dockerignore Docker build 2015-12-04 11:08:47 +01:00
.gitignore Don't include .git folder in Docker image (fixes #281) 2020-06-22 23:56:18 +02:00
.htaccess Check if mod_deflate is enabled (fixes #270) 2020-04-05 16:55:00 +02:00
.travis.yml "composer check-platform-reqs" on CI 2020-06-20 13:44:40 +02:00
app.json Remove CONVERT option on Heroku as ffmpeg will not be available 2020-06-22 23:33:39 +02:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2017-07-30 14:46:41 +02:00
composer.json Use autoload-dev for test classes (fixes #293) 2020-07-01 22:58:26 +02:00
composer.lock Stop installing ffmpeg and phantomjs with Composer 2020-06-22 23:21:22 +02:00
CONTRIBUTING.md docs: Be more consistent and use "AllTube" everywhere 2018-03-19 15:49:22 +01:00
Dockerfile Call check-platform-reqs when building the Docker image 2020-06-23 00:01:55 +02:00
grumphp.yml Remove obsolete phpstan rule 2020-05-14 00:25:23 +02:00
index.php Remove obsolete routes 2020-06-22 22:25:32 +02:00
ISSUE_TEMPLATE.md Add YAML block for config in issue template 2020-04-09 12:55:24 +02:00
LICENSE Create LICENSE 2015-01-07 11:08:17 +01:00
phpunit.xml Simplify PSR-4 autoload 2020-07-01 22:52:22 +02:00
Procfile Use Apache on Heroku 2015-06-04 20:34:41 +02:00
README.md Add Cloudron installation method (#292) 2020-07-02 21:56:23 +02:00
requirements.txt Use Python buildpack in order to have a recent Python version 2016-12-22 13:30:53 +01:00
RoboFile.php Create release package cleanly from a temporary folder (#279) 2020-06-22 23:15:31 +02:00
robots.txt fix: Use HTTPS in robots.txt 2018-06-03 15:45:56 +02:00
runtime.txt Use Python 2.7.17 on Heroku 2019-11-30 17:03:01 +01:00

AllTube Download

Donate using Liberapay

HTML GUI for youtube-dl (alltubedownload.net)

Screenshot

Setup

From a release package

You can download the latest release package here.

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 use Composer:

composer install

This will download all the required dependencies.

You should also ensure that the templates_c folder has the right permissions:

chmod 770 templates_c/

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

If your web server is Apache, you need to set the AllowOverride setting to All or FileInfo.

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 found here.

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

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_name localhost;
        listen 443 ssl;

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

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

        types {
                text/html   html htm shtml;
                text/css    css;
                text/xml    xml;
                application/x-web-app-manifest+json   webapp;
        }

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

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

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

                fastcgi_param     PATH_INFO $fastcgi_path_info;
                fastcgi_param     PATH_TRANSLATED $document_root$fastcgi_path_info;
                fastcgi_param     SCRIPT_FILENAME $document_root$fastcgi_script_name;

                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_intercept_errors off;

                fastcgi_buffer_size 16k;
                fastcgi_buffers 4 16k;

                include fastcgi_params;
        }
}

Other dependencies

You need ffmpeg 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 the ffmpeg variable in config.yml.

Use as a library

The Video class is now available as a 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%2Fwww.youtube.com%2Fwatch%3Fv%3DdQw4w9WgXcQ

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

FAQ

Please read the FAQ before reporting any issue.

License

This software is available under the GNU General Public License.