卸载阿里云盾

# 卸载阿里云盾(安骑士)
wget http://update.aegis.aliyun.com/download/uninstall.sh
chmod +x uninstall.sh
./uninstall.sh
wget http://update.aegis.aliyun.com/download/quartz_uninstall.sh
chmod +x quartz_uninstall.sh
./quartz_uninstall.sh

# 删除残留
pkill aliyun-service
rm -fr /etc/init.d/agentwatch /usr/sbin/aliyun-service
rm -rf /usr/local/aegis*

# 屏蔽云盾 IP
iptables -I INPUT -s 140.205.201.0/28 -j DROP
iptables -I INPUT -s 140.205.201.16/29 -j DROP
iptables -I INPUT -s 140.205.201.32/28 -j DROP
iptables -I INPUT -s 140.205.225.192/29 -j DROP
iptables -I INPUT -s 140.205.225.200/30 -j DROP
iptables -I INPUT -s 140.205.225.184/29 -j DROP
iptables -I INPUT -s 140.205.225.183/32 -j DROP
iptables -I INPUT -s 140.205.225.206/32 -j DROP
iptables -I INPUT -s 140.205.225.205/32 -j DROP
iptables -I INPUT -s 140.205.225.195/32 -j DROP
iptables -I INPUT -s 140.205.225.204/32 -j DROP

部署cors-anywhere

下载cors-anywhere上传至服务器并解压,重命名为corsanywhere

# 安装
cd corsanywhere
npm install

# 安装Screen运行程序
yum -y install screen

# 启动
screen -S cors
node server.js

然后使用IP:8080就可以访问了,使用域名访问用宝塔反代即可
更改端口:更改package.json文件中的端口号

添加动态RSS

需要在宝塔面板安装PM2管理器
安装与启动RSSHub

# 安装
git clone https://github.com/DIYgod/RSSHub.git
cd RSSHub
npm install

# 安装Screen运行程序
yum -y install screen

# 启动
screen -S RSSHub
cd RSSHub
npm start

然后使用IP:1200就可以访问了,使用域名访问用宝塔反代即可
更改端口编辑config.js文件保存即可,路径:RSSHub/lib/config.js
RSSHub使用文档

CORS跨域问题
在原有的RSS源地址前面加上 https://cors-anywhere.herokuapp.com/即可(这是一个专门的跨域请求网址)
例如:https://cors-anywhere.herokuapp.com/https://rss.wbessy.com/weibo/user/1858065064
注:对访问速度有些许影响,如不想使用官方API请自行搭建

调用handsome主题自带的弹窗提示

函数调用方式与说明

    $.message({
    # 弹窗标题下方的文字
    message: "客官请进",

    # 弹窗的标题
    title: "欢迎来到木稚隐语",

    # 弹窗类型(info、success、warning)
    type: "info",

    # 默认即可
    autoHide: !1,
    
    # 停留时间(毫秒,1秒为1000毫秒)
    time: "3000"
})

网站加载完成并提示来路URL

将以下代码填入开发者设置 → 自定义输出body 尾部的HTML代码中(注意:要放在广告异步推送代码之前,放在后面可能会影响加载。)

    <script>
function kaygb_referrer(){
var kaygb_referrer = document.referrer;
if  (kaygb_referrer != ""){
return "感谢您的访问! 您来自:<br>" + document.referrer;
}else{
return "";
}}
$.message({
    message: "为了网站的正常运行,请不要使用广告屏蔽插件,谢谢!<br >" + kaygb_referrer(),
    title: "网站加载完成",
    type: "success",
    autoHide: !1,
    time: "3000"
})

</script>

复制成功之后弹窗提示

将以下代码填入开发者设置 → 自定义Javascript

    kaygb_copy();function kaygb_copy(){$(document).ready(function(){$("body").bind('copy',function(e){hellolayer()})});var sitesurl=window.location.href;function hellolayer(){
$.message({
    message: "尊重原创,转载请注明出处!<br> 本文作者:ML<br>原文链接:"+sitesurl,
    title: "复制成功",
    type: "warning",
    autoHide: !1,
    time: "5000"
    })
}}

