二蛋 发布的文章

Cloudflare通用防火墙规则

CF向免费版用户提供了5条防火墙规则,可在防火墙-防火墙规则处进行配置。自定义防火墙规则的目的,就是圈定包含一定特征(如IP、UA、地域、提供商等)的可疑对象,并对其进行验证码质询或阻止访问。充分认识这个目标,后续的所有逻辑都将围绕它来展开。

防火墙规则的触发机制是自上而下触发一次,高优先级的规则要放在上部。在规则设置中需要灵活组合匹配条件,and需要全部满足、or为满足任一条件。下文提供的匹配规则,请通过编辑表达式功能修改并输入。

在开始配置防火墙规则之前,请先前往防火墙-设置下,将Privacy Pass支持关闭,以避免一种绕过质询的可能(尽管如此,免费版的CAPTCHA依然存在可绕过的方式,所以在较严重的情况下应适当选择阻止部分访问)。

- 阅读剩余部分 -

CloudFlare SAAS(cname) 接入网站域名

错过了CloudFlare的Partner的时代,官方的CloudFlare for SaaS也提供了一种更灵活的CNAME接入方式,一起来看看吧。

一、功能简介
CloudFlare for SaaS不是个新功能,这里单独拿出来讲,主要是几天前CF调整了一波免费额度。过去是每个域名收取2USD/月的费用,现在不仅提供100个域名免费额度,而且超额后每个域名按0.1USD/月收取费用,非常良心。

CloudFlare中一个完全接入的域名即为一个zone,点进去包括套餐、安全等等都是针对这一主域名配置的。官方SaaS功能针对的是你服务的客户,开放这项功能允许使用他们自己的域名直接附加在你的zone里,享受你zone包含的安全、加速等功能。

例如:cdn.com通过NS接入了CF,2dan.cc未接入CF;可以通过SaaS功能实现1.2dan.cc/2.2dan.cc等直接附加在cdn.com上,通过CNAME指向CF的节点。

简而言之,可以通过这项功能,实现其它域名的CNAME接入以及对zone权益的共享~

- 阅读剩余部分 -

Typecho1.2.0文章内链接在新窗口打开

编辑模板文件function.php 添加parseContent()函数

function parseContent($obj){
    $options = Typecho_Widget::widget('Widget_Options');
    if(!empty($options->src_add) && !empty($options->cdn_add)){
        $obj->content = str_ireplace($options->src_add,$options->cdn_add,$obj->content);
    }
    $obj->content = preg_replace("/<a href=\"([^\"]*)\">/i", "<a href=\"\\1\" target=\"_blank\">", $obj->content);
    echo trim($obj->content);
}

该方法的原理就是正则文章的超链接标签,然后加上相应处理。
使用该方法需要修改模板post.php文件,将默认的内容输出<?php $this->content(); ?> 改成 <?php parseContent($this); ?>

CentOS / Debian使用Supervisor守护进程

一、Supervisor简介
Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。

二、安装Supervisor

Centos

yum install epel-release
yum install supervisor

Debian

apt-get update
apt-get install supervisor

三、配置Supervisor

Centos
Supervisor的配置文件为/etc/supervisord.conf
Supervisor所管理的应用的配置文件放在/etc/supervisord.d/目录中,需要对每个应用进行配置。在/etc/supervisor.d中创建2dan.ini,每个应用对应一个配置文件即可。

Debian
Supervisor的配置文件为/etc/supervisor/supervisord.conf
Supervisor所管理的应用的配置文件放在/etc/supervisor/conf.d/目录中,需要对每个应用进行配置。在/etc/supervisor/conf.d/中创建2dan.conf,每个应用对应一个配置文件即可。

- 阅读剩余部分 -

CentOS7安装Nodejs

下载nodejs最新的bin包

wget https://nodejs.org/dist/v16.14.0/node-v16.14.0-linux-x64.tar.xz

解压包

xz -d node-v16.14.0-linux-x64.tar.xz
tar -xf node-v16.14.0-linux-x64.tar

部署bin文件

ln -s ~/node-v16.14.0-linux-x64/bin/node /usr/bin/node
ln -s ~/node-v16.14.0-linux-x64/bin/npm /usr/bin/npm
ln -s ~/node-v16.14.0-linux-x64/bin/npm /usr/bin/npx