1
0

resolver.php 1.3 KB

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