Commit Graph

312 Commits

Author SHA1 Message Date
Pierre Rudloff 342b8c4a42 Use secure session cookies (fixes #321) 2020-10-21 23:04:29 +02:00
Pierre Rudloff de8c5e5dc7 Convert SessionManager to a factory class 2020-10-21 22:48:05 +02:00
Pierre Rudloff 5b0ee7651b Remove Config dependency on LocaleManager 2020-10-21 22:38:09 +02:00
Pierre Rudloff e9cee39673 Allow manifest in CSP 2020-10-20 23:32:16 +02:00
Pierre Rudloff 0a220d4d8e Move factory classes to a subfolder 2020-10-20 23:29:50 +02:00
Pierre Rudloff 123a6c5ad9 Move middleware to a subfolder 2020-10-20 23:17:22 +02:00
Pierre Rudloff 496ac212e2 Set Link header in PHP so it can work in a subfolder 2020-10-20 23:10:33 +02:00
Pierre Rudloff 4bcf9566ad Improve CSP 2020-10-20 00:57:26 +02:00
Pierre Rudloff f29a61f182 Upgrade pretty-package-versions to 1.5
So we can have a cleaner way to get the root package version
2020-10-20 00:22:34 +02:00
Pierre Rudloff 561b6c8370 Make the CSP compatible with debug tools 2020-10-19 23:59:23 +02:00
Pierre Rudloff e2560cd9cb Code cleanup 2020-10-19 22:29:30 +02:00
Pierre Rudloff da93835ea2 Fix error when X-Forwarded-Path is not defined 2020-10-19 22:20:19 +02:00
bellington3 c5298dd24b
Provide basePath support (#309)
* Provide basePath support

To be able to serve the application via a reverse proxy in a subfolder
smarty needs to be aware of the basepath if any.

* Provide basepath support via X-Forwarded headers

* Fix warnings

* Review adjustments

* Provide support X-Forwarded-Host header

* Use $uri in view factory directly

* Use middleware to set basepath from X-Forwarded-Path header

* Fix invalid type hint in RouterPathMiddleware

* Add "X-Forwarded-Host" to README
2020-10-19 22:18:03 +02:00
Pierre Rudloff 234ecc2c6d Log handled exceptions 2020-10-18 13:20:06 +02:00
Pierre Rudloff 07f19a80f4 Improve fallback error handling 2020-10-18 13:20:06 +02:00
Pierre Rudloff 9becaeaabe Fix uglyUrls 2020-10-18 00:59:19 +02:00
Pierre Rudloff 15636aa435 Stop using a singleton for LocaleManager (#298) 2020-10-17 22:36:03 +02:00
Pierre Rudloff fc6bf472b2 Stop using deprecated constant 2020-10-17 22:18:58 +02:00
Pierre Rudloff 7e2afd8221 Stop using a singleton for Config (#298) 2020-10-17 22:07:42 +02:00
bellington3 83863bd66c
Provide config toggle to disable the 'convert seek' function (#311)
* Provide config toggle to disable the 'convert seek' function in the frontend

* Add convertSeek config option to config.example

* Only send from/to if convertSeek is activated
2020-10-17 14:14:36 +02:00
bellington3 2e8350ce1a
Provide config toggle to set 'audio' conversion on as default (#310)
* Provide config toggle to set 'audio' conversion on as default

* Fix git cherry pick mistake

* Update templates/index.tpl

Co-authored-by: Pierre Rudloff <contact@rudloff.pro>

* Add default audio config option to config.example

Co-authored-by: Pierre Rudloff <contact@rudloff.pro>
2020-09-30 00:07:20 +02:00
Pierre Rudloff 8d15fbdda2 Lint 2020-09-27 16:06:49 +02:00
Pierre Rudloff b6b4dad2ec Custom 404 and 405 error pages 2020-07-15 23:17:23 +02:00
Pierre Rudloff 280618bb6b Use a factory to Config and LocaleManager (see #298) 2020-07-15 23:05:41 +02:00
Pierre Rudloff 96a75cbf14 Log youtube-dl and ffmpeg commands (fixes #297) 2020-07-15 22:52:38 +02:00
Pierre Rudloff b02e255cb4 Avoid magic numbers 2020-07-05 11:22:55 +02:00
Pierre Rudloff 281acf3068 Don't exclude RoboFile.php from grumphp scans (closes #294) 2020-07-02 22:53:15 +02:00
Pierre Rudloff d127964eff Simplify PSR-4 autoload 2020-07-01 22:52:22 +02:00
Pierre Rudloff 683a19b0fb Remove references to avconv
Most distributions now use ffmpeg instead
2020-06-22 23:26:47 +02:00
Pierre Rudloff f90a08e89c Stop installing ffmpeg and phantomjs with Composer
It is convenient but this a the job of the OS package manager
2020-06-22 23:21:22 +02:00
Pierre Rudloff 251fbe48ca Add generator meta with the current version 2020-06-21 15:51:28 +02:00
Pierre Rudloff 5c2823e3f1 Move Video class to a separate library
+ improve error handling
+ youtube-dl update
2020-06-21 15:12:03 +02:00
Pierre Rudloff 672a1a9754 Disable debug mode if dev dependencies are not installed 2020-06-20 14:14:38 +02:00
Pierre Rudloff a79c89aea7 fixup! Add fallback to bestvideo and worstvideo (fixes #288) 2020-06-20 13:39:35 +02:00
Pierre Rudloff 29756cf290 Add fallback to bestvideo and worstvideo (fixes #288) 2020-06-20 13:34:46 +02:00
Pierre Rudloff ad77d029d3 fixup! Detect locales automatically 2020-05-28 00:33:07 +02:00
Pierre Rudloff cb20f4e51d Detect locales automatically 2020-05-28 00:22:30 +02:00
Pierre Rudloff 689264cb35 Fix typo 2020-05-15 21:18:01 +02:00
Pierre Rudloff 7b5e7cb6d9 Disable IDN conversion 2020-05-14 11:55:30 +02:00
0x6470 8f7601edd8
Fix xHamster support, fixes #264 (#276)
* Fix xhamster support

* Send http headers properly

* added spaces

* convert stdObject to array for comparison

Co-authored-by: Pierre Rudloff <contact@rudloff.pro>
2020-05-14 10:59:59 +02:00
Pierre Rudloff e81cbe70be Lint 2020-05-14 00:26:36 +02:00
Pierre Rudloff 1d9a709444 Remove obsolete phpstan rule 2020-05-14 00:25:23 +02:00
Pierre Rudloff 6adc1df213 phpstan update
Better typying
2020-05-13 22:28:05 +02:00
Pierre Rudloff 74db3b9ad0 Update guzzle to 6.5 2020-05-13 21:39:38 +02:00
Pierre Rudloff 71d49ad74f Lint 2020-05-13 21:18:32 +02:00
Pierre Rudloff a478aea3ca Stop using pathinfo (fixes #272)
Because it does not handle UTF-8 filenames correctly
2020-04-09 20:46:14 +02:00
Pierre Rudloff d910c2b47f New Turkish locale (provided by @urasbey) 2020-03-19 10:30:57 +01:00
daCaPo e2d284399a Switch from rg3/youtube-dl to ytdl-org/youtube-dl 2020-03-19 10:12:18 +01:00
Pierre Rudloff 6b6e571b71 Explain that the Video class accepts any youtube-dl format string (see #260) 2020-03-19 10:01:55 +01:00
Pierre Rudloff 09bbe3c196 fixup! Upgrade jawira/case-converter (fixes #262) 2020-02-23 17:30:34 +01:00
Pierre Rudloff 0c18535ac1 Useless parameter 2020-02-23 17:26:21 +01:00
jagub2 c5a8ec7697
add Polish translation 2020-01-25 01:36:09 +01:00
jagub2 2d7e29a526
fix video remuxing 2020-01-24 00:34:40 +01:00
Pierre Rudloff 2f3ab77e8b Stop using grunt and use grumphp and robo instead 2019-11-30 16:34:35 +01:00
Pierre Rudloff 904e18c220 Switch to Symfony 5 2019-11-29 23:15:03 +01:00
Pierre Rudloff cc55fabe14 Remove remaining gettext functions 2019-11-29 22:56:41 +01:00
Pierre Rudloff 850fc80622 Add support for variables in translation (#250) 2019-11-29 22:13:11 +01:00
Pierre Rudloff 7772de5394 Fix tests (#250) 2019-11-28 00:04:05 +01:00
Pierre Rudloff a5bd827d21 Switch to symfony/translation for translations (#250) 2019-11-27 23:15:49 +01:00
Pierre Rudloff 0b1ce90f47 New debug option 2019-11-27 21:41:15 +01:00
Pierre Rudloff 8521b03cc9 Allow every config options to be set with environment variables 2019-11-10 18:14:15 +01:00
Pierre Rudloff 9fc21b2419 fix: always use headers provided by youtube-dl when streaming 2019-10-16 23:00:05 +02:00
Pierre Rudloff a2f5f90e03 fixup! style(phpcs): Switch to PSR-12 2019-10-03 21:41:54 +02:00
Pierre Rudloff 44bf858c35 style(phpcs): Switch to PSR-12
https://www.php-fig.org/psr/psr-12/
2019-10-03 21:24:12 +02:00
Pierre Rudloff 6cd8eeed4a fix: Use cookies provided by youtube-dl
Fixes #225
2019-09-26 21:36:40 +02:00
Pierre Rudloff dcf65cadb0 fix: Make sure array_combine returns an array 2019-06-17 23:19:18 +02:00
Pierre Rudloff d35801d9a0 fixup! feat: Make generic formats dynamic 2019-05-08 19:55:18 +02:00
Pierre Rudloff 43d5cc1dbb feat: Make generic formats dynamic
See #223
2019-05-08 19:49:18 +02:00
Pierre Rudloff 296a5f96b4 fix: Fix YoutubeStream range condition 2019-04-28 21:11:08 +02:00
Pierre Rudloff b61287523d refactor: StreamInterface::close() should not return anything 2019-04-28 15:57:21 +02:00
Pierre Rudloff 5e9768e0e7 fix: Validate config only after the options have been set
To avoid an exception when default options are not valid but the new options are.
2019-04-28 15:52:01 +02:00
Pierre Rudloff 756ff36653 fix: Wrong variable name 2019-04-26 20:38:14 +02:00
Pierre Rudloff a1b401c148 refactor: Use less confusing variable names in YoutubeStream 2019-04-22 21:55:45 +02:00
Pierre Rudloff 7bf2510dd2 test(phpunit): Better tests for streams 2019-04-22 21:53:04 +02:00
Pierre Rudloff 84e9e86d28 style(styleci): Lint 2019-04-22 21:08:36 +02:00
Pierre Rudloff b7bcc24320 fix: Wrong variable name 2019-04-22 21:07:36 +02:00
Pierre Rudloff e13404903b refactor: Move exceptions and streams to seperate namespaces 2019-04-22 21:06:05 +02:00
Pierre Rudloff 1a6ff90eac feat: Split Youtube downloads in smaller chunks
Fixes #217
2019-04-22 20:20:04 +02:00
Pierre Rudloff bba2087a55 style(styleci): Lint 2019-04-22 17:04:59 +02:00
Pierre Rudloff 1387d836dc refactor: New Session class
So that session is shared between classes and does not get overwritten
2019-04-22 17:03:54 +02:00
Pierre Rudloff 3b43018b29 docs: Missing docblocks 2019-04-22 00:05:53 +02:00
Pierre Rudloff 70475f83d4 feat: Add a way to convert an entire playlist
Closes #194
2019-04-21 22:56:43 +02:00
Pierre Rudloff 4db519c2ef fixup! fix: Don't use the $url property 2019-04-21 22:40:54 +02:00
Pierre Rudloff 97a7830196 refactor: Reuse Video::getHttpResponse() where possible 2019-04-21 22:38:27 +02:00
Pierre Rudloff e93ab7ed13 feat: Use ZIP files for playlist archives
It is more widely supported and could be later used for #194
2019-04-21 22:34:45 +02:00
Pierre Rudloff 226f1b8380 fix: Don't use the $url property
It is not reliable
2019-04-21 22:20:05 +02:00
Pierre Rudloff 3ca84e144e refactor: We don't need this check anymore 2019-04-21 21:36:14 +02:00
Pierre Rudloff 61cb73dc59 refactor: Fix some types and unused variables 2019-04-21 19:51:16 +02:00
Pierre Rudloff dc4eafe33f docs: Document magic properties 2019-04-21 19:10:37 +02:00
Pierre Rudloff 51eaf192b1 refactor: Don't mix static and dynamic methods 2019-04-21 18:53:23 +02:00
Pierre Rudloff 06a631c892 fixup! refactor: New Video class 2019-04-21 18:35:24 +02:00
Pierre Rudloff 4c9af8ad1d refactor: New Video class
The news class provides a cleaner object-oriented logic

BREAKING CHANGE: The VideoDownload class has been removed and the Config constructor is now private
2019-04-21 18:30:02 +02:00
Pierre Rudloff 3077872517 Typo 2019-04-21 01:05:19 +02:00
Pierre Rudloff 586f20adb4 style(styleci): Lint 2019-04-21 00:58:04 +02:00
Pierre Rudloff ddc27a8a2c refactor: New PlaylistArchiveVideo class
Cleaner way to handle PlaylistArchiveStream info about videos
2019-04-21 00:56:12 +02:00
Pierre Rudloff f9bf3b8d47 refactor: Use a StreamInterface for PlaylistArchiveStream
It is much cleaner
2019-04-21 00:35:43 +02:00
Pierre Rudloff 07261db27b fix: Don't call PlaylistArchiveStream parent constructor
Because it messes with the output buffer

Fixes #215
2019-04-20 11:27:13 +02:00
Pierre Rudloff 7ab4c55550 docs: Add comments to some tricky parts 2019-04-20 01:19:55 +02:00
Pierre Rudloff 4537b661e1 fix: Close playlist streams correctly 2019-04-20 00:37:49 +02:00
Pierre Rudloff ac3b768b50 refactor(phpstan): Various code improvements 2019-03-31 16:25:17 +02:00