1
0

resolver.php 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <?php
  2. $resolver = new resolver();
  3. class resolver{
  4. public const resolvers = [
  5. "sc"
  6. ];
  7. public function __construct(){
  8. include "data/config.php";
  9. if(
  10. !isset($_GET["scraper"]) ||
  11. !is_string($_GET["scraper"]) ||
  12. !in_array($_GET["scraper"], self::resolvers)
  13. ){
  14. $this->do400("Missing or invalid scraper");
  15. return;
  16. }
  17. if(
  18. !isset($_GET["target"]) ||
  19. !is_string($_GET["target"])
  20. ){
  21. $this->do400("Missing or invalid target");
  22. return;
  23. }
  24. $scraper = $_GET["scraper"];
  25. $target = $_GET["target"];
  26. try{
  27. include "resolve/{$scraper}.php";
  28. $resolver = new $scraper();
  29. $link = $resolver->resolve($target);
  30. if(is_string($link)){
  31. header("Location: {$link}");
  32. }
  33. }catch(Exception $error){
  34. $this->do404("Fuck! Failed to resolve URL: " . $error->getMessage());
  35. }
  36. }
  37. public function do400($message){
  38. header("Content-Type: text/plain");
  39. http_response_code(400);
  40. echo $message;
  41. }
  42. public function do404($message){
  43. header("Content-Type: text/plain");
  44. http_response_code(404);
  45. echo $message;
  46. }
  47. }