Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php register_shutdown_function("shutdown"); set_time_limit(0); require "../init.php..
Decoded Output download
<?php
register_shutdown_function("shutdown");
set_time_limit(0);
require "../init.php";
$streaming_block = true;
if (!isset(ipTV_lib::$request["qs"])) {
goto A87f82ad8273650efd2065ecd17280d8;
}
if (!stristr(ipTV_lib::$request["qs"], ":p=")) {
goto C8756961c117a0c6ad273b77cf847622;
}
$$qs = explode(":p=", ipTV_lib::$request["qs"]);
ipTV_lib::$request["password"] = $$qs[1];
ipTV_lib::$request["username"] = substr($$qs[0], 2);
C8756961c117a0c6ad273b77cf847622:
A87f82ad8273650efd2065ecd17280d8:
if (!(!isset(ipTV_lib::$request["extension"]) || !isset(ipTV_lib::$request["username"]) || !isset(ipTV_lib::$request["password"]) || !isset(ipTV_lib::$request["stream"]))) {
$geoip = new Reader(GEOIP2_FILENAME);
$activity_id = 0;
$close_connection = true;
$connection_speed_file = null;
$user_ip = ipTV_streaming::getUserIP();
$user_agent = empty($_SERVER["HTTP_USER_AGENT"]) ? '' : htmlentities(trim($_SERVER["HTTP_USER_AGENT"]));
$external_device = null;
$username = ipTV_lib::$request["username"];
$password = ipTV_lib::$request["password"];
$stream_id = intval(ipTV_lib::$request["stream"]);
$extension = preg_replace("/[^A-Za-z0-9 ]/", '', trim(ipTV_lib::$request["extension"]));
$date = time();
if (!(ipTV_lib::$settings["use_buffer"] == 0)) {
goto dc8333563874fe87ee7b2a026fc6faa5;
}
header("X-Accel-Buffering: no");
dc8333563874fe87ee7b2a026fc6faa5:
header("Access-Control-Allow-Origin: *");
$play_token = empty(ipTV_lib::$request["play_token"]) ? null : ipTV_lib::$request["play_token"];
if ($user_info = ipTV_streaming::GetUserInfo(null, $username, $password, true, false, true, array(), false, $user_ip, $user_agent, array(), $play_token, $stream_id)) {
if (!isset($user_info["mag_invalid_token"])) {
if (!($user_info["bypass_ua"] == 0)) {
goto Eed85ed320f4c0016a5097b3b1e0c5fb;
}
ipTV_streaming::checkGlobalBlockUA($user_agent);
Eed85ed320f4c0016a5097b3b1e0c5fb:
if (!($user_info["is_stalker"] == 1)) {
goto ab84e3827eba3aef61cb991f492d4cdd;
}
if (!(empty(ipTV_lib::$request["stalker_key"]) || $extension != "ts")) {
$stalker_key = base64_decode(urldecode(ipTV_lib::$request["stalker_key"]));
if ($decrypt_key = ipTV_lib::mc_decrypt($stalker_key, md5(ipTV_lib::$settings["live_streaming_pass"]))) {
$d06cc9287212b4dea88b7a36f83aa576 = explode("=", $decrypt_key);
if (!($d06cc9287212b4dea88b7a36f83aa576[2] != $stream_id)) {
if (!($d06cc9287212b4dea88b7a36f83aa576[1] != $user_ip)) {
if (!(time() > $d06cc9287212b4dea88b7a36f83aa576[3])) {
$external_device = $d06cc9287212b4dea88b7a36f83aa576[0];
C2c25fbff8c7c414f7df945db92c2952:
ab84e3827eba3aef61cb991f492d4cdd:
if (!(!is_null($user_info["exp_date"]) && time() >= $user_info["exp_date"])) {
if (!($user_info["admin_enabled"] == 0)) {
if (!($user_info["enabled"] == 0)) {
if (!(empty($user_agent) && ipTV_lib::$settings["disallow_empty_user_agents"] == 1)) {
$geoip_country_code = $geoip->C6a76952B4CeF18F3C98c0e6a9Dd1274($user_ip)["registered_country"]["iso_code"];
$geoip->close();
if (!(!empty($user_info["allowed_ips"]) && !in_array($user_ip, array_map("gethostbyname", $user_info["allowed_ips"])))) {
if (empty($geoip_country_code)) {
goto bef1fd9013398d0b710218789e9475be;
}
$forced_country = !empty($user_info["forced_country"]) ? true : false;
if (!($forced_country && $user_info["forced_country"] != "ALL" && $geoip_country_code != $user_info["forced_country"])) {
if (!(!$forced_country && !in_array("ALL", ipTV_lib::$settings["allow_countries"]) && !in_array($geoip_country_code, ipTV_lib::$settings["allow_countries"]))) {
bef1fd9013398d0b710218789e9475be:
if (!(!empty($user_info["allowed_ua"]) && !in_array($user_agent, $user_info["allowed_ua"]))) {
if (!ipTV_streaming::checkIsCracked($user_ip)) {
if (!isset($user_info["ip_limit_reached"])) {
$streaming_block = false;
if (array_key_exists($extension, $user_info["output_formats"])) {
if (in_array($stream_id, $user_info["channel_ids"])) {
if (!($user_info["isp_violate"] == 1)) {
if (!($user_info["isp_is_server"] == 1)) {
if (!($user_info["max_connections"] != 0)) {
goto F255f17f8c5f46c1147bf16cf510b617;
}
if (empty($user_info["pair_line_info"])) {
goto aa1283c87aa5ac0efd2851249bad45e6;
}
if (!($user_info["pair_line_info"]["max_connections"] != 0)) {
goto f42b88222726df2b9eec5fb033bc5509;
}
if (!($user_info["pair_line_info"]["active_cons"] >= $user_info["pair_line_info"]["max_connections"])) {
goto B5720156bda395b3e99a762cc7523c5b;
}
ipTV_streaming::CloseLastCon($user_info["pair_id"], $user_info["pair_line_info"]["max_connections"]);
B5720156bda395b3e99a762cc7523c5b:
f42b88222726df2b9eec5fb033bc5509:
aa1283c87aa5ac0efd2851249bad45e6:
if (!($user_info["active_cons"] >= $user_info["max_connections"] && $extension != "m3u8")) {
goto e0a45490dcd596cadbe45c76996c8373;
}
ipTV_streaming::CloseLastCon($user_info["id"], $user_info["max_connections"]);
e0a45490dcd596cadbe45c76996c8373:
F255f17f8c5f46c1147bf16cf510b617:
if ($channel = ipTV_streaming::ChannelInfo($stream_id, $extension, $user_info, $user_ip, $geoip_country_code, $external_device, $user_info["con_isp_name"], "live")) {
$playlist = STREAMS_PATH . $stream_id . "_.m3u8";
if (ipTV_streaming::ps_running($channel["pid"], FFMPEG_PATH)) {
goto E1419ce7470abffbe134939de24e84e9;
}
if ($channel["on_demand"] == 1) {
if (ipTV_streaming::CheckPidExist($channel["monitor_pid"], $stream_id)) {
goto Ee6938d9520fba86bd7b945048a08b63;
}
ipTV_stream::startStream($stream_id);
Ee6938d9520fba86bd7b945048a08b63:
goto C4ab1744d3940966d06ba8da7879dc0a;
}
ipTV_streaming::ShowVideo($user_info["is_restreamer"], "show_not_on_air_video", "not_on_air_video_path", $extension);
C4ab1744d3940966d06ba8da7879dc0a:
E1419ce7470abffbe134939de24e84e9:
switch ($extension) {
case "m3u8":
$close_connection = false;
$B1772eb944c03052cd5d180cdee51b89 = 0;
a5783fd272d37bf2cf23d06cadf2c0b5:
if (!(!file_exists($playlist) && true)) {
if (!false) {
if (empty(ipTV_lib::$request["segment"])) {
$ipTV_db->query("SELECT activity_id,hls_end FROM `user_activity_now` WHERE `user_id` = '%d' AND `server_id` = '%d' AND `container` = 'hls' AND `user_ip` = '%s' AND `user_agent` = '%s' AND `stream_id` = '%d'", $user_info["id"], SERVER_ID, $user_ip, $user_agent, $stream_id);
if ($ipTV_db->num_rows() == 0) {
if (!($user_info["max_connections"] != 0)) {
goto E342970ee8061f4d1a87d4316c90c6fe;
}
$ipTV_db->query("UPDATE `user_activity_now` SET `hls_end` = 1 WHERE `user_id` = '%d' AND `container` = 'hls'", $user_info["id"]);
E342970ee8061f4d1a87d4316c90c6fe:
$ipTV_db->query("INSERT INTO `user_activity_now` (`user_id`,`stream_id`,`server_id`,`user_agent`,`user_ip`,`container`,`pid`,`date_start`,`geoip_country_code`,`isp`,`external_device`,`hls_last_read`) VALUES('%d','%d','%d','%s','%s','%s','%d','%d','%s','%s','%s','%d')", $user_info["id"], $stream_id, SERVER_ID, $user_agent, $user_ip, "hls", getmypid(), $date, $geoip_country_code, $user_info["con_isp_name"], $external_device, time());
$activity_id = $ipTV_db->last_insert_id();
goto fe1ec2bc8c62ceae9fe6f8e0d06d6208;
}
$row = $ipTV_db->get_row();
if (!($row["hls_end"] == 1)) {
$activity_id = $row["activity_id"];
$ipTV_db->query("UPDATE `user_activity_now` SET `hls_last_read` = '%d' WHERE `activity_id` = '%d'", time(), $row["activity_id"]);
fe1ec2bc8c62ceae9fe6f8e0d06d6208:
$ipTV_db->close_mysql();
if (!($source = ipTV_streaming::GeneratePlayListWithAuthentication($playlist, $username, $password, $stream_id))) {
goto B2acecf827fcdc79dec47310a788b901;
}
header("Content-Type: application/x-mpegurl");
header("Content-Length: " . strlen($source));
header("Cache-Control: no-store, no-cache, must-revalidate");
echo $source;
B2acecf827fcdc79dec47310a788b901:
die;
}
header($_SERVER["SERVER_PROTOCOL"] . " 403 Forbidden", true, 403);
die;
}
$ipTV_db->close_mysql();
$fe9d0d199fc51f64065055d8bcade279 = STREAMS_PATH . str_replace(array("\", "/"), '', urldecode(ipTV_lib::$request["segment"]));
$ff808659f878dbd58bfa6fabe039f10c = explode("_", basename($fe9d0d199fc51f64065055d8bcade279));
if (!(!file_exists($fe9d0d199fc51f64065055d8bcade279) || $ff808659f878dbd58bfa6fabe039f10c[0] != $stream_id || empty(ipTV_lib::$request["token"]))) {
$token = ipTV_lib::$request["token"];
$A0450eaeae72ee603999aa268ea82b0c = md5(urldecode(ipTV_lib::$request["segment"]) . $user_info["username"] . ipTV_lib::$settings["crypt_load_balancing"] . filesize($fe9d0d199fc51f64065055d8bcade279));
if (!($A0450eaeae72ee603999aa268ea82b0c != $token)) {
$e13ac89e162bcc9913e553b949f755b6 = filesize($fe9d0d199fc51f64065055d8bcade279);
header("Content-Length: " . $e13ac89e162bcc9913e553b949f755b6);
header("Content-Type: video/mp2t");
readfile($fe9d0d199fc51f64065055d8bcade279);
goto a1a191cea5b5ee867ae84b6dda4fbdb2;
}
header($_SERVER["SERVER_PROTOCOL"] . " 403 Forbidden", true, 403);
die;
}
header($_SERVER["SERVER_PROTOCOL"] . " 403 Forbidden", true, 403);
die;
}
die;
}
usleep(500000);
++$B1772eb944c03052cd5d180cdee51b89;
goto a5783fd272d37bf2cf23d06cadf2c0b5;
default:
$ipTV_db->query("INSERT INTO `user_activity_now` (`user_id`,`stream_id`,`server_id`,`user_agent`,`user_ip`,`container`,`pid`,`date_start`,`geoip_country_code`,`isp`,`external_device`) VALUES('%d','%d','%d','%s','%s','%s','%d','%d','%s','%s','%s')", $user_info["id"], $stream_id, SERVER_ID, $user_agent, $user_ip, $extension, getmypid(), $date, $geoip_country_code, $user_info["con_isp_name"], $external_device);
$activity_id = $ipTV_db->last_insert_id();
$connection_speed_file = TMP_DIR . $activity_id . ".con";
$ipTV_db->close_mysql();
header("Content-Type: video/mp2t");
$C325d28e238c3a646bd7b095aa1ffa85 = ipTV_streaming::GetSegmentsOfPlaylist($playlist, ipTV_lib::$settings["client_prebuffer"]);
if (!empty($C325d28e238c3a646bd7b095aa1ffa85)) {
if (is_array($C325d28e238c3a646bd7b095aa1ffa85)) {
if (!(ipTV_lib::$settings["restreamer_prebuffer"] == 1 && $user_info["is_restreamer"] == 1 || $user_info["is_restreamer"] == 0)) {
goto ad65a7596777f3252e1e3748791b1431;
}
$e13ac89e162bcc9913e553b949f755b6 = 0;
$A73d5129dfb465fd94f3e09e9b179de0 = time();
foreach ($C325d28e238c3a646bd7b095aa1ffa85 as $fe9d0d199fc51f64065055d8bcade279) {
if (file_exists(STREAMS_PATH . $fe9d0d199fc51f64065055d8bcade279)) {
$e13ac89e162bcc9913e553b949f755b6 += readfile(STREAMS_PATH . $fe9d0d199fc51f64065055d8bcade279);
c9f5ed7627986dfb1f1107f442308454:
}
die;
}
$D6db7e73f7da5e54d965f7ef1c369bd6 = time() - $A73d5129dfb465fd94f3e09e9b179de0;
if (!($D6db7e73f7da5e54d965f7ef1c369bd6 == 0)) {
goto Ebf15b0d0d17ce1ef777616d5204c03f;
}
$D6db7e73f7da5e54d965f7ef1c369bd6 = 0.1;
Ebf15b0d0d17ce1ef777616d5204c03f:
file_put_contents($connection_speed_file, intval($e13ac89e162bcc9913e553b949f755b6 / $D6db7e73f7da5e54d965f7ef1c369bd6 / 1024));
ad65a7596777f3252e1e3748791b1431:
preg_match("/_(.*)\./", array_pop($C325d28e238c3a646bd7b095aa1ffa85), $pregmatches);
$E76c20c612d64210f5bcc0611992d2f7 = $pregmatches[1];
goto B3376bd613b7c7b3e2e13b2dba740e4f;
}
$E76c20c612d64210f5bcc0611992d2f7 = $C325d28e238c3a646bd7b095aa1ffa85;
B3376bd613b7c7b3e2e13b2dba740e4f:
goto f4a60f5a64a086fc0304bf38dd04c18d;
}
if (!file_exists($playlist)) {
$E76c20c612d64210f5bcc0611992d2f7 = -1;
f4a60f5a64a086fc0304bf38dd04c18d:
$c45cc215a073632a9e20d474ea91f7e3 = 0;
$f065eccc0636f7fd92043c7118f7409b = ipTV_lib::$SegmentsSettings["seg_time"] * 2;
ec83cd6ff50c6b79e6b8cffbb78eecbf:
if (!true) {
}
$segment_file = sprintf("%d_%d.ts", $channel["stream_id"], $E76c20c612d64210f5bcc0611992d2f7 + 1);
$Bf3da9b14ae368d39b642b3f83d656fc = sprintf("%d_%d.ts", $channel["stream_id"], $E76c20c612d64210f5bcc0611992d2f7 + 2);
$a88c8d86d7956601164a5f156d5df985 = 0;
Cf93be3ee45266203c1bef9fbf92206a:
if (!(!file_exists(STREAMS_PATH . $segment_file) && $a88c8d86d7956601164a5f156d5df985 <= $f065eccc0636f7fd92043c7118f7409b * 10)) {
if (file_exists(STREAMS_PATH . $segment_file)) {
if (!(empty($channel["pid"]) && file_exists(STREAMS_PATH . $stream_id . "_.pid"))) {
goto ad53cf2275793650541bcbe2fded0fd6;
}
$channel["pid"] = intval(file_get_contents(STREAMS_PATH . $stream_id . "_.pid"));
ad53cf2275793650541bcbe2fded0fd6:
if (!file_exists(SIGNALS_PATH . $activity_id)) {
$c45cc215a073632a9e20d474ea91f7e3 = 0;
$c41986ad785eace90882e61c64cabb41 = time();
$fp = fopen(STREAMS_PATH . $segment_file, "r");
Cec1b4b5d1ec19950895bdff075c35b9:
if (!($c45cc215a073632a9e20d474ea91f7e3 <= $f065eccc0636f7fd92043c7118f7409b && !file_exists(STREAMS_PATH . $Bf3da9b14ae368d39b642b3f83d656fc))) {
goto ef0705fe07490d2e2ab41bcda87af246;
}
$data = stream_get_line($fp, ipTV_lib::$settings["read_buffer_size"]);
if (!empty($data)) {
echo $data;
$c45cc215a073632a9e20d474ea91f7e3 = 0;
goto Cec1b4b5d1ec19950895bdff075c35b9;
}
if (ipTV_streaming::ps_running($channel["pid"], FFMPEG_PATH)) {
sleep(1);
++$c45cc215a073632a9e20d474ea91f7e3;
goto Cec1b4b5d1ec19950895bdff075c35b9;
}
ef0705fe07490d2e2ab41bcda87af246:
if (ipTV_streaming::ps_running($channel["pid"], FFMPEG_PATH) && $c45cc215a073632a9e20d474ea91f7e3 <= $f065eccc0636f7fd92043c7118f7409b && file_exists(STREAMS_PATH . $segment_file) && is_resource($fp)) {
$F19b64ffad55876d290cb6f756a2dea5 = filesize(STREAMS_PATH . $segment_file);
$C73fe796a6baad7ca2e4251886562ef0 = $F19b64ffad55876d290cb6f756a2dea5 - ftell($fp);
if (!($C73fe796a6baad7ca2e4251886562ef0 > 0)) {
goto Ce918f8fde55dedaced62b39f0728c56;
}
echo stream_get_line($fp, $C73fe796a6baad7ca2e4251886562ef0);
Ce918f8fde55dedaced62b39f0728c56:
$D6db7e73f7da5e54d965f7ef1c369bd6 = time() - $c41986ad785eace90882e61c64cabb41;
if (!($D6db7e73f7da5e54d965f7ef1c369bd6 <= 0)) {
goto E2dc5f6f12f0224820bb5d48bc17b5db;
}
$D6db7e73f7da5e54d965f7ef1c369bd6 = 0.1;
E2dc5f6f12f0224820bb5d48bc17b5db:
file_put_contents($connection_speed_file, intval($F19b64ffad55876d290cb6f756a2dea5 / 1024 / $D6db7e73f7da5e54d965f7ef1c369bd6));
goto A68eb1112c91909740ce1cfbc1a210ce;
}
if (!($user_info["is_restreamer"] == 1 || $c45cc215a073632a9e20d474ea91f7e3 > $f065eccc0636f7fd92043c7118f7409b)) {
$a88c8d86d7956601164a5f156d5df985 = 0;
F71d17aeef5dd4b69cc7d2e4bdabbeba:
if (!($a88c8d86d7956601164a5f156d5df985 <= ipTV_lib::$SegmentsSettings["seg_time"] && !ipTV_streaming::CheckPidChannelM3U8Exist($channel["pid"], $stream_id))) {
if (!($a88c8d86d7956601164a5f156d5df985 > ipTV_lib::$SegmentsSettings["seg_time"] || !ipTV_streaming::CheckPidChannelM3U8Exist($channel["pid"], $stream_id))) {
$E76c20c612d64210f5bcc0611992d2f7 = -2;
A68eb1112c91909740ce1cfbc1a210ce:
fclose($fp);
$c45cc215a073632a9e20d474ea91f7e3 = 0;
$E76c20c612d64210f5bcc0611992d2f7++;
goto ec83cd6ff50c6b79e6b8cffbb78eecbf;
}
die;
}
sleep(1);
if (!file_exists(STREAMS_PATH . $stream_id . "_.pid")) {
goto Fd5fcda6b37e5a5e5c144e72bba0f3e7;
}
$channel["pid"] = intval(file_get_contents(STREAMS_PATH . $stream_id . "_.pid"));
Fd5fcda6b37e5a5e5c144e72bba0f3e7:
++$a88c8d86d7956601164a5f156d5df985;
goto F71d17aeef5dd4b69cc7d2e4bdabbeba;
}
die;
}
$data = json_decode(file_get_contents(SIGNALS_PATH . $activity_id), true);
switch ($data["type"]) {
case "signal":
$a88c8d86d7956601164a5f156d5df985 = 0;
bebebcdc24b95d7496a99323abc492f0:
if (!(!file_exists(STREAMS_PATH . $Bf3da9b14ae368d39b642b3f83d656fc) && $a88c8d86d7956601164a5f156d5df985 <= $f065eccc0636f7fd92043c7118f7409b)) {
ipTV_streaming::startFFMPEGSegment($data, $segment_file);
++$E76c20c612d64210f5bcc0611992d2f7;
goto f1e4c23da8d982d6100119195ce48da9;
}
sleep(1);
++$a88c8d86d7956601164a5f156d5df985;
goto bebebcdc24b95d7496a99323abc492f0;
case "redirect":
$stream_id = $channel["stream_id"] = $data["stream_id"];
$playlist = STREAMS_PATH . $stream_id . "_.m3u8";
$channel["pid"] = null;
$C325d28e238c3a646bd7b095aa1ffa85 = ipTV_streaming::GetSegmentsOfPlaylist($playlist, ipTV_lib::$settings["client_prebuffer"]);
preg_match("/_(.*)\./", array_pop($C325d28e238c3a646bd7b095aa1ffa85), $pregmatches);
$E76c20c612d64210f5bcc0611992d2f7 = $pregmatches[1];
goto f1e4c23da8d982d6100119195ce48da9;
}
f1e4c23da8d982d6100119195ce48da9:
$data = null;
unlink(SIGNALS_PATH . $activity_id);
goto ec83cd6ff50c6b79e6b8cffbb78eecbf;
}
die;
}
usleep(100000);
++$a88c8d86d7956601164a5f156d5df985;
goto Cf93be3ee45266203c1bef9fbf92206a;
}
die;
}
a1a191cea5b5ee867ae84b6dda4fbdb2:
goto E7de94241f1efed6db3bb965612215a4;
}
ipTV_streaming::ShowVideo($user_info["is_restreamer"], "show_not_on_air_video", "not_on_air_video_path", $extension);
E7de94241f1efed6db3bb965612215a4:
goto b732adb9a9a32a5395067cd139acbc17;
}
http_response_code(401);
ipTV_streaming::ClientLog($stream_id, $user_info["id"], "CON_SVP", $user_ip, json_encode(array("user_agent" => $user_agent, "isp" => $user_info["con_isp_name"], "type" => $user_info["con_isp_type"])), true);
die;
}
http_response_code(401);
ipTV_streaming::ClientLog($stream_id, $user_info["id"], "ISP_LOCK_FAILED", $user_ip, json_encode(array("old" => $user_info["isp_desc"], "new" => $user_info["con_isp_name"])));
die;
}
http_response_code(406);
ipTV_streaming::ClientLog($stream_id, $user_info["id"], "NOT_IN_BOUQUET", $user_ip);
die;
}
http_response_code(405);
ipTV_streaming::ClientLog($stream_id, $user_info["id"], "USER_DISALLOW_EXT", $user_ip);
die;
}
ipTV_streaming::ClientLog($stream_id, $user_info["id"], "USER_ALREADY_CONNECTED", $user_ip);
die;
}
ipTV_streaming::ClientLog($stream_id, $user_info["id"], "CRACKED", $user_ip);
die;
}
ipTV_streaming::ClientLog($stream_id, $user_info["id"], "USER_AGENT_BAN", $user_ip);
die;
}
ipTV_streaming::ClientLog($stream_id, $user_info["id"], "COUNTRY_DISALLOW", $user_ip);
die;
}
ipTV_streaming::ClientLog($stream_id, $user_info["id"], "COUNTRY_DISALLOW", $user_ip);
die;
}
ipTV_streaming::ClientLog($stream_id, $user_info["id"], "IP_BAN", $user_ip);
die;
}
ipTV_streaming::ClientLog($stream_id, $user_info["id"], "EMPTY_UA", $user_ip);
die;
}
ipTV_streaming::ClientLog($stream_id, $user_info["id"], "USER_DISABLED", $user_ip);
ipTV_streaming::ShowVideo($user_info["is_restreamer"], "show_banned_video", "banned_video_path", $extension);
die;
}
ipTV_streaming::ClientLog($stream_id, $user_info["id"], "USER_BAN", $user_ip);
ipTV_streaming::ShowVideo($user_info["is_restreamer"], "show_banned_video", "banned_video_path", $extension);
die;
}
ipTV_streaming::ClientLog($stream_id, $user_info["id"], "USER_EXPIRED", $user_ip);
ipTV_streaming::ShowVideo($user_info["is_restreamer"], "show_expired_video", "expired_video_path", $extension);
die;
}
ipTV_streaming::ClientLog($stream_id, $user_info["id"], "STALKER_KEY_EXPIRED", $user_ip);
die;
}
ipTV_streaming::ClientLog($stream_id, $user_info["id"], "STALKER_IP_MISMATCH", $user_ip);
die;
}
ipTV_streaming::ClientLog($stream_id, $user_info["id"], "STALKER_CHANNEL_MISMATCH", $user_ip);
die;
}
ipTV_streaming::ClientLog($stream_id, $user_info["id"], "STALKER_DECRYPT_FAILED", $user_ip);
die;
}
die;
}
ipTV_streaming::ClientLog($stream_id, $user_info["id"], "MAG_TOKEN_INVALID", $user_ip);
die;
}
ipTV_streaming::ClientLog($stream_id, 0, "AUTH_FAILED", $user_ip);
b732adb9a9a32a5395067cd139acbc17:
function shutdown()
{
global $ipTV_db, $activity_id, $close_connection, $connection_speed_file, $user_info, $extension, $streaming_block, $stream_id, $user_agent, $user_ip, $geoip_country_code, $external_device, $date;
if (!$streaming_block) {
goto A1903fc2c8f726a409514491318875b7;
}
CheckFlood();
http_response_code(401);
A1903fc2c8f726a409514491318875b7:
$ipTV_db->close_mysql();
if (!($activity_id != 0 && $close_connection)) {
goto Eced89b5228c7195ad96478575e9b90a;
}
ipTV_streaming::CloseAndTransfer($activity_id);
ipTV_streaming::SaveClosedConnection(SERVER_ID, $user_info["id"], $stream_id, $date, $user_agent, $user_ip, $extension, $geoip_country_code, $user_info["con_isp_name"], $external_device);
if (!file_exists($connection_speed_file)) {
goto f2190e18b284c352d7108f14410b94dd;
}
unlink($connection_speed_file);
f2190e18b284c352d7108f14410b94dd:
Eced89b5228c7195ad96478575e9b90a:
fastcgi_finish_request();
if (!($activity_id != 0 || !file_exists("IPTV_PANEL_DIRkill_pids"))) {
goto c9c588386987168608264266a2675545;
}
posix_kill(getmypid(), 9);
c9c588386987168608264266a2675545:
}
// [PHPDeobfuscator] Implied script end
return;
}
die;
?>
Did this file decode correctly?
Original Code
<?php
register_shutdown_function("shutdown");
set_time_limit(0);
require "../init.php";
$streaming_block = true;
if (!isset(ipTV_lib::$request["qs"])) {
goto A87f82ad8273650efd2065ecd17280d8;
}
if (!stristr(ipTV_lib::$request["qs"], ":p=")) {
goto C8756961c117a0c6ad273b77cf847622;
}
$$qs = explode(":p=", ipTV_lib::$request["qs"]);
ipTV_lib::$request["password"] = $$qs[1];
ipTV_lib::$request["username"] = substr($$qs[0], 2);
C8756961c117a0c6ad273b77cf847622:
A87f82ad8273650efd2065ecd17280d8:
if (!(!isset(ipTV_lib::$request["extension"]) || !isset(ipTV_lib::$request["username"]) || !isset(ipTV_lib::$request["password"]) || !isset(ipTV_lib::$request["stream"]))) {
$geoip = new Reader(GEOIP2_FILENAME);
$activity_id = 0;
$close_connection = true;
$connection_speed_file = null;
$user_ip = ipTV_streaming::getUserIP();
$user_agent = empty($_SERVER["HTTP_USER_AGENT"]) ? '' : htmlentities(trim($_SERVER["HTTP_USER_AGENT"]));
$external_device = null;
$username = ipTV_lib::$request["username"];
$password = ipTV_lib::$request["password"];
$stream_id = intval(ipTV_lib::$request["stream"]);
$extension = preg_replace("/[^A-Za-z0-9 ]/", '', trim(ipTV_lib::$request["extension"]));
$date = time();
if (!(ipTV_lib::$settings["use_buffer"] == 0)) {
goto dc8333563874fe87ee7b2a026fc6faa5;
}
header("X-Accel-Buffering: no");
dc8333563874fe87ee7b2a026fc6faa5:
header("Access-Control-Allow-Origin: *");
$play_token = empty(ipTV_lib::$request["play_token"]) ? null : ipTV_lib::$request["play_token"];
if ($user_info = ipTV_streaming::GetUserInfo(null, $username, $password, true, false, true, array(), false, $user_ip, $user_agent, array(), $play_token, $stream_id)) {
if (!isset($user_info["mag_invalid_token"])) {
if (!($user_info["bypass_ua"] == 0)) {
goto Eed85ed320f4c0016a5097b3b1e0c5fb;
}
ipTV_streaming::checkGlobalBlockUA($user_agent);
Eed85ed320f4c0016a5097b3b1e0c5fb:
if (!($user_info["is_stalker"] == 1)) {
goto ab84e3827eba3aef61cb991f492d4cdd;
}
if (!(empty(ipTV_lib::$request["stalker_key"]) || $extension != "ts")) {
$stalker_key = base64_decode(urldecode(ipTV_lib::$request["stalker_key"]));
if ($decrypt_key = ipTV_lib::mc_decrypt($stalker_key, md5(ipTV_lib::$settings["live_streaming_pass"]))) {
$d06cc9287212b4dea88b7a36f83aa576 = explode("=", $decrypt_key);
if (!($d06cc9287212b4dea88b7a36f83aa576[2] != $stream_id)) {
if (!($d06cc9287212b4dea88b7a36f83aa576[1] != $user_ip)) {
if (!(time() > $d06cc9287212b4dea88b7a36f83aa576[3])) {
$external_device = $d06cc9287212b4dea88b7a36f83aa576[0];
C2c25fbff8c7c414f7df945db92c2952:
ab84e3827eba3aef61cb991f492d4cdd:
if (!(!is_null($user_info["exp_date"]) && time() >= $user_info["exp_date"])) {
if (!($user_info["admin_enabled"] == 0)) {
if (!($user_info["enabled"] == 0)) {
if (!(empty($user_agent) && ipTV_lib::$settings["disallow_empty_user_agents"] == 1)) {
$geoip_country_code = $geoip->C6a76952B4CeF18F3C98c0e6a9Dd1274($user_ip)["registered_country"]["iso_code"];
$geoip->close();
if (!(!empty($user_info["allowed_ips"]) && !in_array($user_ip, array_map("gethostbyname", $user_info["allowed_ips"])))) {
if (empty($geoip_country_code)) {
goto bef1fd9013398d0b710218789e9475be;
}
$forced_country = !empty($user_info["forced_country"]) ? true : false;
if (!($forced_country && $user_info["forced_country"] != "ALL" && $geoip_country_code != $user_info["forced_country"])) {
if (!(!$forced_country && !in_array("ALL", ipTV_lib::$settings["allow_countries"]) && !in_array($geoip_country_code, ipTV_lib::$settings["allow_countries"]))) {
bef1fd9013398d0b710218789e9475be:
if (!(!empty($user_info["allowed_ua"]) && !in_array($user_agent, $user_info["allowed_ua"]))) {
if (!ipTV_streaming::checkIsCracked($user_ip)) {
if (!isset($user_info["ip_limit_reached"])) {
$streaming_block = false;
if (array_key_exists($extension, $user_info["output_formats"])) {
if (in_array($stream_id, $user_info["channel_ids"])) {
if (!($user_info["isp_violate"] == 1)) {
if (!($user_info["isp_is_server"] == 1)) {
if (!($user_info["max_connections"] != 0)) {
goto F255f17f8c5f46c1147bf16cf510b617;
}
if (empty($user_info["pair_line_info"])) {
goto aa1283c87aa5ac0efd2851249bad45e6;
}
if (!($user_info["pair_line_info"]["max_connections"] != 0)) {
goto f42b88222726df2b9eec5fb033bc5509;
}
if (!($user_info["pair_line_info"]["active_cons"] >= $user_info["pair_line_info"]["max_connections"])) {
goto B5720156bda395b3e99a762cc7523c5b;
}
ipTV_streaming::CloseLastCon($user_info["pair_id"], $user_info["pair_line_info"]["max_connections"]);
B5720156bda395b3e99a762cc7523c5b:
f42b88222726df2b9eec5fb033bc5509:
aa1283c87aa5ac0efd2851249bad45e6:
if (!($user_info["active_cons"] >= $user_info["max_connections"] && $extension != "m3u8")) {
goto e0a45490dcd596cadbe45c76996c8373;
}
ipTV_streaming::CloseLastCon($user_info["id"], $user_info["max_connections"]);
e0a45490dcd596cadbe45c76996c8373:
F255f17f8c5f46c1147bf16cf510b617:
if ($channel = ipTV_streaming::ChannelInfo($stream_id, $extension, $user_info, $user_ip, $geoip_country_code, $external_device, $user_info["con_isp_name"], "live")) {
$playlist = STREAMS_PATH . $stream_id . "_.m3u8";
if (ipTV_streaming::ps_running($channel["pid"], FFMPEG_PATH)) {
goto E1419ce7470abffbe134939de24e84e9;
}
if ($channel["on_demand"] == 1) {
if (ipTV_streaming::CheckPidExist($channel["monitor_pid"], $stream_id)) {
goto Ee6938d9520fba86bd7b945048a08b63;
}
ipTV_stream::startStream($stream_id);
Ee6938d9520fba86bd7b945048a08b63:
goto C4ab1744d3940966d06ba8da7879dc0a;
}
ipTV_streaming::ShowVideo($user_info["is_restreamer"], "show_not_on_air_video", "not_on_air_video_path", $extension);
C4ab1744d3940966d06ba8da7879dc0a:
E1419ce7470abffbe134939de24e84e9:
switch ($extension) {
case "m3u8":
$close_connection = false;
$B1772eb944c03052cd5d180cdee51b89 = 0;
a5783fd272d37bf2cf23d06cadf2c0b5:
if (!(!file_exists($playlist) && true)) {
if (!false) {
if (empty(ipTV_lib::$request["segment"])) {
$ipTV_db->query("SELECT activity_id,hls_end FROM `user_activity_now` WHERE `user_id` = '%d' AND `server_id` = '%d' AND `container` = 'hls' AND `user_ip` = '%s' AND `user_agent` = '%s' AND `stream_id` = '%d'", $user_info["id"], SERVER_ID, $user_ip, $user_agent, $stream_id);
if ($ipTV_db->num_rows() == 0) {
if (!($user_info["max_connections"] != 0)) {
goto E342970ee8061f4d1a87d4316c90c6fe;
}
$ipTV_db->query("UPDATE `user_activity_now` SET `hls_end` = 1 WHERE `user_id` = '%d' AND `container` = 'hls'", $user_info["id"]);
E342970ee8061f4d1a87d4316c90c6fe:
$ipTV_db->query("INSERT INTO `user_activity_now` (`user_id`,`stream_id`,`server_id`,`user_agent`,`user_ip`,`container`,`pid`,`date_start`,`geoip_country_code`,`isp`,`external_device`,`hls_last_read`) VALUES('%d','%d','%d','%s','%s','%s','%d','%d','%s','%s','%s','%d')", $user_info["id"], $stream_id, SERVER_ID, $user_agent, $user_ip, "hls", getmypid(), $date, $geoip_country_code, $user_info["con_isp_name"], $external_device, time());
$activity_id = $ipTV_db->last_insert_id();
goto fe1ec2bc8c62ceae9fe6f8e0d06d6208;
}
$row = $ipTV_db->get_row();
if (!($row["hls_end"] == 1)) {
$activity_id = $row["activity_id"];
$ipTV_db->query("UPDATE `user_activity_now` SET `hls_last_read` = '%d' WHERE `activity_id` = '%d'", time(), $row["activity_id"]);
fe1ec2bc8c62ceae9fe6f8e0d06d6208:
$ipTV_db->close_mysql();
if (!($source = ipTV_streaming::GeneratePlayListWithAuthentication($playlist, $username, $password, $stream_id))) {
goto B2acecf827fcdc79dec47310a788b901;
}
header("Content-Type: application/x-mpegurl");
header("Content-Length: " . strlen($source));
header("Cache-Control: no-store, no-cache, must-revalidate");
echo $source;
B2acecf827fcdc79dec47310a788b901:
die;
}
header($_SERVER["SERVER_PROTOCOL"] . " 403 Forbidden", true, 403);
die;
}
$ipTV_db->close_mysql();
$fe9d0d199fc51f64065055d8bcade279 = STREAMS_PATH . str_replace(array("\\", "/"), '', urldecode(ipTV_lib::$request["segment"]));
$ff808659f878dbd58bfa6fabe039f10c = explode("_", basename($fe9d0d199fc51f64065055d8bcade279));
if (!(!file_exists($fe9d0d199fc51f64065055d8bcade279) || $ff808659f878dbd58bfa6fabe039f10c[0] != $stream_id || empty(ipTV_lib::$request["token"]))) {
$token = ipTV_lib::$request["token"];
$A0450eaeae72ee603999aa268ea82b0c = md5(urldecode(ipTV_lib::$request["segment"]) . $user_info["username"] . ipTV_lib::$settings["crypt_load_balancing"] . filesize($fe9d0d199fc51f64065055d8bcade279));
if (!($A0450eaeae72ee603999aa268ea82b0c != $token)) {
$e13ac89e162bcc9913e553b949f755b6 = filesize($fe9d0d199fc51f64065055d8bcade279);
header("Content-Length: " . $e13ac89e162bcc9913e553b949f755b6);
header("Content-Type: video/mp2t");
readfile($fe9d0d199fc51f64065055d8bcade279);
goto a1a191cea5b5ee867ae84b6dda4fbdb2;
}
header($_SERVER["SERVER_PROTOCOL"] . " 403 Forbidden", true, 403);
die;
}
header($_SERVER["SERVER_PROTOCOL"] . " 403 Forbidden", true, 403);
die;
}
die;
}
usleep(500000);
++$B1772eb944c03052cd5d180cdee51b89;
goto a5783fd272d37bf2cf23d06cadf2c0b5;
default:
$ipTV_db->query("INSERT INTO `user_activity_now` (`user_id`,`stream_id`,`server_id`,`user_agent`,`user_ip`,`container`,`pid`,`date_start`,`geoip_country_code`,`isp`,`external_device`) VALUES('%d','%d','%d','%s','%s','%s','%d','%d','%s','%s','%s')", $user_info["id"], $stream_id, SERVER_ID, $user_agent, $user_ip, $extension, getmypid(), $date, $geoip_country_code, $user_info["con_isp_name"], $external_device);
$activity_id = $ipTV_db->last_insert_id();
$connection_speed_file = TMP_DIR . $activity_id . ".con";
$ipTV_db->close_mysql();
header("Content-Type: video/mp2t");
$C325d28e238c3a646bd7b095aa1ffa85 = ipTV_streaming::GetSegmentsOfPlaylist($playlist, ipTV_lib::$settings["client_prebuffer"]);
if (!empty($C325d28e238c3a646bd7b095aa1ffa85)) {
if (is_array($C325d28e238c3a646bd7b095aa1ffa85)) {
if (!(ipTV_lib::$settings["restreamer_prebuffer"] == 1 && $user_info["is_restreamer"] == 1 || $user_info["is_restreamer"] == 0)) {
goto ad65a7596777f3252e1e3748791b1431;
}
$e13ac89e162bcc9913e553b949f755b6 = 0;
$A73d5129dfb465fd94f3e09e9b179de0 = time();
foreach ($C325d28e238c3a646bd7b095aa1ffa85 as $fe9d0d199fc51f64065055d8bcade279) {
if (file_exists(STREAMS_PATH . $fe9d0d199fc51f64065055d8bcade279)) {
$e13ac89e162bcc9913e553b949f755b6 += readfile(STREAMS_PATH . $fe9d0d199fc51f64065055d8bcade279);
c9f5ed7627986dfb1f1107f442308454:
}
die;
}
$D6db7e73f7da5e54d965f7ef1c369bd6 = time() - $A73d5129dfb465fd94f3e09e9b179de0;
if (!($D6db7e73f7da5e54d965f7ef1c369bd6 == 0)) {
goto Ebf15b0d0d17ce1ef777616d5204c03f;
}
$D6db7e73f7da5e54d965f7ef1c369bd6 = 0.1;
Ebf15b0d0d17ce1ef777616d5204c03f:
file_put_contents($connection_speed_file, intval($e13ac89e162bcc9913e553b949f755b6 / $D6db7e73f7da5e54d965f7ef1c369bd6 / 1024));
ad65a7596777f3252e1e3748791b1431:
preg_match("/_(.*)\\./", array_pop($C325d28e238c3a646bd7b095aa1ffa85), $pregmatches);
$E76c20c612d64210f5bcc0611992d2f7 = $pregmatches[1];
goto B3376bd613b7c7b3e2e13b2dba740e4f;
}
$E76c20c612d64210f5bcc0611992d2f7 = $C325d28e238c3a646bd7b095aa1ffa85;
B3376bd613b7c7b3e2e13b2dba740e4f:
goto f4a60f5a64a086fc0304bf38dd04c18d;
}
if (!file_exists($playlist)) {
$E76c20c612d64210f5bcc0611992d2f7 = -1;
f4a60f5a64a086fc0304bf38dd04c18d:
$c45cc215a073632a9e20d474ea91f7e3 = 0;
$f065eccc0636f7fd92043c7118f7409b = ipTV_lib::$SegmentsSettings["seg_time"] * 2;
ec83cd6ff50c6b79e6b8cffbb78eecbf:
if (!true) {
}
$segment_file = sprintf("%d_%d.ts", $channel["stream_id"], $E76c20c612d64210f5bcc0611992d2f7 + 1);
$Bf3da9b14ae368d39b642b3f83d656fc = sprintf("%d_%d.ts", $channel["stream_id"], $E76c20c612d64210f5bcc0611992d2f7 + 2);
$a88c8d86d7956601164a5f156d5df985 = 0;
Cf93be3ee45266203c1bef9fbf92206a:
if (!(!file_exists(STREAMS_PATH . $segment_file) && $a88c8d86d7956601164a5f156d5df985 <= $f065eccc0636f7fd92043c7118f7409b * 10)) {
if (file_exists(STREAMS_PATH . $segment_file)) {
if (!(empty($channel["pid"]) && file_exists(STREAMS_PATH . $stream_id . "_.pid"))) {
goto ad53cf2275793650541bcbe2fded0fd6;
}
$channel["pid"] = intval(file_get_contents(STREAMS_PATH . $stream_id . "_.pid"));
ad53cf2275793650541bcbe2fded0fd6:
if (!file_exists(SIGNALS_PATH . $activity_id)) {
$c45cc215a073632a9e20d474ea91f7e3 = 0;
$c41986ad785eace90882e61c64cabb41 = time();
$fp = fopen(STREAMS_PATH . $segment_file, "r");
Cec1b4b5d1ec19950895bdff075c35b9:
if (!($c45cc215a073632a9e20d474ea91f7e3 <= $f065eccc0636f7fd92043c7118f7409b && !file_exists(STREAMS_PATH . $Bf3da9b14ae368d39b642b3f83d656fc))) {
goto ef0705fe07490d2e2ab41bcda87af246;
}
$data = stream_get_line($fp, ipTV_lib::$settings["read_buffer_size"]);
if (!empty($data)) {
echo $data;
$c45cc215a073632a9e20d474ea91f7e3 = 0;
goto Cec1b4b5d1ec19950895bdff075c35b9;
}
if (ipTV_streaming::ps_running($channel["pid"], FFMPEG_PATH)) {
sleep(1);
++$c45cc215a073632a9e20d474ea91f7e3;
goto Cec1b4b5d1ec19950895bdff075c35b9;
}
ef0705fe07490d2e2ab41bcda87af246:
if (ipTV_streaming::ps_running($channel["pid"], FFMPEG_PATH) && $c45cc215a073632a9e20d474ea91f7e3 <= $f065eccc0636f7fd92043c7118f7409b && file_exists(STREAMS_PATH . $segment_file) && is_resource($fp)) {
$F19b64ffad55876d290cb6f756a2dea5 = filesize(STREAMS_PATH . $segment_file);
$C73fe796a6baad7ca2e4251886562ef0 = $F19b64ffad55876d290cb6f756a2dea5 - ftell($fp);
if (!($C73fe796a6baad7ca2e4251886562ef0 > 0)) {
goto Ce918f8fde55dedaced62b39f0728c56;
}
echo stream_get_line($fp, $C73fe796a6baad7ca2e4251886562ef0);
Ce918f8fde55dedaced62b39f0728c56:
$D6db7e73f7da5e54d965f7ef1c369bd6 = time() - $c41986ad785eace90882e61c64cabb41;
if (!($D6db7e73f7da5e54d965f7ef1c369bd6 <= 0)) {
goto E2dc5f6f12f0224820bb5d48bc17b5db;
}
$D6db7e73f7da5e54d965f7ef1c369bd6 = 0.1;
E2dc5f6f12f0224820bb5d48bc17b5db:
file_put_contents($connection_speed_file, intval($F19b64ffad55876d290cb6f756a2dea5 / 1024 / $D6db7e73f7da5e54d965f7ef1c369bd6));
goto A68eb1112c91909740ce1cfbc1a210ce;
}
if (!($user_info["is_restreamer"] == 1 || $c45cc215a073632a9e20d474ea91f7e3 > $f065eccc0636f7fd92043c7118f7409b)) {
$a88c8d86d7956601164a5f156d5df985 = 0;
F71d17aeef5dd4b69cc7d2e4bdabbeba:
if (!($a88c8d86d7956601164a5f156d5df985 <= ipTV_lib::$SegmentsSettings["seg_time"] && !ipTV_streaming::CheckPidChannelM3U8Exist($channel["pid"], $stream_id))) {
if (!($a88c8d86d7956601164a5f156d5df985 > ipTV_lib::$SegmentsSettings["seg_time"] || !ipTV_streaming::CheckPidChannelM3U8Exist($channel["pid"], $stream_id))) {
$E76c20c612d64210f5bcc0611992d2f7 = -2;
A68eb1112c91909740ce1cfbc1a210ce:
fclose($fp);
$c45cc215a073632a9e20d474ea91f7e3 = 0;
$E76c20c612d64210f5bcc0611992d2f7++;
goto ec83cd6ff50c6b79e6b8cffbb78eecbf;
}
die;
}
sleep(1);
if (!file_exists(STREAMS_PATH . $stream_id . "_.pid")) {
goto Fd5fcda6b37e5a5e5c144e72bba0f3e7;
}
$channel["pid"] = intval(file_get_contents(STREAMS_PATH . $stream_id . "_.pid"));
Fd5fcda6b37e5a5e5c144e72bba0f3e7:
++$a88c8d86d7956601164a5f156d5df985;
goto F71d17aeef5dd4b69cc7d2e4bdabbeba;
}
die;
}
$data = json_decode(file_get_contents(SIGNALS_PATH . $activity_id), true);
switch ($data["type"]) {
case "signal":
$a88c8d86d7956601164a5f156d5df985 = 0;
bebebcdc24b95d7496a99323abc492f0:
if (!(!file_exists(STREAMS_PATH . $Bf3da9b14ae368d39b642b3f83d656fc) && $a88c8d86d7956601164a5f156d5df985 <= $f065eccc0636f7fd92043c7118f7409b)) {
ipTV_streaming::startFFMPEGSegment($data, $segment_file);
++$E76c20c612d64210f5bcc0611992d2f7;
goto f1e4c23da8d982d6100119195ce48da9;
}
sleep(1);
++$a88c8d86d7956601164a5f156d5df985;
goto bebebcdc24b95d7496a99323abc492f0;
case "redirect":
$stream_id = $channel["stream_id"] = $data["stream_id"];
$playlist = STREAMS_PATH . $stream_id . "_.m3u8";
$channel["pid"] = null;
$C325d28e238c3a646bd7b095aa1ffa85 = ipTV_streaming::GetSegmentsOfPlaylist($playlist, ipTV_lib::$settings["client_prebuffer"]);
preg_match("/_(.*)\\./", array_pop($C325d28e238c3a646bd7b095aa1ffa85), $pregmatches);
$E76c20c612d64210f5bcc0611992d2f7 = $pregmatches[1];
goto f1e4c23da8d982d6100119195ce48da9;
}
f1e4c23da8d982d6100119195ce48da9:
$data = null;
unlink(SIGNALS_PATH . $activity_id);
goto ec83cd6ff50c6b79e6b8cffbb78eecbf;
}
die;
}
usleep(100000);
++$a88c8d86d7956601164a5f156d5df985;
goto Cf93be3ee45266203c1bef9fbf92206a;
}
die;
}
a1a191cea5b5ee867ae84b6dda4fbdb2:
goto E7de94241f1efed6db3bb965612215a4;
}
ipTV_streaming::ShowVideo($user_info["is_restreamer"], "show_not_on_air_video", "not_on_air_video_path", $extension);
E7de94241f1efed6db3bb965612215a4:
goto b732adb9a9a32a5395067cd139acbc17;
}
http_response_code(401);
ipTV_streaming::ClientLog($stream_id, $user_info["id"], "CON_SVP", $user_ip, json_encode(array("user_agent" => $user_agent, "isp" => $user_info["con_isp_name"], "type" => $user_info["con_isp_type"])), true);
die;
}
http_response_code(401);
ipTV_streaming::ClientLog($stream_id, $user_info["id"], "ISP_LOCK_FAILED", $user_ip, json_encode(array("old" => $user_info["isp_desc"], "new" => $user_info["con_isp_name"])));
die;
}
http_response_code(406);
ipTV_streaming::ClientLog($stream_id, $user_info["id"], "NOT_IN_BOUQUET", $user_ip);
die;
}
http_response_code(405);
ipTV_streaming::ClientLog($stream_id, $user_info["id"], "USER_DISALLOW_EXT", $user_ip);
die;
}
ipTV_streaming::ClientLog($stream_id, $user_info["id"], "USER_ALREADY_CONNECTED", $user_ip);
die;
}
ipTV_streaming::ClientLog($stream_id, $user_info["id"], "CRACKED", $user_ip);
die;
}
ipTV_streaming::ClientLog($stream_id, $user_info["id"], "USER_AGENT_BAN", $user_ip);
die;
}
ipTV_streaming::ClientLog($stream_id, $user_info["id"], "COUNTRY_DISALLOW", $user_ip);
die;
}
ipTV_streaming::ClientLog($stream_id, $user_info["id"], "COUNTRY_DISALLOW", $user_ip);
die;
}
ipTV_streaming::ClientLog($stream_id, $user_info["id"], "IP_BAN", $user_ip);
die;
}
ipTV_streaming::ClientLog($stream_id, $user_info["id"], "EMPTY_UA", $user_ip);
die;
}
ipTV_streaming::ClientLog($stream_id, $user_info["id"], "USER_DISABLED", $user_ip);
ipTV_streaming::ShowVideo($user_info["is_restreamer"], "show_banned_video", "banned_video_path", $extension);
die;
}
ipTV_streaming::ClientLog($stream_id, $user_info["id"], "USER_BAN", $user_ip);
ipTV_streaming::ShowVideo($user_info["is_restreamer"], "show_banned_video", "banned_video_path", $extension);
die;
}
ipTV_streaming::ClientLog($stream_id, $user_info["id"], "USER_EXPIRED", $user_ip);
ipTV_streaming::ShowVideo($user_info["is_restreamer"], "show_expired_video", "expired_video_path", $extension);
die;
}
ipTV_streaming::ClientLog($stream_id, $user_info["id"], "STALKER_KEY_EXPIRED", $user_ip);
die;
}
ipTV_streaming::ClientLog($stream_id, $user_info["id"], "STALKER_IP_MISMATCH", $user_ip);
die;
}
ipTV_streaming::ClientLog($stream_id, $user_info["id"], "STALKER_CHANNEL_MISMATCH", $user_ip);
die;
}
ipTV_streaming::ClientLog($stream_id, $user_info["id"], "STALKER_DECRYPT_FAILED", $user_ip);
die;
}
die;
}
ipTV_streaming::ClientLog($stream_id, $user_info["id"], "MAG_TOKEN_INVALID", $user_ip);
die;
}
ipTV_streaming::ClientLog($stream_id, 0, "AUTH_FAILED", $user_ip);
b732adb9a9a32a5395067cd139acbc17:
function shutdown()
{
global $ipTV_db, $activity_id, $close_connection, $connection_speed_file, $user_info, $extension, $streaming_block, $stream_id, $user_agent, $user_ip, $geoip_country_code, $external_device, $date;
if (!$streaming_block) {
goto A1903fc2c8f726a409514491318875b7;
}
CheckFlood();
http_response_code(401);
A1903fc2c8f726a409514491318875b7:
$ipTV_db->close_mysql();
if (!($activity_id != 0 && $close_connection)) {
goto Eced89b5228c7195ad96478575e9b90a;
}
ipTV_streaming::CloseAndTransfer($activity_id);
ipTV_streaming::SaveClosedConnection(SERVER_ID, $user_info["id"], $stream_id, $date, $user_agent, $user_ip, $extension, $geoip_country_code, $user_info["con_isp_name"], $external_device);
if (!file_exists($connection_speed_file)) {
goto f2190e18b284c352d7108f14410b94dd;
}
unlink($connection_speed_file);
f2190e18b284c352d7108f14410b94dd:
Eced89b5228c7195ad96478575e9b90a:
fastcgi_finish_request();
if (!($activity_id != 0 || !file_exists("IPTV_PANEL_DIRkill_pids"))) {
goto c9c588386987168608264266a2675545;
}
posix_kill(getmypid(), 9);
c9c588386987168608264266a2675545:
}
// [PHPDeobfuscator] Implied script end
return;
}
die;
Function Calls
None |
Stats
MD5 | 725af3c3fd6a03730ce9a00bcfa8d8bb |
Eval Count | 0 |
Decode Time | 71 ms |