如果你开启了PJAX,那么需要在主题设置 → PJAX → PJAX回调函数一栏内填入以下函数,然后保存即可。

kaygb_copy();

独立页面或文章单独调用

# 独立页面模板添加以下代码
<script>
$.message({
    message: "这里有我的实验室,子站点,项目展示和联系方式!",
    title: "欢迎来到秘密基地!",
    type: "info",
    autoHide: !1,
    time: "3000"
})
</script>

# 文章使用时插入可执行代码,也就是用三个英文感叹号包裹

但想要在独立页面实现弹窗还是不要直接在独立页面编辑内插入可执行代码(文章内调用除外),需要的还请添加代码到模板内来实现!

DPlayer播放器

使用与问题

# 默认不自动播放,弹幕开启
dplayer url="视频地址" pic="封面地址"/

# 关闭弹幕
dplayer url="视频地址" pic="封面地址" danmu="false"/

# 开启自动播放
dplayer url="视频地址" pic="封面地址" autoplay="true"/

# 添加额外弹幕源(例:bilibili弹幕)
dplayer url="视频地址" pic="封面地址 autoplay="true" addition="https://api.prprpr.me/dplayer/bilibili?aid=7286894"/

注:以上地址不得已去掉 [] ,使用时请加上。


# 开启pjax无法自动加载视频,添加pjax回调
loadDPlayer();

DPlayer播放器下载地址

添加百度收录检测

在主题post.php文件中加入以下代码:

<!--百度收录-->
<li class="meta-baidu"><span class="post-icons"><i class="glyphicon glyphicon-refresh" id="baidu_icon"></i></span><span class="meta-value" id="baidu_result">加载中</span></li>

在post.php中加入(需要引入jquery)

<script>
function baidu_check(){
 $.getJSON("您的域名/baidu.php?domain="+window.location.href,function(result){ 
     if (result.code == 200) {
         $('#baidu_icon').removeClass('glyphicon-refresh');
         $('#baidu_icon').addClass('glyphicon-ok-circle');
         $('#baidu_result').text('百度已收录');
     }else if(result.code == 403){
         $('#baidu_icon').removeClass('glyphicon-refresh');
         $('#baidu_icon').addClass('glyphicon-info-sign');
         $('#baidu_result').text('百度未收录');
         baidu_push();
     }else{
          $('#baidu_icon').removeClass('glyphicon-refresh');
         $('#baidu_icon').addClass('glyphicon-remove-circle');
         $('#baidu_result').text('查询收录失败');
     }
 });
}
function baidu_push(){
 var bp = document.createElement('script');
 var curProtocol = window.location.protocol.split(':')[0];
 if (curProtocol === 'https') {
     bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';        
 } else {
     bp.src = 'http://push.zhanzhang.baidu.com/push.js';
 }
 var s = document.getElementsByTagName("script")[0];
 s.parentNode.insertBefore(bp, s);
}
baidu_check();
</script>

百度收录API源码

<?php
/**
 * Baidu
 * @editer: Weifeng
 * @link: https://wfblog.net
 * @version: 1.0
 */

error_reporting(0);
header("Access-Control-Allow-Origin:*");
header('Content-type: application/json');

$domain = @$_GET['domain'];
if(!isset($domain) || empty($domain) || $domain==''){
    $data = array(
        "code" => false,
        "msg" => "未传入请求参数!"
    );
    echo json_encode($data,JSON_UNESCAPED_UNICODE);
    exit;
}
if(substr($domain, -1) == '/'){
    $domain = substr($domain,0,strlen($domain)-1);
}

$data = checkBaidu($domain);
echo json_encode($data,JSON_UNESCAPED_UNICODE);

