|
|
|
@ -4,7 +4,16 @@ if(!defined('SYSTEM')) {exit();}
|
|
|
|
|
|
|
|
|
|
// 判断要转发的内容
|
|
|
|
|
$path = explode('/index.php', $_SERVER['PHP_SELF'])[0];
|
|
|
|
|
$query = str_replace("/&", "", $_SERVER['QUERY_STRING']);
|
|
|
|
|
$query = str_replace("&&", "",str_replace("/&", "", $_SERVER['QUERY_STRING']));
|
|
|
|
|
// 修复参数开头为 & 的问题
|
|
|
|
|
if (substr($query,0,1) == "&") {
|
|
|
|
|
$query = substr($query,1);
|
|
|
|
|
}
|
|
|
|
|
// 日志参数
|
|
|
|
|
if (SAVE_LOG == 1) {
|
|
|
|
|
define('PATH', $path);
|
|
|
|
|
define('QUERY', $query);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
define('ACCESS_KEY', @$_GET['access_key']);
|
|
|
|
|
define('CID', @$_GET['cid']);
|
|
|
|
@ -17,10 +26,11 @@ $baned = 0;
|
|
|
|
|
$th_paths = array("/intl/gateway/v2/app/search/type","/intl/gateway/v2/app/search/v2","/intl/gateway/v2/app/subtitle","/intl/gateway/web/v2/subtitle","/intl/gateway/v2/ogv/view/app/season","/intl/gateway/v2/ogv/view/app/season2","/intl/gateway/v2/ogv/playurl","/intl/gateway/v2/ogv/view/app/episode");
|
|
|
|
|
$get_area = @$_GET['area'];
|
|
|
|
|
if (BILIROAMING_VERSION == '' && BILIROAMING_VERSION_CODE == '') {
|
|
|
|
|
if (BILIROAMING == 1 && WEB_ON == 0 && $path!="") { //仅限漫游用户,且未开放web脚本
|
|
|
|
|
if (BILIROAMING == 1 && WEB_ON == 0 && $path!="") { // 仅限漫游用户,且未开放web脚本
|
|
|
|
|
define('AREA', $get_area);
|
|
|
|
|
block(10, "本服务器限漫游使用");
|
|
|
|
|
}
|
|
|
|
|
if ($get_area == '' || $get_area == 'false') { //web脚本,兼容泰区无area情况
|
|
|
|
|
if ($get_area == '' || $get_area == 'false') { // web脚本,兼容泰区无area情况
|
|
|
|
|
if (in_array($path, $th_paths)) {
|
|
|
|
|
define('AREA', 'th');
|
|
|
|
|
} else {
|
|
|
|
@ -30,10 +40,7 @@ if (BILIROAMING_VERSION == '' && BILIROAMING_VERSION_CODE == '') {
|
|
|
|
|
define('AREA', $get_area);
|
|
|
|
|
}
|
|
|
|
|
} elseif (BILIROAMING_VERSION != '' && BILIROAMING_VERSION_CODE != '') {
|
|
|
|
|
if ((int)BILIROAMING_VERSION_CODE < ROAMING_MIN_VER) {
|
|
|
|
|
block(14, "哔哩漫游模块版本过低");
|
|
|
|
|
}
|
|
|
|
|
//适配老漫游版本,兼容泰区无area情况
|
|
|
|
|
// 适配老漫游版本,兼容泰区无area情况
|
|
|
|
|
if ($get_area == '') {
|
|
|
|
|
if (in_array($path, $th_paths)) {
|
|
|
|
|
define('AREA', 'th');
|
|
|
|
@ -43,6 +50,12 @@ if (BILIROAMING_VERSION == '' && BILIROAMING_VERSION_CODE == '') {
|
|
|
|
|
} else {
|
|
|
|
|
define('AREA', $get_area);
|
|
|
|
|
}
|
|
|
|
|
// 检查版本号
|
|
|
|
|
if ((int)BILIROAMING_VERSION_CODE < ROAMING_MIN_VER) {
|
|
|
|
|
block(14, "哔哩漫游模块版本过低");
|
|
|
|
|
} elseif ((int)BILIROAMING_VERSION_CODE > ROAMING_MAX_VER && ROAMING_MAX_VER != 0) {
|
|
|
|
|
block(16, "哔哩漫游模块版本过高");
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
block(15, "错误请求头");
|
|
|
|
|
}
|
|
|
|
@ -61,7 +74,18 @@ if (in_array(AREA, $BAN_SERVER_AREA)) {
|
|
|
|
|
block(13, "不支持解锁「".AREA."」地区,请将「".AREA."」改用其他解析服务器");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 写入日志(非 playurl)
|
|
|
|
|
if (SAVE_LOG == 1 && $type != 1) {
|
|
|
|
|
write_log();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function block($code, $reason){
|
|
|
|
|
// 写入日志
|
|
|
|
|
if (SAVE_LOG == 1 && $code <= 20) {
|
|
|
|
|
define('BAN_CODE', $code);
|
|
|
|
|
write_log();
|
|
|
|
|
}
|
|
|
|
|
// 返回内容
|
|
|
|
|
http_response_code(200); // B站就是都返回200
|
|
|
|
|
exit('{"code":-'.$code.',"message":"'.$reason.'('.$code.')"}');
|
|
|
|
|
}
|
|
|
|
|