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

Variables

None

Stats

MD5 725af3c3fd6a03730ce9a00bcfa8d8bb
Eval Count 0
Decode Time 71 ms