function checkBaidu($url){
    $header = array(
        "Host:www.baidu.com",
        "Content-Type:application/x-www-form-urlencoded",//post请求
        "Connection: keep-alive",
        "Referer:https://www.baidu.com",
        "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.162 Safari/537.36"
    );
    $url = 'https://www.baidu.com/s?ie=UTF-8&wd='.urlencode($url).'&usm=3&rsv_idx=2&rsv_page=1';
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt ($ch, CURLOPT_HTTPHEADER, $header);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $output = curl_exec($ch);
    curl_close($ch);
    if(strpos($output, '没有找到') || strpos($output, '很抱歉')){
        $data = array(
            "code" => 403,
            "msg" => "该域名暂时未被百度收录!"
        );
    }else{
        $number = GetBetween($output,'<span class="nums_text">百度为您找到相关结果约','个</span>');
        if(empty($number) || $number == 0){
            $number = GetBetween($output,'<b>找到相关结果数约','个</b></p>');
            if(empty($number) || $number == 0){
                $data = array(
                    "code" => false,
                    "msg" => "获取百度收录失败!"
                );
                return $data;
            }
        }
        $data = array(
            "code" => 200,
            "msg" => "该域名已被百度收录!",
            "number" => str_replace(',','',$number)
        );
    }
    return $data;
}

function GetBetween($content,$start,$end){
    $r = explode($start, $content);
    if (isset($r[1])){
        $r = explode($end, $r[1]);
        return $r[0];
    }
}
?>

右侧添加访客数量、网站响应耗时

将以下代码添加至Content.php文件之中,放在class Content{}之前

    /**
     * 访问总量
     */
     function theAllViews(){
             $db = Typecho_Db::get();
             $row = $db->fetchAll('SELECT SUM(VIEWS) FROM `typecho_contents`');
                 echo number_format($row[0]['SUM(VIEWS)']);
     }

    /**
     * 响应时间
     */
    function timer_start() {
        global $timestart;
        $mtime = explode( ' ', microtime()  );
        $timestart = $mtime[1] + $mtime[0];
        return true; 
    }
    timer_start();
    function timer_stop( $display = 0, $precision = 3  ) {
        global $timestart, $timeend;
        $mtime = explode( ' ', microtime()  );
        $timeend = $mtime[1] + $mtime[0];
        $timetotal = number_format( $timeend - $timestart, $precision  );
        $r = $timetotal < 1 ? $timetotal * 1000 . " ms" : $timetotal . " s";
        if ( $display  ) {
            echo $r;
        }
        return $r;
    }

将以下代码添加至sidebar.php文件合适位置

           <li class="list-group-item text-second"><span class="blog-info-icons"> <i data-feather="user"></i></span> <span 
                       class="badge
            pull-right"><?php echo theAllViews();?></span><?php _me("访客总数") ?></li>
            
            <li class="list-group-item text-second"><span class="blog-info-icons"> <i data-feather="clock"></i></span> <span 
                       class="badge
            pull-right"><?php echo timer_stop();?></span><?php _me("响应耗时") ?></li>

右侧添加全站字数

将以下代码添加至sidebar.php文件开头之中

<?php
//字数统计
function allOfCharacters() {
    $chars = 0;
    $db = Typecho_Db::get();
    $select = $db ->select('text')->from('table.contents');
    $rows = $db->fetchAll($select);
    foreach ($rows as $row) { $chars += mb_strlen(trim($row['text']), 'UTF-8'); }
    $unit = '';
    if($chars >= 10000)     { $chars /= 10000; $unit = '万'; } 
    else if($chars >= 1000) { $chars /= 1000;  $unit = '千'; }
    $out = sprintf('%.2lf %s',$chars, $unit);
    return $out;
}
?>

将以下代码添加至sidebar.php文件之中(位置大概在 90 多行)

           <li class="list-group-item text-second"><span class="blog-info-icons"><i data-feather="edit-2"></i></span>
               <span class="badge 
           pull-right"><?php echo allOfCharacters(); ?></span><?php _me("全站字数") ?></li>

删除掉左侧栏的组成二字和分割线

路径:usr/themes/handsome/component/aside.php 删除126至130行

