Project structure change

This commit is contained in:
Pablo Ferreiro 2022-01-31 00:02:52 +01:00
parent bd1642957c
commit 837f126021
No known key found for this signature in database
GPG key ID: 41FBCE65B779FA24
29 changed files with 298 additions and 254 deletions

View file

@ -0,0 +1,35 @@
<?php
namespace App\Controllers;
class ProxyController {
const VALID_TIKTOK_DOMAINS = [
"tiktokcdn.com", "tiktokcdn-us.com", "tiktok.com"
];
static private function isValidDomain(string $url) {
$host = parse_url($url, PHP_URL_HOST);
$host_split = explode('.', $host);
return count($host_split) === 3 && in_array($host_split[1] . '.' . $host_split[2], self::VALID_TIKTOK_DOMAINS);
}
static public function stream() {
if (!isset($_GET['url'])) {
die('You need to send a url!');
}
$url = $_GET['url'];
if (!filter_var($url, FILTER_VALIDATE_URL) || !self::isValidDomain($url)) {
die('Not a valid URL');
}
if (isset($_GET['download'])) {
// Download
$downloader = new \Sovit\TikTok\Download();
$downloader->url($url, "tiktok-video", 'mp4');
} else {
// Stream
$streamer = new \Sovit\TikTok\Stream();
$streamer->stream($url);
}
}
}