fossq/resolver.php
vdbhb59 6dd5472030 synced
bypass soundclouds recent issues (0243e4edf2) (4f587e32e1)
apache2 doesnt like folders with same name as script  (92eb6ab14d)
2025-12-15 16:23:25 +05:30

66 lines
1.1 KiB
PHP

<?php
$resolver = new resolver();
class resolver{
public const resolvers = [
"sc"
];
public function __construct(){
include "data/config.php";
if(
!isset($_GET["scraper"]) ||
!is_string($_GET["scraper"]) ||
!in_array($_GET["scraper"], self::resolvers)
){
$this->do400("Missing or invalid scraper");
return;
}
if(
!isset($_GET["target"]) ||
!is_string($_GET["target"])
){
$this->do400("Missing or invalid target");
return;
}
$scraper = $_GET["scraper"];
$target = $_GET["target"];
try{
include "resolve/{$scraper}.php";
$resolver = new $scraper();
$link = $resolver->resolve($target);
if(is_string($link)){
header("Location: {$link}");
}
}catch(Exception $error){
$this->do404("Fuck! Failed to resolve URL: " . $error->getMessage());
}
}
public function do400($message){
header("Content-Type: text/plain");
http_response_code(400);
echo $message;
}
public function do404($message){
header("Content-Type: text/plain");
http_response_code(404);
echo $message;
}
}