<li class="line dk"></li>
<!--Components-->
<li class="hidden-folded padder m-t m-b-sm text-muted text-xs">
<span><?php _me("组成") ?></span>
</li>

控制Typecho后台评论图片的大小

修改文件路径:您的域名/admin/css/style.css

div .comment-content img{border: 0;max-height: 720px; max-width: 640px}

其中720为最大高度,640为最大宽度,可以自己根据实际调整;
正在使用cdn的需要刷新cdn缓存;

Typecho更改显示日期方式

在后台设置 → 评论 和 设置 → 阅读里面修改成 Y-m-d H:i:s

开启gzip压缩

找到你的Typecho的网站根目录中的index.php
添加第十行代码:

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

网页GZIP压缩检测

侧栏增加成长历史

修改方法:打开usr/themes/handsome/component/sidebar.php在"博客信息"下面增加代码

<!--成长历史信息-->
          <section id="tag_cloud-2" class="widget widget_tag_cloud wrapper-md clear">
                  <h3 class="widget-title m-t-none text-md"><?php _me("成长历史") ?></h3>
                  <div class="tags l-h-2x">
                      <?php Typecho_Widget::widget('Widget_Contents_Post_Date','type=year&format=Y')->to($tags); ?>
                      <?php if($tags->have()): ?>
                          <?php while ($tags->next()): ?>
                              <a href="<?php $tags->permalink();?>" class="label badge" title="<?php $tags->date(); ?>年的博文" data-toggle="tooltip"><?php $tags->date(); ?>年</a>
                          <?php endwhile; ?>
                      <?php endif; ?>
                  </div>
          </section>

添上滑稽小表情

下载地址

  1. 复制owo.json到handsome/usr/
  2. 复制paopao文件夹到handsome/usr/img/emotion/
  3. 开发者 --> css添加以下代码
/*滑稽小表情自定义大小*/
.emotion-funny {
    width: 30px;
}
.comment-content-true img.emotion-funny {
    max-width: 100%!important;
}

一键评论打卡

1、首先在后台 --> 设置外观 --> 开发者设置 --> 自定义JavaScript加入以下代码:
2、然后在后台 --> 设置外观 --> PJAX --> PJAX回调函数也加入以下的代码

/*一键评论*/
function a(a, b, c) {
        if (document.selection) a.focus(), sel = document.selection.createRange(), c ? sel.text = b + sel.text + c : sel.text = b, a.focus();
        else if (a.selectionStart || "0" == a.selectionStart) {
            var l = a.selectionStart,
                m = a.selectionEnd,
                n = m;
            c ? a.value = a.value.substring(0, l) + b + a.value.substring(l, m) + c + a.value.substring(m, a.value.length) : a.value = a.value.substring(0, l) + b + a.value.substring(m, a.value.length);
            c ? n += b.length + c.length : n += b.length - m + l;
            l == m && c && (n -= c.length);
            a.focus();
            a.selectionStart = n;
            a.selectionEnd = n
        } else a.value += b + c, a.focus()
}
var b = (new Date).toLocaleTimeString(),
        c = document.getElementById("comment") || 0;
window.SIMPALED = {};
window.SIMPALED.Editor = {
    daka: function() {
        a(c, "滴!学生卡!打卡时间:" + b, ",请上车的乘客系好安全带~")
    },
    zan: function() {
        a(c, " 写得好好哟,我要给你生猴子!::funny:04:: ")
    },
    cai: function() {
        a(c, "骚年,我怀疑你写了一篇假的文章!::funny:03:: ")
    }
};

3、打开component/comments.php130行后加入以下代码:

                     <div class="OwO" title="打卡" style="display: inline;" onclick="javascript:SIMPALED.Editor.daka();this.style.display='none'"><div class="OwO-logo"><i class="fontello-pencil"></i><span class="OwOlogotext"></span></div></div>
              <div class="OwO" title="赞" style="display: inline;" onclick="javascript:SIMPALED.Editor.zan();this.style.display='none'"><div class="OwO-logo"><i class="glyphicon glyphicon-thumbs-up"></i><span class="OwOlogotext"></span></div></div>
          <div class="OwO" title="踩" style="display: inline;" onclick="javascript:SIMPALED.Editor.cai();this.style.display='none'"><div class="OwO-logo"><i class="glyphicon glyphicon-thumbs-down"></i><span class="OwOlogotext"></span></div></div>

