麦麦同学 发布的文章

<?php
error_reporting(0);
header('Content-Type:text/html;charset=UTF-8');

$id=$_GET['id'];
$playseek=$_GET['playseek'];
//$user='1719974**';
//$ptoken='w14L5ppGYYzipwiIRQpgdA==';
//$pserialnumber='865372026096088';
$user='freeuser';
$ptoken='A5ZjU2OThiNjAxMzExMTBkN==';
$pserialnumber='b60131110d72d53';
$t=time();
$nonce=rand(100000,999999);
$str='sumasalt-app-portalpVW4U*FlS'.$t.$nonce.$user;
$hmac=substr(sha1($str),0,10);
$onlineip=$_SERVER['REMOTE_ADDR'];
$info='ptype=1&plocation=001&puser='.$user.'&ptoken='.$ptoken.'&pversion=030104&pserverAddress=portal.gcable.cn&pserialNumber='.$pserialnumber.'&pkv=1&ptn=Y29tLnN1bWF2aXNpb24uc2FucGluZy5ndWRvdQ&pappName=GoodTV&DRMtoken='.$ptoken.'&epgID=&authType=0&secondAuthid=&t='.$ptoken.'&pid=&cid=&u='.$user.'&p=8&l=001&d='.$pserialnumber.'&n='.$id.'&v=2&hmac='.$hmac.'×tamp='.$t.'&nonce='.$nonce;
$url='http://portal.gcable.cn:8080/PortalServer-App/new/aaa_aut_aut002';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $info);
curl_setopt($ch, CURLOPT_USERAGENT, "Apache-HttpClient/UNAVAILABLE (java 1.4)");
//curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded', 'Host: portal.gcable.cn:8080', 'Connection: Keep-Alive','Accept-Encoding: gzip','Content-Length: 440')); 页头信息备用
curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-FORWARDED-FOR:'.$onlineip, 'CLIENT-IP:'.$onlineip));
$res = curl_exec($ch);
curl_close($ch);
//preg_match('|aaa?(.*?)&ip|',$res, $tk);
//$live="http://gslb.gcable.cn:8070/live/".$id.".m3u8?".$tk[1];
$uas=parse_url($res);
parse_str($uas["query"]);
$token="?t=".$t."&u=".$u."&p=".$p."&pid=&cid=".$cid."&d=".$d."&sid=".$sid."&r=".$r."&e=".$e."&nc=".$nc."&a=".$a."&v=".$v;
$playurl = "http://gslb.gcable.cn:8070/live/".$id.".m3u8".$token;
if($playseek !== null){

     $t = explode('-',$playseek);
         $st=strtotime($t[0]);
     $et=strtotime($t[1]);
     $playurl=$playurl."&starttime=".$st."&endtime=".$et."";
     }

//print_r ($playurl);
header('Location: '.$playurl);
?>

#PROXY-START/

location ~* .(gif|png|jpg|css|js|woff|woff2)$
{

proxy_pass 目标网站;
proxy_set_header Host 目前网站;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
expires 12h;

}
location /
{

proxy_pass 目前网站;
proxy_set_header Host 目前网站;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_ssl_name 目前网站;
proxy_ssl_server_name on;
proxy_redirect off;
add_header X-Cache $upstream_cache_status;

#Set Nginx Cache

proxy_set_header Accept-Encoding "";
sub_filter "目前网站" "自己反代域名";
sub_filter_once off;
    add_header Cache-Control no-cache;
    expires 12h;

}

#PROXY-END/

是的,你没有看错,经过漫长的等待,我们终于发布了 Typecho 1.2.0 正式版。这个版本的开发经历了如此长的时间,以至于我无法一次性列出这么长的详细改进列表。

除了修复了很多bug以外,我们重要的改进有如下几点:

新的编辑器实时预览自动跟随效果,以及主题内预览功能
后台界面对移动端的适配
新的安装程序
进入 PHP 7.2 时代,以及对 PHP 8 的更好支持
对容器化的更好支持
除了新功能,大家也可以发现我们的版本号规则有变化。新的版本号会采用常规的3组数字组成,比如 1.2.0 。它适合小步快跑的开发模式,具体的解释可以看这篇文章。

这个小小的软件记录了我们很多人生命中最美好的时光,大家用它在缤纷多彩的互联网上留下自己的印记。快乐,伤痛,成长,迷惘,时间无情地流过,我们却让它有了意义。这时我们再回头来看 Typecho 的名称组成:轻击键盘,静候回音。在你写下文字的时候,涟漪已然产生。

而于我来说,十多年前键盘敲下的第一行代码,也不知不觉产生了这么大的回响。在这春回大地之际,感怀之余,未免又对未来心生希望起来。让我们大声宣布,Typecho 回来了!
这个礼物有点突然!
使用Typecho太久了,都忘记从什么时间开始使用了!
<!DOCTYPE html><html><head><title>Markdown.js</title>

开启Typecho的gzip功能很简单,是和wordpress一样的,只要在根目录下的index.php文件里面加上下面这一句就可以了:

ob_start('ob_gzhandler');
注意,是整个网站根目下的index.php文件,不是在主题目录下的。上面这句话建议加在最上面,当然其他位置也可以,可以自行尝试,下面是我修改以后的。

/* 开启gzip压缩, add by mmtx /
ob_start('ob_gzhandler');