Compare commits

...

2 Commits

  1. 23
      functions.php
  2. 4
      index.php

@ -312,9 +312,18 @@ function getImgOneindex($path){
function getImgCDN($path){
preg_match_all('/img_(\S*?)_(\d{2,4})x(\d{2,4})_(\S*?)_(\S*?)_(\S*?).(jpe?g|png|gif|svg)\b/', $path, $arr);
return str_replace('yimian-image.obs.cn-east-2.myhuaweicloud.com:443/moe','cdn.jsdelivr.net/npm/ushio-api-img-moe@5.0.'.intval($arr[1][0]/10).'',obsSign($path, $time));
return str_replace('moe','https://cdn.jsdelivr.net/npm/ushio-api-img-moe@5.0.'.intval($arr[1][0]/10).'',$path);
}
function getImgCDNwallpaper($path){
preg_match_all('/img_(\S*?)_(\d{2,4})x(\d{2,4})_(\S*?)_(\S*?)_(\S*?).(jpe?g|png|gif|svg)\b/', $path, $arr);
$date = strtotime($arr[1][0].' 00:00:00');
$dateline = strtotime('2021-07-11 00:00:00');
if($date < $dateline)
return str_replace('wallpaper','https://cdn.jsdelivr.net/npm/ushio-api-img-wallpaper@1.1'.date('y.nw', $date).'',$path);
else
return getImg($path);
}
function obsSign($path, $expires = 300){
@ -344,6 +353,16 @@ function obsSign($path, $expires = 300){
function getImgsInfo($type, $isFast = false){
$redis = new redis();
$redis->connect('redis',6379);
$pifix = '__imgInfoCache/'.$type;
if($redis->exists($pifix) && strlen($redis->get($pifix)) > 10){
$str = $redis->get($pifix);
}else{
$obsClient = new ObsClient([
'key' => $GLOBALS['huawei_AK'],
'secret' => $GLOBALS['huawei_SK'],
@ -367,6 +386,8 @@ function getImgsInfo($type, $isFast = false){
$obsClient -> close();
$redis->setEx($pifix, 3600, $str);
}
preg_match_all('/img_(\S*?)_(\d{2,4})x(\d{2,4})_(\S*?)_(\S*?)_(\S*?).(jpe?g|png|gif|svg)\b/', $str, $arr);
//echo var_dump($arr);

@ -167,9 +167,13 @@ function returnImg($path){
if($GLOBALS['type'] != 'wallpaper' && $GLOBALS['type'] != 'imgbed' && $GLOBALS['type'] != 'path' && ((!in_array($GLOBALS['__from'], $GLOBALS['whiteList']) && ($GLOBALS['_num'] > /*2*/0 || $GLOBALS['_ip'] > /*1*/0)) || ($GLOBALS['_ip'] > /*3*/0))) {
$url = getImgCDN($path);
//$url = getImgOneindex($path);
}else{
if($GLOBALS['type'] == 'wallpaper') {
$url = getImgCDNwallpaper($path);
}else{
$url = getImg($path);
}
}
if($GLOBALS['display']) echo file_get_contents($url); else header("Location: $url");
}

Loading…
Cancel
Save