Project structure change
This commit is contained in:
parent
bd1642957c
commit
837f126021
29 changed files with 298 additions and 254 deletions
35
app/Controllers/ProxyController.php
Normal file
35
app/Controllers/ProxyController.php
Normal 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue