Merge branch 'release-1.2.3'
This commit is contained in:
commit
c24006376b
7 changed files with 77 additions and 67 deletions
|
@ -23,7 +23,7 @@
|
|||
"phpunit/phpunit": "~6.5.2",
|
||||
"doctrine/instantiator": "~1.0.0",
|
||||
"ffmpeg/ffmpeg": "4.0.2",
|
||||
"rg3/youtube-dl": "2018.09.10",
|
||||
"rg3/youtube-dl": "2018.11.07",
|
||||
"heroku/heroku-buildpack-php": "*",
|
||||
"anam/phantomjs-linux-x86-binary": "~2.1.1"
|
||||
},
|
||||
|
@ -39,10 +39,10 @@
|
|||
"type": "package",
|
||||
"package": {
|
||||
"name": "rg3/youtube-dl",
|
||||
"version": "2018.09.10",
|
||||
"version": "2018.11.07",
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://github.com/rg3/youtube-dl/archive/2018.09.10.zip"
|
||||
"url": "https://github.com/rg3/youtube-dl/archive/2018.11.07.zip"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
86
composer.lock
generated
86
composer.lock
generated
|
@ -4,7 +4,7 @@
|
|||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "c4f6a7bd1b31e8a6cf1cec103821a820",
|
||||
"content-hash": "9290c3e6ef15fb65892664adfd8f24c2",
|
||||
"packages": [
|
||||
{
|
||||
"name": "aura/session",
|
||||
|
@ -420,16 +420,16 @@
|
|||
},
|
||||
{
|
||||
"name": "mockery/mockery",
|
||||
"version": "1.1.0",
|
||||
"version": "1.2.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/mockery/mockery.git",
|
||||
"reference": "99e29d3596b16dabe4982548527d5ddf90232e99"
|
||||
"reference": "100633629bf76d57430b86b7098cd6beb996a35a"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/mockery/mockery/zipball/99e29d3596b16dabe4982548527d5ddf90232e99",
|
||||
"reference": "99e29d3596b16dabe4982548527d5ddf90232e99",
|
||||
"url": "https://api.github.com/repos/mockery/mockery/zipball/100633629bf76d57430b86b7098cd6beb996a35a",
|
||||
"reference": "100633629bf76d57430b86b7098cd6beb996a35a",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -438,8 +438,7 @@
|
|||
"php": ">=5.6.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpdocumentor/phpdocumentor": "^2.9",
|
||||
"phpunit/phpunit": "~5.7.10|~6.5"
|
||||
"phpunit/phpunit": "~5.7.10|~6.5|~7.0"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
|
@ -482,7 +481,7 @@
|
|||
"test double",
|
||||
"testing"
|
||||
],
|
||||
"time": "2018-05-08T08:54:48+00:00"
|
||||
"time": "2018-10-02T21:52:37+00:00"
|
||||
},
|
||||
{
|
||||
"name": "nikic/fast-route",
|
||||
|
@ -894,12 +893,12 @@
|
|||
"version": "v3.1.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/rinvex/country.git",
|
||||
"url": "https://github.com/rinvex/renamed-country.git",
|
||||
"reference": "e32228ef43f26d3b02296be9454f842c52d492f3"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/rinvex/country/zipball/e32228ef43f26d3b02296be9454f842c52d492f3",
|
||||
"url": "https://api.github.com/repos/rinvex/renamed-country/zipball/e32228ef43f26d3b02296be9454f842c52d492f3",
|
||||
"reference": "e32228ef43f26d3b02296be9454f842c52d492f3",
|
||||
"shasum": ""
|
||||
},
|
||||
|
@ -961,6 +960,7 @@
|
|||
"rinvex",
|
||||
"svg"
|
||||
],
|
||||
"abandoned": "rinvex/countries",
|
||||
"time": "2017-03-07T18:40:20+00:00"
|
||||
},
|
||||
{
|
||||
|
@ -1090,16 +1090,16 @@
|
|||
},
|
||||
{
|
||||
"name": "smarty/smarty",
|
||||
"version": "v3.1.32",
|
||||
"version": "v3.1.33",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/smarty-php/smarty.git",
|
||||
"reference": "ac9d4b587e5bf53381e21881820a9830765cb459"
|
||||
"reference": "dd55b23121e55a3b4f1af90a707a6c4e5969530f"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/smarty-php/smarty/zipball/ac9d4b587e5bf53381e21881820a9830765cb459",
|
||||
"reference": "ac9d4b587e5bf53381e21881820a9830765cb459",
|
||||
"url": "https://api.github.com/repos/smarty-php/smarty/zipball/dd55b23121e55a3b4f1af90a707a6c4e5969530f",
|
||||
"reference": "dd55b23121e55a3b4f1af90a707a6c4e5969530f",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -1139,11 +1139,11 @@
|
|||
"keywords": [
|
||||
"templating"
|
||||
],
|
||||
"time": "2018-04-24T14:53:33+00:00"
|
||||
"time": "2018-09-12T20:54:16+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-ctype",
|
||||
"version": "v1.9.0",
|
||||
"version": "v1.10.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-ctype.git",
|
||||
|
@ -1201,16 +1201,16 @@
|
|||
},
|
||||
{
|
||||
"name": "symfony/process",
|
||||
"version": "v3.4.15",
|
||||
"version": "v3.4.18",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/process.git",
|
||||
"reference": "4d6b125d5293cbceedc2aa10f2c71617e76262e7"
|
||||
"reference": "35c2914a9f50519bd207164c353ae4d59182c2cb"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/process/zipball/4d6b125d5293cbceedc2aa10f2c71617e76262e7",
|
||||
"reference": "4d6b125d5293cbceedc2aa10f2c71617e76262e7",
|
||||
"url": "https://api.github.com/repos/symfony/process/zipball/35c2914a9f50519bd207164c353ae4d59182c2cb",
|
||||
"reference": "35c2914a9f50519bd207164c353ae4d59182c2cb",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -1246,20 +1246,20 @@
|
|||
],
|
||||
"description": "Symfony Process Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2018-08-03T10:42:44+00:00"
|
||||
"time": "2018-10-14T17:33:21+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/yaml",
|
||||
"version": "v3.4.15",
|
||||
"version": "v3.4.18",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/yaml.git",
|
||||
"reference": "c2f4812ead9f847cb69e90917ca7502e6892d6b8"
|
||||
"reference": "640b6c27fed4066d64b64d5903a86043f4a4de7f"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/yaml/zipball/c2f4812ead9f847cb69e90917ca7502e6892d6b8",
|
||||
"reference": "c2f4812ead9f847cb69e90917ca7502e6892d6b8",
|
||||
"url": "https://api.github.com/repos/symfony/yaml/zipball/640b6c27fed4066d64b64d5903a86043f4a4de7f",
|
||||
"reference": "640b6c27fed4066d64b64d5903a86043f4a4de7f",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -1305,7 +1305,7 @@
|
|||
],
|
||||
"description": "Symfony Yaml Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2018-08-10T07:34:36+00:00"
|
||||
"time": "2018-10-02T16:33:53+00:00"
|
||||
},
|
||||
{
|
||||
"name": "zonuexe/http-accept-language",
|
||||
|
@ -1462,16 +1462,16 @@
|
|||
},
|
||||
{
|
||||
"name": "heroku/heroku-buildpack-php",
|
||||
"version": "v143",
|
||||
"version": "v146",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/heroku/heroku-buildpack-php.git",
|
||||
"reference": "1cdd477661d3da7434efe5fedcb42d7b42503b8d"
|
||||
"reference": "a380d44126a056cc5b7daaa0714714e3c888689f"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/heroku/heroku-buildpack-php/zipball/1cdd477661d3da7434efe5fedcb42d7b42503b8d",
|
||||
"reference": "1cdd477661d3da7434efe5fedcb42d7b42503b8d",
|
||||
"url": "https://api.github.com/repos/heroku/heroku-buildpack-php/zipball/a380d44126a056cc5b7daaa0714714e3c888689f",
|
||||
"reference": "a380d44126a056cc5b7daaa0714714e3c888689f",
|
||||
"shasum": ""
|
||||
},
|
||||
"bin": [
|
||||
|
@ -1502,7 +1502,7 @@
|
|||
"nginx",
|
||||
"php"
|
||||
],
|
||||
"time": "2018-08-17T16:27:37+00:00"
|
||||
"time": "2018-11-08T19:23:29+00:00"
|
||||
},
|
||||
{
|
||||
"name": "myclabs/deep-copy",
|
||||
|
@ -2219,10 +2219,10 @@
|
|||
},
|
||||
{
|
||||
"name": "rg3/youtube-dl",
|
||||
"version": "2018.09.10",
|
||||
"version": "2018.11.07",
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://github.com/rg3/youtube-dl/archive/2018.09.10.zip",
|
||||
"url": "https://github.com/rg3/youtube-dl/archive/2018.11.07.zip",
|
||||
"reference": null,
|
||||
"shasum": null
|
||||
},
|
||||
|
@ -2840,16 +2840,16 @@
|
|||
},
|
||||
{
|
||||
"name": "symfony/polyfill-mbstring",
|
||||
"version": "v1.9.0",
|
||||
"version": "v1.10.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-mbstring.git",
|
||||
"reference": "d0cd638f4634c16d8df4508e847f14e9e43168b8"
|
||||
"reference": "c79c051f5b3a46be09205c73b80b346e4153e494"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/d0cd638f4634c16d8df4508e847f14e9e43168b8",
|
||||
"reference": "d0cd638f4634c16d8df4508e847f14e9e43168b8",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/c79c051f5b3a46be09205c73b80b346e4153e494",
|
||||
"reference": "c79c051f5b3a46be09205c73b80b346e4153e494",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -2895,20 +2895,20 @@
|
|||
"portable",
|
||||
"shim"
|
||||
],
|
||||
"time": "2018-08-06T14:22:27+00:00"
|
||||
"time": "2018-09-21T13:07:52+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/var-dumper",
|
||||
"version": "v3.4.15",
|
||||
"version": "v3.4.18",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/var-dumper.git",
|
||||
"reference": "f62a394bd3de96f2f5e8f4c7d685035897fb3cb3"
|
||||
"reference": "ff8ac19e97e5c7c3979236b584719a1190f84181"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/f62a394bd3de96f2f5e8f4c7d685035897fb3cb3",
|
||||
"reference": "f62a394bd3de96f2f5e8f4c7d685035897fb3cb3",
|
||||
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/ff8ac19e97e5c7c3979236b584719a1190f84181",
|
||||
"reference": "ff8ac19e97e5c7c3979236b584719a1190f84181",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -2964,7 +2964,7 @@
|
|||
"debug",
|
||||
"dump"
|
||||
],
|
||||
"time": "2018-07-26T11:19:56+00:00"
|
||||
"time": "2018-10-02T16:33:53+00:00"
|
||||
},
|
||||
{
|
||||
"name": "theseer/tokenizer",
|
||||
|
|
|
@ -422,9 +422,21 @@ class FrontController
|
|||
$body = new Stream($stream);
|
||||
} else {
|
||||
$client = new Client();
|
||||
$stream = $client->request('GET', $video->url, ['stream' => true]);
|
||||
$stream = $client->request(
|
||||
'GET',
|
||||
$video->url,
|
||||
[
|
||||
'stream' => true,
|
||||
'headers' => ['Range' => $request->getHeader('Range')],
|
||||
]
|
||||
);
|
||||
$response = $response->withHeader('Content-Type', $stream->getHeader('Content-Type'));
|
||||
$response = $response->withHeader('Content-Length', $stream->getHeader('Content-Length'));
|
||||
$response = $response->withHeader('Accept-Ranges', $stream->getHeader('Accept-Ranges'));
|
||||
$response = $response->withHeader('Content-Range', $stream->getHeader('Content-Range'));
|
||||
if ($stream->getStatusCode() == 206) {
|
||||
$response = $response->withStatus(206);
|
||||
}
|
||||
$body = $stream->getBody();
|
||||
}
|
||||
if ($request->isGet()) {
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "alltube",
|
||||
"description": "HTML GUI for youtube-dl",
|
||||
"version": "1.2.2",
|
||||
"version": "1.2.3",
|
||||
"author": "Pierre Rudloff",
|
||||
"bugs": "https://github.com/Rudloff/alltube/issues",
|
||||
"dependencies": {
|
||||
|
|
|
@ -1,14 +1,12 @@
|
|||
# Frequently asked questions
|
||||
|
||||
<!-- markdownlint-disable MD026 -->
|
||||
|
||||
## My browser plays the video. How do I download it?
|
||||
## My browser plays the video instead of downloading it
|
||||
|
||||
Most recent browsers automatically play a video
|
||||
if it is a format they know how to play.
|
||||
You can ususally download the video by doing *File > Save to* or *ctrl + S*.
|
||||
You can usually download the video by doing *File > Save to* or *ctrl + S*.
|
||||
|
||||
## Why is [alltubedownload.net](https://alltubedownload.net) so slow?
|
||||
## [alltubedownload.net](https://alltubedownload.net) is too slow
|
||||
|
||||
[alltubedownload.net](https://alltubedownload.net) is hosted on a free [Heroku server](https://www.heroku.com/pricing)
|
||||
so it has low RAM and CPU.
|
||||
|
@ -22,14 +20,14 @@ and you are encouraged to host it yourself.
|
|||
|
||||
See above.
|
||||
|
||||
## How do I change config parameters?
|
||||
## Change config parameters
|
||||
|
||||
You need to create a YAML file called `config.yml` in the `config/` folder.
|
||||
|
||||
See [`config.example.yml`](../config/config.example.yml)
|
||||
for a list of parameters you can set and their default value.
|
||||
|
||||
## How do I enable audio conversion?
|
||||
## Enable audio conversion
|
||||
|
||||
In order to enable audio conversion, you need to add this to your `config.yml` file:
|
||||
|
||||
|
@ -44,7 +42,7 @@ You will also need to install `avconv` on your server:
|
|||
sudo apt-get install libav-tools
|
||||
```
|
||||
|
||||
## How do I deploy AllTube on Heroku?
|
||||
## Deploy AllTube on Heroku
|
||||
|
||||
Create a dyno with the following buildpacks:
|
||||
|
||||
|
@ -61,7 +59,7 @@ PYTHON=/app/.heroku/python/bin/python
|
|||
|
||||
Then push the code to Heroku and it should work out of the box.
|
||||
|
||||
## Why can't I download videos from some websites (e.g. Dailymotion)
|
||||
## I can't download videos from some websites (e.g. Dailymotion)
|
||||
|
||||
Some websites generate an unique video URL for each IP address.
|
||||
When using AllTube, the URL is generated for our server's IP address
|
||||
|
@ -93,7 +91,7 @@ You can work around this by adding this to your `config.yml` file:
|
|||
uglyUrls: true
|
||||
```
|
||||
|
||||
## How do I enable streaming videos through the server?
|
||||
## Enable streaming videos through the server
|
||||
|
||||
You need to add this to your `config.yml` file:
|
||||
|
||||
|
@ -103,7 +101,7 @@ stream: true
|
|||
|
||||
Note that this can use a lot of ressources on your server.
|
||||
|
||||
## I want to download M3U videos
|
||||
## Download M3U videos
|
||||
|
||||
You need to enable streaming (see above).
|
||||
|
||||
|
@ -111,18 +109,18 @@ You need to enable streaming (see above).
|
|||
|
||||
AllTube can rename videos automatically if you enable streaming (see above).
|
||||
|
||||
## I want to download a video that isn't available in my country
|
||||
## Download a video that isn't available in my country
|
||||
|
||||
If the video is available in the server's country,
|
||||
you can download it if you enable streaming (see above).
|
||||
|
||||
## How do I run the Docker image?
|
||||
## Run the Docker image
|
||||
|
||||
```bash
|
||||
docker run -p 8080:80 rudloff/alltube
|
||||
```
|
||||
|
||||
## How do I run Heroku locally?
|
||||
## Run Heroku locally
|
||||
|
||||
You should be able to use `heroku local` like this:
|
||||
|
||||
|
@ -146,7 +144,7 @@ after `heroku local` has finished launching `php-fpm`:
|
|||
chmod 0667 /tmp/heroku.fcgi.5000.sock
|
||||
```
|
||||
|
||||
## How can I download 1080p videos from Youtube?
|
||||
## Download 1080p videos from Youtube
|
||||
|
||||
Youtube distributes HD content in two separate video and audio files.
|
||||
So AllTube will offer you video-only and audio-only formats in the format list.
|
||||
|
@ -156,7 +154,7 @@ You then need to merge them together with a tool like ffmpeg.
|
|||
You can also enable the experimental remux mode
|
||||
that will merge the best video and the best audio format on the fly.
|
||||
|
||||
## I want to convert videos to something other than MP3
|
||||
## Convert videos to something other than MP3
|
||||
|
||||
By default the `convert` option only allows converting to MP3,
|
||||
in order to keep things simple and ressources usage low.
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
{t}Audio only (MP3){/t}
|
||||
</label>
|
||||
<div class="seekOptions">
|
||||
{t}From{/t} <input type="text" placeholder="00:00:00" value="" name="from" />
|
||||
{t}to{/t} <input type="text" placeholder="00:22:30" value="" name="to" />
|
||||
{t}From{/t} <input type="text" pattern="(\d+:)?(\d+:)?\d+(\.\d+)?" placeholder="HH:MM:SS" value="" name="from"/>
|
||||
{t}to{/t} <input type="text" pattern="(\d+:)?(\d+:)?\d+(\.\d+)?" placeholder="HH:MM:SS" value="" name="to"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -173,7 +173,7 @@ class VideoDownloadTest extends TestCase
|
|||
'googlevideo.com',
|
||||
],
|
||||
[
|
||||
'https://www.youtube.com/watch?v=RJJ6FCAXvKg', 22,
|
||||
'https://www.youtube.com/watch?v=RJJ6FCAXvKg', 18,
|
||||
'Heart_Attack_-_Demi_Lovato_'.
|
||||
'Sam_Tsui_Against_The_Current-RJJ6FCAXvKg',
|
||||
'mp4',
|
||||
|
|
Loading…
Reference in a new issue