放在以下:

                        <textarea id="comment" class="textarea form-control OwO-textarea" name="text" rows="5" placeholder="<?php _me("说点什么吧……") ?>" onkeydown="if(event.ctrlKey&&event.keyCode==13){document.getElementById('submit').click();return false};"><?php $this->remember('text'); ?></textarea>
                        <div class="OwO"></div>

4、在后台 --> 设置外观 --> 开发者设置 --> 自定义CSS加入以下代码:

.secret_comment {
    top: 5px;
}
.OwO.OwO-open .OwO-body {
    display:table
}

文章底部版权

打开usr/themes/handsome/post.php,在92行附近加此代码:

<!--版权说明-->
<blockquote class="content-copyright" style="margin-top:50px;background-color:rgba(245,245,245,0.3);border-left:5px solid #dde6e9!important;">
    <p>
        <b>版权声明</b>:若文中无特殊说明,则本文为原创文章,版权归 <a href="https://wbessy.com" target="_blank">木稚隐语</a> 所有。
    </p>
    <p>
        <b>本文链接</b>:<a href="<?php $this->permalink()  ?>"><?php $this->permalink() ?></a>
    </p>
    <p>
        所有原创文章采用 <a href="https://creativecommons.org/licenses/by-nc/4.0/deed.zh" target="_blank">知识共享署名-非商业性使用 4.0 国际许可协议</a> 进行许可。
        <br>
        您可以自由的转载和修改,但请务必注明文章来源并且不可用于商业目的。
    </p>
</blockquote>

例:在以下代码底部添加

         <!--文章内容-->
         <div id="post-content" class="wrapper-lg">
          <div class="entry-content l-h-2x">
          <?php echo Content::postContent($this,$this->user->hasLogin());
          ?>

ePayForTypecho自媒体付费阅读插件

在page.php与post.php文件分别在第27行与第91行以下加入以下代码,。
<?php echo TePay_Plugin::getTePay(); ?>

代码高亮插件Code Prettify

插件下载
6.0主题css下载

添加pjax回调参数路径:主题 --> 设置外观 --> Pjax --> PJAX回调函数
插件内勾选显示行号输入以下内容

if (typeof Prism !== 'undefined') {
var pres = document.getElementsByTagName('pre');
                for (var i = 0; i < pres.length; i++){
                    if (pres[i].getElementsByTagName('code').length > 0)
                        pres[i].className  = 'line-numbers';}
Prism.highlightAll(true,null);}

插件内如不勾选显示行号输入一下内容

if (typeof Prism !== 'undefined') {
Prism.highlightAll(true,null);}

复制弹框版权提醒

下载layui程序上传至网站根目录下
首先将下方代码复制添加至后台主题设置自定义输出head 头部的HTML代码

<!--复制弹框JS-->
<script src="您的网址/layer/layer.js"></script>

最后复制下方代码添加至后台主题设置自定义JavaScript即可

<!--复制弹框-->
document.body.oncopy = function() {layer.msg('复制成功,若要转载请务必保留本文链接!');};

文本框打字机特效

复制下方代码添加至后台主题设置自定义输出head 头部的HTML代码即可

<!--文本框打字机特效-->
<script type="text/javascript" src="您的网址/commentTyping.js"></script>

给网站添加crisp在线客服插件

  1. 注册crisp账户并添加网站
  2. 注册完成后,点击设置-网站设置-显示整合-HTML,复制代码添加至后台主题设置自定义输出head 头部的HTML代码即可
最后修改:2020 年 07 月 10 日 06 : 12 PM
您的大名:
万水千山总是情,给个打赏行不行。 打赏