goto f9c0aa93b234a184;
bd69b095d3c3054a:
$Fd10d59f87b19e71 = XUI::$db->get_row();
a85f0f565e81dedb:
XUI::FDa008E955Dd4FE2();
goto A21ee85f8b16f52d;
b2f8ce517b68b0ac:
goto C6a451a7a379ce2c;
d630675ccd4db3b6:
$ceb330df8e425c1e =
$ceb330df8e425c1e > $b54a5805c0b9816e
? $b54a5805c0b9816e
: $ceb330df8e425c1e;
if (
!(
$B93606dc467fa184 > $ceb330df8e425c1e ||
$B93606dc467fa184 > $A963e07ce47787da - 1 ||
$ceb330df8e425c1e >= $A963e07ce47787da
)
) {
goto E357fe7b96a9f0c5;
}
header(
"HTTP/1.1 416 Requested Range Not Satisfiable"
);
header(
"Content-Range: bytes {$bcfd61adc96d4b72}-{$b54a5805c0b9816e}/{$A963e07ce47787da}"
);
goto cd210754ac05632c;
cd210754ac05632c:
E357fe7b96a9f0c5:
$bcfd61adc96d4b72 = $B93606dc467fa184;
$b54a5805c0b9816e = $ceb330df8e425c1e;
$Fc7fdb080dbcd39f = $b54a5805c0b9816e - $bcfd61adc96d4b72 + 1;
header(
"HTTPy.1 2 Partial Content"
);
goto Bce988c850180ecc;
f9c0aa93b234a184:
register_shutdown_function("shutdown");
set_time_limit(0);
require_once "init.php";
unset(XUI::$rSettings["watchdog_data"]);
unset(
XUI::$rSettings[
"server_hardware"
]
);
goto E0d0eb6836af2358;
bb7480895f652458:
$D577b2a7889a5fb6 = true;
Bd6f3745a3e94d3d:
bbc54c9c64d7241b:
goto b51eb0b833cf80be;
f22e261e80889eea:
goto c16d30362804fbd7;
A3c47a886b088626:
XUI::b8bf88ACF4434674(
$ee6d1fc5d801b43f,
$E59d0debc75e7be8["id"],
"IP_MISMATCH",
$b38e11ffdc6a3abb
);
generateError("IP_MISMATCH");
B26815ef20ce7fad:
if (
!(
XUI::e764f10E99C26365(
$Fd10d59f87b19e71["pid"],
"php-fpm"
) &&
$C98e11437faf4199 != $Fd10d59f87b19e71["pid"] &&
is_numeric($Fd10d59f87b19e71["pid"]) &&
$Fd10d59f87b19e71["pid"] > 0
)
) {
goto f2c2ae5ddb124038;
}
if ($Fd10d59f87b19e71["server_id"] == SERVER_ID) {
goto de4efa8dd4f6e40f;
}
goto dea276c6e32b29b9;
bdf82e2ab548a671:
$E6ebe1d751d53850 =
XUI::$rSettings[
"read_buffer_size"
];
$df6991d59f367c7e = 0;
$Ab9c356586c66169 = 0;
if (
XUI::$rSettings[
"vod_limit_perc"
] > 0 &&
!$E59d0debc75e7be8["is_restreamer"]
) {
goto e0b5f2679c16c052;
}
$dd4738a94cfafd4f = $Fc7fdb080dbcd39f;
goto a2df9737a14d4ea3;
bc5722b31e2113b3:
Dfc7cd3c40021f6b:
b51eb0b833cf80be:
if ($D577b2a7889a5fb6) {
goto Ad23a711001d58d4;
}
XUI::B8Bf88aCF4434674(
$ee6d1fc5d801b43f,
$E59d0debc75e7be8["id"],
"LINE_CREATE_FAIL",
$b38e11ffdc6a3abb
);
generateError(
"LINE_CREATE_FAIL"
);
goto ca224800e893c23b;
C0fda33001225a54:
header(
"X-XSS-Protection: 0"
);
header(
"X-Content-Type-Options: nosniff"
);
Be830adba1f7cfc4:
if (
!XUI::$rSettings[
"send_altsvc_header"
]
) {
goto f86360cb2f729aff;
}
header(
"Alt-Svc: h3-29=":" .
XUI::$rServers[SERVER_ID][
"https_broadcast_port"
] .
""; ma=250,h3-T1=":" .
XUI::$rServers[SERVER_ID][
"https_broadcast_port"
] .
""; ma=25ʀ0,h3-Q0=":" .
XUI::$rServers[SERVER_ID][
"https_broadcast_port"
] .
""; ma=25920,h3-Q046=":" .
XUI::$rServers[SERVER_ID][
"https_broadcast_port"
] .
""; ma=25900,h3-Q043=":" .
XUI::$rServers[SERVER_ID][
"https_broadcast_port"
] .
""; ma=25920,quic=":" .
XUI::$rServers[SERVER_ID][
"https_broadcast_port"
] .
""; ma5920; v=6d3""
);
goto a6a6ad31b6c1650a;
c2838c45ddb93d5b:
fclose($B3299684b062e356);
E6ec6f43a4c2380e:
b8d0f699be5aba3b:
A32676c3a20368d9:
goto A7ea1fc1c4010384;
Cc4f211514d098ca:
if (!file_exists($a0427f79dbb6d965)) {
goto E6ec6f43a4c2380e;
}
$B3299684b062e356 = @fopen($a0427f79dbb6d965, "rb");
$A963e07ce47787da = filesize($a0427f79dbb6d965);
$Fc7fdb080dbcd39f = $A963e07ce47787da;
$bcfd61adc96d4b72 = 0;
goto bcedfb2f899336e3;
b70cff7e6f69974f:
e313e6d31635caa4:
if (
!(
XUI::$rSettings[
"monitor_connection_status"
] && time() - $Ecd061b6f73036ea >= 5
)
) {
goto B213a70c891a819e;
}
if (!(connection_status() != CONNECTION_NORMAL)) {
goto A03729b635488930;
}
A03729b635488930:
goto D065ab95d856db3d;
Dcc47f5b423dfdfd:
da42114814919efb:
$C082ca9ed03f473c =
$Bf9899a172ecff52["originator_id"];
$Bdf1a4d575de41e8 =
$Bf9899a172ecff52["redirect_id"];
D6438fda411e3d5a:
if (XUI::$rSettings["redis_handler"]) {
goto c76e25fc09b5355a;
}
goto E8636099604d9415;
C55eaac552136f92:
Dc242a69129e47ea:
cbb64346ecfec4f7:
goto f87f3ab1edf894fc;
c7bb309fcb2695b8:
goto c2838c45ddb93d5b;
ef95302bf4d99209:
A9752bf70431ef5c:
curl_setopt(
$ab701fbbd66214d9,
CURLOPT_MAX_RECV_SPEED_LARGE,
intval($C730568d2223ba64)
);
c22e60307a0f7c71:
curl_setopt($ab701fbbd66214d9, CURLOPT_BUFFERSIZE, 10 * 1024 * 1024);
curl_setopt($ab701fbbd66214d9, CURLOPT_VERBOSE, 1);
goto E83846bdbbbafcaa;
C99ed8aee75cce4c:
preg_match(
"/bytes=(\d+)-(\d+)?/",
$_SERVER["HTTP_RANGE"],
$Ac97fb1939417214
);
$A486d2019332744a = intval($Ac97fb1939417214[1]);
$Fc7fdb080dbcd39f = $A963e07ce47787da - $A486d2019332744a - 1;
$df59d69b3ccd0f39 = [
"Range: bytes=" .
$A486d2019332744a .
"-" .
($A486d2019332744a + $Fc7fdb080dbcd39f),
];
curl_setopt($ab701fbbd66214d9, CURLOPT_HTTPHEADER, $df59d69b3ccd0f39);
goto f476d4873d411fa1;
E0d0eb6836af2358:
header(
"Access-Control-Allow-Origin: *"
);
if (
empty(
XUI::$rSettings[
"send_server_header"
]
)
) {
goto ae733f2f9d0814f2;
}
header(
"Server: " .
XUI::$rSettings[
"send_server_header"
]
);
ae733f2f9d0814f2:
if (
!XUI::$rSettings[
"send_protection_headers"
]
) {
goto Be830adba1f7cfc4;
}
goto C0fda33001225a54;
abd34a8152e0d7b4:
deb1d7e0eb0b5787:
c7ce242566dea3ea:
touch(CONS_TMP_PATH . $D8713f4c40d502da["uuid"]);
if (!$D87b5385dbd51b7a) {
goto baf2ba18e93bf76e;
}
$df59d69b3ccd0f39 = get_headers($D87b5385dbd51b7a, 1);
goto B334276fa29e9373;
E8636099604d9415:
XUI::e43C27eBf86B4c47();
goto a137f0ad6d04de80;
c76e25fc09b5355a:
XUI::D6aEB3175A43F301();
a137f0ad6d04de80:
goto Bb44e16fcbcd047d;
E5927929e1351546:
goto f4d15fb881f33ff6;
A299d2dac7865247:
$B93606dc467fa184 = $A963e07ce47787da - substr($cf397b349f533737, 1);
f4d15fb881f33ff6:
$ceb330df8e425c1e =
$ceb330df8e425c1e > $b54a5805c0b9816e
? $b54a5805c0b9816e
: $ceb330df8e425c1e;
goto A034b7e4a3072f84;
E83846bdbbbafcaa:
curl_setopt($ab701fbbd66214d9, CURLOPT_TIMEOUT, 0);
curl_setopt($ab701fbbd66214d9, CURLOPT_URL, $D87b5385dbd51b7a);
curl_setopt($ab701fbbd66214d9, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ab701fbbd66214d9, CURLOPT_HEADER, false);
curl_setopt($ab701fbbd66214d9, CURLOPT_FRESH_CONNECT, true);
goto b0da6e110fe178ff;
c07851aa3a94d518:
f87f3ab1edf894fc:
if (
!(
!feof($B3299684b062e356) &&
($d377136ebbbc4aad = ftell($B3299684b062e356)) <= $b54a5805c0b9816e
)
) {
goto c7bb309fcb2695b8;
}
$Fca04b1755da7bd5 = stream_get_line($B3299684b062e356, $E6ebe1d751d53850);
$df6991d59f367c7e++;
if (
!$C68806fdb3a44273 &&
$Ab9c356586c66169 * $E6ebe1d751d53850 >= $dd4738a94cfafd4f
) {
goto D64259dc07488935;
}
goto a213e97de474cfb2;
A677f6b4e5b1655f:
$C98e11437faf4199 = getmypid();
$a3833dd746792f79 = false;
if (isset(XUI::$rRequest["token"])) {
goto D8d29a1942a2a342;
}
generateError(
"NO_TOKEN_SPECIFIED"
);
goto A0505401f67cf0e9;
goto b058a5cdef008517;
Ba4c483a1956e372:
XUI::$db->query(
"SELECT `server_id`, `activity_id`, `pid`, `user_ip` FROM `lines_live` WHERE `hmac_id` = ? AND `hmac_identifier` = ? AND `container` = ? AND `user_agent` = ? AND `stream_id` = ?;",
$B42b41618bca71aa,
$F2db9d2971f5c8c4,
"VOD",
$Ecc2c91f94cb4fcb,
$ee6d1fc5d801b43f
);
goto e3160b633ae28ca1;
a46235a2a660fcb7:
XUI::$db->query(
"SELECT `server_id`, `activity_id`, `pid`, `user_ip` FROM `lines_live` WHERE `user_id` = ? AND `container` = ? AND `user_agent` = ? AND `stream_id` = ?;",
$E59d0debc75e7be8["id"],
"VOD",
$Ecc2c91f94cb4fcb,
$ee6d1fc5d801b43f
);
e3160b633ae28ca1:
goto d827fd9868104f67;
b0da6e110fe178ff:
curl_setopt($ab701fbbd66214d9, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ab701fbbd66214d9, CURLOPT_NOBODY, false);
curl_setopt($ab701fbbd66214d9, CURLOPT_RETURNTRANSFER, false);
curl_exec($ab701fbbd66214d9);
goto C451743168c87913;
ae47832bad10761e:
Cee92690a6468f86:
f5ada2fb7820e942:
$dc5606d1246e5b81 = !empty($Bf9899a172ecff52["bitrate"])
? $Bf9899a172ecff52["bitrate"] * 125
: 0;
$dc5606d1246e5b81 +=
$dc5606d1246e5b81 *
XUI::$rSettings[
"vod_bitrate_plus"
] *
0.01;
$a0427f79dbb6d965 = VOD_PATH . $ee6d1fc5d801b43f . . $Daecfbd6410b9c42;
goto Cc4f211514d098ca;
a2df9737a14d4ea3:
goto ce7d5d0a0389b44c;
e0b5f2679c16c052:
$dd4738a94cfafd4f = intval(
$Fc7fdb080dbcd39f *
floatval(
XUI::$rSettings[
"vod_limit_perc"
] / 100
)
);
ce7d5d0a0389b44c:
$C68806fdb3a44273 = false;
goto c07851aa3a94d518;
ae21faab891665df:
echo $Fca04b1755da7bd5;
$C7507a8c12d18fcd += strlen($Fca04b1755da7bd5);
if (!(time() - $c07feb8989fb7333 >= 30)) {
goto F6c9bcce250b93b7;
}
file_put_contents($Be810706f2b4b3fd, intval($C7507a8c12d18fcd / 1024 / 30));
$c07feb8989fb7333 = time();
goto ddf715a219532484;
d5f7783fd3e6bf9d:
$bcfd61adc96d4b72 = $B93606dc467fa184;
$b54a5805c0b9816e = $ceb330df8e425c1e;
$Fc7fdb080dbcd39f = $b54a5805c0b9816e - $bcfd61adc96d4b72 + 1;
fseek($B3299684b062e356, $bcfd61adc96d4b72);
header(
"HTTP/1.1 6 Partial Content"
);
goto a0ea7402735d00fb;
ffa6c958e66fec8a:
$a0427f79dbb6d965 = VOD_PATH . $ee6d1fc5d801b43f . . $Daecfbd6410b9c42;
if (!(!file_exists($a0427f79dbb6d965) && !$D87b5385dbd51b7a)) {
goto A63dd8128a831ac4;
}
generateError(
"VOD_DOESNT_EXIST"
);
A63dd8128a831ac4:
if (!(XUI::$rSettings["use_buffer"] == 0)) {
goto A2950489bc96bb18;
}
goto abca9003dfc09c74;
A7a6f7192846ca84:
E3ca2f6f69ef2e3f:
if ($cf397b349f533737 == "-") {
goto A299d2dac7865247;
}
$cf397b349f533737 = explode("-", $cf397b349f533737);
$B93606dc467fa184 = $cf397b349f533737[0];
$ceb330df8e425c1e =
isset($cf397b349f533737[1]) && is_numeric($cf397b349f533737[1])
? $cf397b349f533737[1]
: $A963e07ce47787da;
goto E5927929e1351546;
b058a5cdef008517:
D8d29a1942a2a342:
$D8713f4c40d502da = json_decode(
Xui\Functions::decrypt(
XUI::$rRequest["token"],
XUI::$rSettings[
"live_streaming_pass"
],
OPENSSL_EXTRA
),
true
);
if (is_array($D8713f4c40d502da)) {
goto D839c39674ffc9d6;
}
XUI::b8bf88ACf4434674(
0,
0,
"LB_TOKEN_INVALID",
$b38e11ffdc6a3abb
);
generateError(
"LB_TOKEN_INVALID"
);
goto C652f025525b122c;
c6c4ea04887c8ec6:
$Bf9899a172ecff52 =
$D8713f4c40d502da["channel_info"];
$E59d0debc75e7be8 = $D8713f4c40d502da["user_info"];
$cf966392b8a80496 =
$D8713f4c40d502da[
"activity_start"
];
$Ed75bdbe6497efd6 =
$D8713f4c40d502da["country_code"];
$a3833dd746792f79 = $D8713f4c40d502da["is_mag"];
goto d2c17aad9938214e;
e4ba37adbc32bad5:
E06150ac78c87071:
goto Dfc7cd3c40021f6b;
B9af1f0e3713e553:
if (XUI::$rSettings["redis_handler"]) {
goto Facb72c9bf6416f3;
}
$D577b2a7889a5fb6 = XUI::$db->query(
"INSERT INTO `lines_live` (`user_id`,`stream_id`,`server_id`,`proxy_id`,`user_agent`,`user_ip`,`container`,`pid`,`uuid`,`date_start`,`geoip_country_code`,`isp`) VALUES(?,?,?,?,?,?,?,?,?,?,?,?);",
$E59d0debc75e7be8["id"],
$ee6d1fc5d801b43f,
$C082ca9ed03f473c,
$Bdf1a4d575de41e8,
$Ecc2c91f94cb4fcb,
$b38e11ffdc6a3abb,
"VOD",
$C98e11437faf4199,
$D8713f4c40d502da["uuid"],
$cf966392b8a80496,
$Ed75bdbe6497efd6,
$E59d0debc75e7be8["con_isp_name"]
);
goto d071a28044c3f6e6;
c3824d98071d5eae:
b11296847385a0d7:
$Fd10d59f87b19e71 = XUI::$db->get_row();
da5002872d6b2746:
goto D9e2224259363cd1;
Cf51dde1bf9ddeeb:
goto af81ac105bbdba20;
dea276c6e32b29b9:
XUI::$db->query(
"INSERT INTO `signals` (`pid`,`server_id`,`time`) VALUES(?,?,UNIX_TIMESTAMP())",
$Fd10d59f87b19e71["pid"],
$Fd10d59f87b19e71["server_id"]
);
goto d73e3ed6ce491ff2;
de4efa8dd4f6e40f:
posix_kill(intval($Fd10d59f87b19e71["pid"]), 9);
d73e3ed6ce491ff2:
goto d55f07dd991bba93;
ed6ab492774ca122:
ob_implicit_flush(true);
d5c51dac6dcd4461:
if (!ob_get_level()) {
goto deb1d7e0eb0b5787;
}
goto d5c51dac6dcd4461;
goto abd34a8152e0d7b4;
d2c17aad9938214e:
$D87b5385dbd51b7a = $Bf9899a172ecff52["proxy"] ?: null;
if (
!(
!empty($D8713f4c40d502da["http_range"]) &&
!isset($_SERVER["HTTP_RANGE"])
)
) {
goto C7e90b8de8441d3c;
}
$_SERVER["HTTP_RANGE"] =
$D8713f4c40d502da["http_range"];
C7e90b8de8441d3c:
A0505401f67cf0e9:
goto ffa6c958e66fec8a;
A034b7e4a3072f84:
if (
!(
$B93606dc467fa184 > $ceb330df8e425c1e ||
$B93606dc467fa184 > $A963e07ce47787da - 1 ||
$ceb330df8e425c1e >= $A963e07ce47787da
)
) {
goto B00aa7a6038713d2;
}
header(
"HTTP/1q16 Requested Range Not Satisfiable"
);
header(
"Content-Range: bytes {$bcfd61adc96d4b72}-{$b54a5805c0b9816e}/{$A963e07ce47787da}"
);
B00aa7a6038713d2:
goto d5f7783fd3e6bf9d;
d4118b2352e534db:
Ee0a1187f7249bce:
if ($cf397b349f533737 == "-") {
goto Bb70ddd795de4579;
}
$cf397b349f533737 = explode("-", $cf397b349f533737);
$B93606dc467fa184 = $cf397b349f533737[0];
goto B5cf85999521659e;
d55f07dd991bba93:
f2c2ae5ddb124038:
if (XUI::$rSettings["redis_handler"]) {
goto b3418444a4b43e87;
}
$D577b2a7889a5fb6 = XUI::$db->query(
"UPDATE `lines_live` SET `hls_end` = 0, `pid` = ? WHERE `activity_id` = ?;",
$C98e11437faf4199,
$Fd10d59f87b19e71["activity_id"]
);
goto bbc54c9c64d7241b;
b3418444a4b43e87:
goto Dbf7625aca7c3e22;
Bb44e16fcbcd047d:
if (XUI::$rSettings["redis_handler"]) {
goto Cf51dde1bf9ddeeb;
}
XUI::$db->query(
"SELECT `server_id`, `activity_id`, `pid`, `user_ip` FROM `lines_live` WHERE `uuid` = ?;",
$D8713f4c40d502da["uuid"]
);
if (XUI::$db->num_rows() > 0) {
goto b11296847385a0d7;
}
if (empty($_SERVER["HTTP_RANGE"])) {
goto A44005dcaf87e24e;
}
if (!$B42b41618bca71aa) {
goto a46235a2a660fcb7;
}
goto Ba4c483a1956e372;
d071a28044c3f6e6:
goto b1a618a459b59e6d;
Facb72c9bf6416f3:
$C4fb5206e20e0da3 = [
"user_id" => $E59d0debc75e7be8["id"],
"stream_id" => $ee6d1fc5d801b43f,
"server_id" => $C082ca9ed03f473c,
"proxy_id" => $Bdf1a4d575de41e8,
"user_agent" => $Ecc2c91f94cb4fcb,
"user_ip" => $b38e11ffdc6a3abb,
"container" => "VOD",
"pid" => $C98e11437faf4199,
"date_start" => $cf966392b8a80496,
"geoip_country_code" => $Ed75bdbe6497efd6,
"isp" =>
$E59d0debc75e7be8["con_isp_name"],
"external_device" => "",
"hls_end" => 0,
"hls_last_read" =>
time() -
intval(
XUI::$rServers[SERVER_ID][
"time_offset"
]
),
"on_demand" => 0,
"identity" => $E59d0debc75e7be8["id"],
"uuid" => $D8713f4c40d502da["uuid"],
];
$D577b2a7889a5fb6 = XUI::F0F969DFd05C0d20($C4fb5206e20e0da3);
b1a618a459b59e6d:
goto bc5722b31e2113b3;
C851ee355d36d810:
fa2a8f717a01ca41:
XUI::b169Ec7c69BE8117();
e4bc69e56530b1d2:
$e86305b8c3ef9738 = true;
if (
!XUI::$rSettings[
"monitor_connection_status"
]
) {
goto c7ce242566dea3ea;
}
goto ed6ab492774ca122;
a6a6ad31b6c1650a:
f86360cb2f729aff:
if (
!(
empty(
XUI::$rSettings[
"send_unique_header_domain"
]
) && !filter_var(HOST, FILTER_VALIDATE_IP)
)
) {
goto ee4748a2ae3eb2d6;
}
XUI::$rSettings[
"send_unique_header_domain"
] = . HOST;
ee4748a2ae3eb2d6:
if (
empty(
XUI::$rSettings[
"send_unique_header"
]
)
) {
goto ee28c516eb7ae53c;
}
goto e5c3fbff718e0462;
cca4239e2faa4e4d:
$b38e11ffdc6a3abb = XUI::AD72b4259cA295B2();
$Ecc2c91f94cb4fcb = empty(
$_SERVER["HTTP_USER_AGENT"]
)
? ""
: htmlentities(
trim(
$_SERVER[
"HTTP_USER_AGENT"
]
)
);
$Be810706f2b4b3fd = null;
$af895dada1de7cb4 = 0;
$e86305b8c3ef9738 = false;
goto A677f6b4e5b1655f;
af81ac105bbdba20:
$Fd10d59f87b19e71 = XUI::bE6DEc2CDeCAEa1D(
$D8713f4c40d502da["uuid"]
);
D9e2224259363cd1:
if (!$Fd10d59f87b19e71) {
goto f22e261e80889eea;
}
$Ed48a28037cd1e3e = XUI::$rSettings[
"ip_subnet_match"
]
? implode(
,
array_slice(
explode(
,
$Fd10d59f87b19e71["user_ip"]
),
0,
-1
)
) ==
implode(, array_slice(explode(, $b38e11ffdc6a3abb), 0, -1))
: $Fd10d59f87b19e71["user_ip"] == $b38e11ffdc6a3abb;
if (
!(
!$Ed48a28037cd1e3e &&
XUI::$rSettings[
"restrict_same_ip"
]
)
) {
goto B26815ef20ce7fad;
}
goto A3c47a886b088626;
Dbf7625aca7c3e22:
$B1d0cd7d7303c373 = [
"pid" => $C98e11437faf4199,
"hls_last_read" =>
time() -
intval(
XUI::$rServers[SERVER_ID][
"time_offset"
]
),
];
if (
$Fd10d59f87b19e71 = XUI::E0f521e9e3bf0855(
$Fd10d59f87b19e71,
$B1d0cd7d7303c373,
"open"
)
) {
goto Faab56419c617dbc;
}
$D577b2a7889a5fb6 = false;
goto Bd6f3745a3e94d3d;
Faab56419c617dbc:
goto bb7480895f652458;
Ea9024582216af5c:
$ceb330df8e425c1e = $b54a5805c0b9816e;
list(, $cf397b349f533737) = explode(
"=",
$_SERVER["HTTP_RANGE"],
2
);
if (!(strpos($cf397b349f533737, ",") !== false)) {
goto Ee0a1187f7249bce;
}
header(
"HTTP/1.1 4 Requested Range Not Satisfiable"
);
header(
"Content-Range: bytes {$bcfd61adc96d4b72}-{$b54a5805c0b9816e}/{$A963e07ce47787da}"
);
goto d4118b2352e534db;
f476d4873d411fa1:
Fb3197c89dee8d8f:
if (!($A963e07ce47787da > 512 * 1024 * 1024)) {
goto c22e60307a0f7c71;
}
$C730568d2223ba64 = !empty($Bf9899a172ecff52["bitrate"])
? (($A963e07ce47787da * 0.008) /
$Bf9899a172ecff52["bitrate"]) *
125 *
3
: 20 * 1024 * 1024;
if (!($C730568d2223ba64 < 1 * 1024 * 1024)) {
goto A9752bf70431ef5c;
}
$C730568d2223ba64 = 1 * 1024 * 1024;
goto ef95302bf4d99209;
bcedfb2f899336e3:
$b54a5805c0b9816e = $A963e07ce47787da - 1;
header(
"Accept-Ranges: 0-{$Fc7fdb080dbcd39f}"
);
if (empty($_SERVER["HTTP_RANGE"])) {
goto C4e5a2f7a45b3192;
}
$B93606dc467fa184 = $bcfd61adc96d4b72;
$ceb330df8e425c1e = $b54a5805c0b9816e;
goto Be1cf60258c58eb2;
F22c5eb111477b05:
$D577b2a7889a5fb6 = XUI::$db->query(
"INSERT INTO `lines_live` (`hmac_id`,`hmac_identifier`,`stream_id`,`server_id`,`proxy_id`,`user_agent`,`user_ip`,`container`,`pid`,`uuid`,`date_start`,`geoip_country_code`,`isp`) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?)",
$B42b41618bca71aa,
$F2db9d2971f5c8c4,
$ee6d1fc5d801b43f,
$C082ca9ed03f473c,
$Bdf1a4d575de41e8,
$Ecc2c91f94cb4fcb,
$b38e11ffdc6a3abb,
"VOD",
$C98e11437faf4199,
$D8713f4c40d502da["uuid"],
$cf966392b8a80496,
$Ed75bdbe6497efd6,
$E59d0debc75e7be8["con_isp_name"]
);
goto E06150ac78c87071;
D16d27b76eeb36f8:
$C4fb5206e20e0da3 = [
"hmac_id" => $B42b41618bca71aa,
"hmac_identifier" => $F2db9d2971f5c8c4,
"stream_id" => $ee6d1fc5d801b43f,
"server_id" => $C082ca9ed03f473c,
"proxy_id" => $Bdf1a4d575de41e8,
"user_agent" => $Ecc2c91f94cb4fcb,
"user_ip" => $b38e11ffdc6a3abb,
"container" => "VOD",
"pid" => $C98e11437faf4199,
"date_start" => $cf966392b8a80496,
"geoip_country_code" => $Ed75bdbe6497efd6,
"isp" =>
$E59d0debc75e7be8["con_isp_name"],
"external_device" => "",
"hls_end" => 0,
"hls_last_read" =>
time() -
intval(
XUI::$rServers[SERVER_ID][
"time_offset"
]
),
"on_demand" => 0,
"identity" =>
$B42b41618bca71aa . "_" . $F2db9d2971f5c8c4,
"uuid" => $D8713f4c40d502da["uuid"],
];
$D577b2a7889a5fb6 = XUI::f0f969dfD05C0d20($C4fb5206e20e0da3);
goto e4ba37adbc32bad5;
C8231812050d9ccc:
$F2db9d2971f5c8c4 =
$D8713f4c40d502da["identifier"];
da5cf12d52ccdc90:
$ee6d1fc5d801b43f = intval(
$D8713f4c40d502da["stream_id"]
);
$Daecfbd6410b9c42 = $D8713f4c40d502da["extension"];
$A7d54b094ae83c95 = $D8713f4c40d502da["type"];
goto c6c4ea04887c8ec6;
Be1cf60258c58eb2:
list(, $cf397b349f533737) = explode(
"=",
$_SERVER["HTTP_RANGE"],
2
);
if (!(strpos($cf397b349f533737, ",") !== false)) {
goto E3ca2f6f69ef2e3f;
}
header(
"HTTP/1.1 6 Requested Range Not Satisfiable"
);
header(
"Content-Range: bytes {$bcfd61adc96d4b72}-{$b54a5805c0b9816e}/{$A963e07ce47787da}"
);
goto A7a6f7192846ca84;
Bce988c850180ecc:
f06b7ad319dd5f38:
header(
"Content-Range: bytes {$bcfd61adc96d4b72}-{$b54a5805c0b9816e}/{$A963e07ce47787da}"
);
header(
"Content-Length: " .
$Fc7fdb080dbcd39f
);
$ab701fbbd66214d9 = curl_init();
if (!isset($_SERVER["HTTP_RANGE"])) {
goto Fb3197c89dee8d8f;
}
goto C99ed8aee75cce4c;
c16d30362804fbd7:
if (
!(
!file_exists(CONS_TMP_PATH . $D8713f4c40d502da["uuid"]) &&
time() >
$cf966392b8a80496 +
$d1d78c768c128cbc -
intval(
XUI::$rServers[SERVER_ID][
"time_offset"
]
)
)
) {
goto f131c6d55642ad9e;
}
generateError("TOKEN_EXPIRED");
f131c6d55642ad9e:
if (!$B42b41618bca71aa) {
goto B9af1f0e3713e553;
}
if (XUI::$rSettings["redis_handler"]) {
goto D16d27b76eeb36f8;
}
goto F22c5eb111477b05;
ddf715a219532484:
$C7507a8c12d18fcd = 0;
F6c9bcce250b93b7:
if (
!(
$dc5606d1246e5b81 > 0 &&
$C68806fdb3a44273 &&
$df6991d59f367c7e >= ceil($dc5606d1246e5b81 / $E6ebe1d751d53850)
)
) {
goto e313e6d31635caa4;
}
sleep(1);
$df6991d59f367c7e = 0;
goto b70cff7e6f69974f;
C652f025525b122c:
D839c39674ffc9d6:
if (
!(
isset($D8713f4c40d502da["expires"]) &&
time() -
intval(
XUI::$rServers[SERVER_ID][
"time_offset"
]
) >
$D8713f4c40d502da["expires"]
)
) {
goto a45ba60f24c3d24e;
}
generateError("TOKEN_EXPIRED");
a45ba60f24c3d24e:
if (isset($D8713f4c40d502da["hmac_id"])) {
goto F00ac06f83276258;
}
goto Cb421e02f3c4f317;
B5cf85999521659e:
$ceb330df8e425c1e =
isset($cf397b349f533737[1]) && is_numeric($cf397b349f533737[1])
? $cf397b349f533737[1]
: $A963e07ce47787da;
goto ad36aeef01884b06;
Bb70ddd795de4579:
$B93606dc467fa184 = $A963e07ce47787da - substr($cf397b349f533737, 1);
ad36aeef01884b06:
goto d630675ccd4db3b6;
B334276fa29e9373:
$F43fcc82aa69fa08 = is_array(
$df59d69b3ccd0f39["Content-Type"]
)
? $df59d69b3ccd0f39["Content-Type"][
count(
$df59d69b3ccd0f39["Content-Type"]
) - 1
]
: $df59d69b3ccd0f39["Content-Type"];
$A963e07ce47787da = $Fc7fdb080dbcd39f =
$df59d69b3ccd0f39[
"Content-Length"
];
if (
$Fc7fdb080dbcd39f > 0 &&
in_array($F43fcc82aa69fa08, [
"video/mp4",
"video/x-matroska",
"video/x-msvideo",
"video/3gpp",
"video/x-flv",
"video/x-ms-wmv",
"video/quicktime",
"video/mp2t",
"video/mpeg",
"application/octet-stream",
])
) {
goto e4a74691b11fdcc1;
}
generateError(
"VOD_DOESNT_EXIST"
);
goto f6cb49298a953196;
goto d23df095e3e4256d;
ca224800e893c23b:
Ad23a711001d58d4:
XUI::d90dbf4052Cb302F(
$E59d0debc75e7be8,
$B42b41618bca71aa,
$F2db9d2971f5c8c4,
$b38e11ffdc6a3abb,
$Ecc2c91f94cb4fcb
);
if (XUI::$rSettings["redis_handler"]) {
goto fa2a8f717a01ca41;
}
XUI::Fda008e955Dd4fe2();
goto e4bc69e56530b1d2;
goto C851ee355d36d810;
d23df095e3e4256d:
e4a74691b11fdcc1:
if (!$df59d69b3ccd0f39["Location"]) {
goto e429b83caffca4fb;
}
$D87b5385dbd51b7a = $df59d69b3ccd0f39["Location"];
e429b83caffca4fb:
header(
"Content-Type: " . $F43fcc82aa69fa08
);
goto aaa3a232e1e2d252;
abca9003dfc09c74:
header(
"X-Accel-Buffering: no"
);
A2950489bc96bb18:
if ($Bf9899a172ecff52) {
goto aa0a2e668bbd0549;
}
generateError("TOKEN_ERROR");
goto A32676c3a20368d9;
goto ce6c206466e25398;
e5c3fbff718e0462:
$Dcd345fd677c6c87 = new DateTime(
"^ months",
new DateTimeZone("GMT")
);
header(
"Set-Cookie: " .
XUI::$rSettings[
"send_unique_header"
] .
"=" .
XUI::AE400ee4d91071a5(11) .
"; Domain=" .
XUI::$rSettings[
"send_unique_header_domain"
] .
"; Expires=" .
$Dcd345fd677c6c87->format(DATE_RFC2822) .
"; Path=/; Secure; HttpOnly; SameSite=none"
);
ee28c516eb7ae53c:
$d1d78c768c128cbc = 60;
$Bdf1a4d575de41e8 = null;
goto cca4239e2faa4e4d;
Cb421e02f3c4f317:
$ff5cf44f96903d64 = $D8713f4c40d502da["username"];
$fd093b5358e9a519 = $D8713f4c40d502da["password"];
goto da5cf12d52ccdc90;
F00ac06f83276258:
$B42b41618bca71aa = $D8713f4c40d502da["hmac_id"];
goto C8231812050d9ccc;
ce6c206466e25398:
aa0a2e668bbd0549:
if ($Bf9899a172ecff52["originator_id"]) {
goto da42114814919efb;
}
$C082ca9ed03f473c =
$Bf9899a172ecff52["redirect_id"] ?:
SERVER_ID;
$Bdf1a4d575de41e8 = null;
goto D6438fda411e3d5a;
goto Dcc47f5b423dfdfd;
D065ab95d856db3d:
$Ecd061b6f73036ea = time();
B213a70c891a819e:
if (!(time() - $f8bd5a091fcdba80 >= 300)) {
goto cbb64346ecfec4f7;
}
$f8bd5a091fcdba80 = time();
$Fd10d59f87b19e71 = null;
goto f84c4bed29d96a72;
C451743168c87913:
f6cb49298a953196:
goto b8d0f699be5aba3b;
baf2ba18e93bf76e:
$Be810706f2b4b3fd = DIVERGENCE_TMP_PATH . $D8713f4c40d502da["uuid"];
switch (
$Bf9899a172ecff52[
"target_container"
]
) {
case "mp4":
case "m4v":
header(
"Content-type: video/mp4"
);
goto f5ada2fb7820e942;
case "mkv":
header(
"Content-type: video/x-matroska"
);
goto f5ada2fb7820e942;
case "avi":
header(
"Content-type: video/x-msvideo"
);
goto f5ada2fb7820e942;
case "3gp":
header(
"Content-type: video{gpp"
);
goto f5ada2fb7820e942;
case "flv":
header(
"Content-type: video/x-flv"
);
goto f5ada2fb7820e942;
case "wmv":
header(
"Content-type: video/x-ms-wmv"
);
goto f5ada2fb7820e942;
case "mov":
header(
"Content-type: video/quicktime"
);
goto f5ada2fb7820e942;
case "ts":
header(
"Content-type: video/mp2t"
);
goto f5ada2fb7820e942;
case "mpg":
case "mpeg":
header(
"Content-Type: video/mpeg"
);
goto f5ada2fb7820e942;
default:
header(
"Content-Type: application/octet-stream"
);
}
goto ae47832bad10761e;
C6a451a7a379ce2c:
XUI::D6aeB3175A43f301();
$Fd10d59f87b19e71 = XUI::BE6DEC2CDEcaea1D(
$D8713f4c40d502da["uuid"]
);
XUI::B169Ec7c69Be8117();
A21ee85f8b16f52d:
if (
!(
!is_array($Fd10d59f87b19e71) or
$Fd10d59f87b19e71["hls_end"] != 0 or
$Fd10d59f87b19e71["pid"] != $C98e11437faf4199
)
) {
goto Dc242a69129e47ea;
}
goto C55eaac552136f92;
d827fd9868104f67:
if (!(XUI::$db->num_rows() > 0)) {
goto E5472c5765a5aa82;
}
$Fd10d59f87b19e71 = XUI::$db->get_row();
E5472c5765a5aa82:
A44005dcaf87e24e:
goto da5002872d6b2746;
goto c3824d98071d5eae;
a0ea7402735d00fb:
C4e5a2f7a45b3192:
header(
"Content-Range: bytes {$bcfd61adc96d4b72}-{$b54a5805c0b9816e}/{$A963e07ce47787da}"
);
header(
"Content-Length: " .
$Fc7fdb080dbcd39f
);
$f8bd5a091fcdba80 = $c07feb8989fb7333 = $Ecd061b6f73036ea = time();
$C7507a8c12d18fcd = 0;
goto bdf82e2ab548a671;
aaa3a232e1e2d252:
header(
"Accept-Ranges: bytes"
);
$bcfd61adc96d4b72 = 0;
$b54a5805c0b9816e = $A963e07ce47787da - 1;
if (empty($_SERVER["HTTP_RANGE"])) {
goto f06b7ad319dd5f38;
}
$B93606dc467fa184 = $bcfd61adc96d4b72;
goto Ea9024582216af5c;
f84c4bed29d96a72:
XUI::$rSettings = XUI::E74A9a4510C4FfE4("settings");
if (XUI::$rSettings["redis_handler"]) {
goto b2f8ce517b68b0ac;
}
XUI::E43c27eBf86B4c47();
XUI::$db->query(
"SELECT `pid`, `hls_end` FROM `lines_live` WHERE `uuid` = ?",
$D8713f4c40d502da["uuid"]
);
if (!(XUI::$db->num_rows() == 1)) {
goto a85f0f565e81dedb;
}
goto bd69b095d3c3054a;
a213e97de474cfb2:
$Ab9c356586c66169++;
goto F9a9d6de2f1762c5;
D64259dc07488935:
$C68806fdb3a44273 = true;
F9a9d6de2f1762c5:
goto ae21faab891665df;
A7ea1fc1c4010384:
function shutdown()
{
goto f97f503ab1ed067c;
Ecc12e15cfa76e4a:
B3a45c0d6f55da0d:
XUI::fda008E955Dd4fe2();
faa072f7d088f7d5:
goto A9c2203c6b39dc5d;
A9b960b1fa6af76c:
XUI::E43C27EBf86B4c47();
d840da775416d161:
XUI::$db->query(
"UPDATE `lines_live` SET `hls_end` = 1, `hls_last_read` = ? WHERE `uuid` = ? AND `pid` = ?;",
time() -
intval(
XUI::$rServers[SERVER_ID][
"time_offset"
]
),
$D8713f4c40d502da["uuid"],
$C98e11437faf4199
);
goto f3002414e1d5e88d;
dcd03f1e0095c3de:
goto a495e9313d7ace7e;
f97f503ab1ed067c:
global $e86305b8c3ef9738, $D8713f4c40d502da, $C98e11437faf4199;
XUI::$rSettings = XUI::e74A9A4510C4fFE4("settings");
if (!$e86305b8c3ef9738) {
goto d72c08f725ae7dab;
}
if (
XUI::$rSettings["redis_handler"]
) {
goto dcd03f1e0095c3de;
}
if (is_object(XUI::$db)) {
goto d840da775416d161;
}
goto A9b960b1fa6af76c;
d3204edadd6284f0:
if (
!XUI::$rSettings[
"redis_handler"
] &&
is_object(XUI::$db)
) {
goto B3a45c0d6f55da0d;
}
if (
!(
XUI::$rSettings[
"redis_handler"
] && is_object(XUI::$redis)
)
) {
goto E142f429a4a0803c;
}
XUI::b169eC7c69Be8117();
E142f429a4a0803c:
goto faa072f7d088f7d5;
goto Ecc12e15cfa76e4a;
ccaeef155cab58e5:
$B1d0cd7d7303c373 = [
"hls_last_read" =>
time() -
intval(
XUI::$rServers[SERVER_ID][
"time_offset"
]
),
];
XUI::e0F521e9E3BF0855(
$Fd10d59f87b19e71,
$B1d0cd7d7303c373,
"close"
);
c3b8f83d009a0a7f:
f3002414e1d5e88d:
d72c08f725ae7dab:
goto d3204edadd6284f0;
a495e9313d7ace7e:
if (is_object(XUI::$redis)) {
goto f922c5ed6d5b1ab9;
}
XUI::D6Aeb3175a43f301();
f922c5ed6d5b1ab9:
$Fd10d59f87b19e71 = XUI::Be6dec2CDeCaEa1D(
$D8713f4c40d502da["uuid"]
);
if (
!(
$Fd10d59f87b19e71 &&
$Fd10d59f87b19e71["pid"] == $C98e11437faf4199
)
) {
goto c3b8f83d009a0a7f;
}
goto ccaeef155cab58e5;
A9c2203c6b39dc5d:
}
© 2023 Quttera Ltd. All rights reserved.