Online PHP and Javascript Decoder decode hidden script to uncover its real functionality


Show other level

namespace GDPlayer\Helper;
	 use GDPlayer\{
	BinFile, Config, Core, FileStream, InstanceCache, Maxmind, Security
};
	 use GDPlayer\Helper\{
	Misc, Sources, StreamSetter
};
	 abstract class Stream extends StreamSetter {
	 private Security $security;
	 private \CurlHandle|null $ch = null;
	 private string $cacheMode = "php";
	 private int $cacheTimeout = 3600;
	 private int $contentLength = 0;
	 private array $defaultHeaders = [];
	 private string $rangeBytes = '';
	 private string $tmpCacheFile = '';
	 private string $keyTotalLength = '';
	 private int $start = 0;
	 private int $end = 0;
	 private int $totalLength = 0;
	 private string $vHost = '';
	 private string $vID = '';
	 private string $vURL = '';
	 private array $config = [];
	 protected string $contentType = "application/octet-stream";
	 protected bool $isLive = false;
	 protected string $copyrightText = "GDPlayer (c) 2020~ | gdplayer.to | @gdplayerto";
	 protected string $cacheFile = '';
	 protected array $binExtensions = [];
	 protected $fpChunk = false;
	 protected bool $isApple = false;
		 public function __construct(string $vHost = '', string $vID = '', string $url = '') {
		 goto Enk66;
		 RFOq7: $this->ampQry = "&
		";
		 goto ovJKh;
		 iQSJQ: $this->security = new Security();
		 goto ESbVu;
		 ovJKh: QffPn: goto yNWOE;
		 vHVa6: ny6uS: goto WEx2E;
		 tFqD2: $this->keyTotalLength = "filesize_" . createHash($this->vURL);
		 goto xYTxg;
		 TXn0W: LkeQk: goto Nix0o;
			 Nix0o: if (!$this->isMPD) {
			 goto QffPn;
			 
		}
		 goto RFOq7;
		 WEx2E: $this->responseHeaders[] = "Content-Disposition: " . $type;
		 goto m0HZz;
		 Y0VvY: i4RaZ: goto hnN9c;
		 JVklr: $rateLimitHeaders = Misc::bypassRateLimit(Maxmind::getIP());
		 goto p8nC8;
		 L8UQJ: $this->cacheTimeout = (new Core())->getTimeout($vHost);
		 goto AFd6P;
		 Q1Ke1: V4ILa: goto IPjhV;
		 ESbVu: $this->vHost = $vHost;
		 goto l1087;
		 Kp46X: $this->responseHeaders = $this->defaultHeaders;
		 goto tFqD2;
			 fQZSK: if (validateUrl($this->vURL)) {
			 goto i4RaZ;
			 
		}
		 goto EDUgK;
		 btXwR: $cleanUrl = (string) preg_replace("/%2[fF]$/", '', $url, 1);
		 goto ANbwx;
		 cEzJH: $type = "inline";
		 goto mJjDK;
		 hnN9c: @ini_set("output_buffering", "off");
		 goto otFu4;
		 gED_1: $this->requestHeaders[] = "Host: " . Misc::getHostOrigin($this->vURL);
		 goto cEzJH;
		 NP6lO: yA5qT: goto Ac4JF;
			 Tonmy: if (!in_array($this->vHost, BinFile::getCloudflareHosts(), true)) {
			 goto fW7EE;
			 
		}
		 goto JVklr;
		 Rh9jz: $this->binExtensions = BinFile::getCustomExtensions();
		 goto L8UQJ;
		 EDUgK: redirectTo(BASE_URL . "404");
		 goto Y0VvY;
		 gJZa5: $type = "attachment;
		filename="" . $this->title . """;
		 goto vHVa6;
		 otFu4: @ini_set("zlib.output_compression", false);
		 goto Guzi9;
		 Enk66: session_write_close();
		 goto btXwR;
		 xYTxg: $this->getRangeRequest();
		 goto Tonmy;
		 Guzi9: $this->isApple = isAppleProduct();
		 goto iQSJQ;
		 KnSAf: $this->vURL = (string) str_replace("_2f_", "%2F", $cleanUrl);
		 goto fQZSK;
			 p8nC8: foreach ($rateLimitHeaders as $header) {
			 $this->requestHeaders[] = $header;
			 iKOUs: 
		}
		 goto Q1Ke1;
		 VERJn: $this->cacheMode = $this->config["cache_mode"];
		 goto NP6lO;
		 Ac4JF: $this->defaultHeaders = corsResponseHeaders(validateBoolean($this->config["disable_validation"] ?? false));
		 goto Kp46X;
			 AFd6P: if (empty($this->config["cache_mode"])) {
			 goto yA5qT;
			 
		}
		 goto VERJn;
		 yNWOE: $this->config = Config::getMulti(["disable_validation", "cache_mode", "enable_cache_file", "production_mode"]);
		 goto Rh9jz;
			 cI3vz: if (!($this->vHost === "rumble")) {
			 goto LkeQk;
			 
		}
		 goto a1z_Q;
			 mJjDK: if (!validateBoolean($_GET["dl"] ?? false)) {
			 goto ny6uS;
			 
		}
		 goto gJZa5;
		 l1087: $this->vID = $vID;
		 goto cI3vz;
		 a1z_Q: $this->vURL = str_replace(["%2F", "%2f"], "/", $this->vURL);
		 goto TXn0W;
		 ANbwx: $cleanUrl = (string) rtrim($cleanUrl, " /\\xa
	\x0?&#");
		 goto KnSAf;
		 IPjhV: fW7EE: goto gED_1;
		 m0HZz: 
	}
	 

namespace GDPlayer\Helper;
	 use GDPlayer\{
	BinFile, Config, Core, FileStream, InstanceCache, Maxmind, Security
};
	 use GDPlayer\Helper\{
	Misc, Sources, StreamSetter
};
	 abstract class Stream extends StreamSetter {
	 private Security $security;
	 private \CurlHandle|null $ch = null;
	 private string  private int $cacheTimeout = 3600;
	 private int $contentLength = 0;
	 private array $defaultHeaders = [];
	 private string $rangeBytes = '';
	 private string $tmpCacheFile = '';
	 private string $keyTotalLength = '';
	 private int $start = 0;
	 private int $end = 0;
	 private int $totalLength = 0;
	 private string $vHost = '';
	 private string $vID = '';
	 private string $vURL = '';
	 private array $config = [];
	 protected string $contentType = "application/octet-stream";
	 protected bool $isLive = false;
	 protected string $copyrightText = "GDPlayer (c) 2020~ | gdplayer.to | @gdplayerto";
	 protected string $cacheFile = '';
	 protected array $binExtensions = [];
	 protected $fpChunk = false;
	 protected bool $isApple = false;
		 public function __construct(string $vHost = '', string $vID = '', string $url = '') {
		 goto Enk66;
		 RFOq7: $this->ampQry = "&
		";
		 goto ovJKh;
		 iQSJQ: $this->security = new Security();
		 goto ESbVu;
		 ovJKh: QffPn: goto yNWOE;
		 vHVa6: ny6uS: goto WEx2E;
		 tFqD2: $this->keyTotalLength = "filesize_" . createHash($this->vURL);
		 goto xYTxg;
		 TXn0W: LkeQk: goto Nix0o;
			 Nix0o: if (!$this->isMPD) {
			 goto QffPn;
			 
		}
		 goto RFOq7;
		 WEx2E: $this->responseHeaders[] = "Content-Disposition: inline";
		 goto m0HZz;
		 Y0VvY: i4RaZ: goto hnN9c;
		 JVklr: $rateLimitHeaders = Misc::bypassRateLimit(Maxmind::getIP());
		 goto p8nC8;
		 L8UQJ: $this->cacheTimeout = (new Core())->getTimeout($vHost);
		 goto AFd6P;
		 Q1Ke1: V4ILa: goto IPjhV;
		 ESbVu: $this->vHost = $vHost;
		 goto l1087;
		 Kp46X: $this->responseHeaders = $this->defaultHeaders;
		 goto tFqD2;
			 fQZSK: if (validateUrl($this->vURL)) {
			 goto i4RaZ;
			 
		}
		 goto EDUgK;
		 btXwR: $cleanUrl = (string) preg_replace("/%2[fF]$/", '', $url, 1);
		 goto ANbwx;
		 cEzJH:  goto mJjDK;
		 hnN9c: @ini_set("output_buffering", "off");
		 goto otFu4;
		 gED_1: $this->requestHeaders[] = "Host: " . Misc::getHostOrigin($this->vURL);
		 goto cEzJH;
		 NP6lO: yA5qT: goto Ac4JF;
			 Tonmy: if (!in_array($this->vHost, BinFile::getCloudflareHosts(), true)) {
			 goto fW7EE;
			 
		}
		 goto JVklr;
		 Rh9jz: $this->binExtensions = BinFile::getCustomExtensions();
		 goto L8UQJ;
		 EDUgK: redirectTo(BASE_URL . "404");
		 goto Y0VvY;
		 gJZa5: "inline" = "attachment;
		filename="" . $this->title . """;
		 goto vHVa6;
		 otFu4: @ini_set("zlib.output_compression", false);
		 goto Guzi9;
		 Enk66: session_write_close();
		 goto btXwR;
		 xYTxg: $this->getRangeRequest();
		 goto Tonmy;
		 Guzi9: $this->isApple = isAppleProduct();
		 goto iQSJQ;
		 KnSAf: $this->vURL = (string) str_replace("_2f_", "%2F", $cleanUrl);
		 goto fQZSK;
			 p8nC8: foreach ($rateLimitHeaders as $header) {
			 $this->requestHeaders[] = $header;
			 iKOUs: 
		}
		 goto Q1Ke1;
		 VERJn: $this->cacheMode = $this->config["cache_mode"];
		 goto NP6lO;
		 Ac4JF: $this->defaultHeaders = corsResponseHeaders(validateBoolean($this->config["disable_validation"] ?? false));
		 goto Kp46X;
			 AFd6P: if (empty($this->config["cache_mode"])) {
			 goto yA5qT;
			 
		}
		 goto VERJn;
		 yNWOE: $this->config = Config::getMulti(["disable_validation", "cache_mode", "enable_cache_file", "production_mode"]);
		 goto Rh9jz;
			 cI3vz: if (!($this->vHost === "rumble")) {
			 goto LkeQk;
			 
		}
		 goto a1z_Q;
			 mJjDK: if (!validateBoolean($_GET["dl"] ?? false)) {
			 goto ny6uS;
			 
		}
		 goto gJZa5;
		 l1087: $this->vID = $vID;
		 goto cI3vz;
		 a1z_Q: $this->vURL = str_replace(["%2F", "%2f"], "/", $this->vURL);
		 goto TXn0W;
		 ANbwx: $cleanUrl = (string) rtrim($cleanUrl, " /\\xa
	\x0?&#");
		 goto KnSAf;
		 IPjhV: fW7EE: goto gED_1;
		 m0HZz: 
	}
	 



© 2023 Quttera Ltd. All rights reserved.