这篇文章来说说,如何通过 Cloudflare API 自动开启 Cloudflare 经典的 5 秒盾。
源码地址:https://github.com/Machou/Cloudflare-Block
当你的服务器受到攻击时,系统负载就会爆增,利用脚本自动检测系统负载,当压力超过一定的值时就可以切换为” I’m Under Attack! “模式了。操作步骤如下:
#下载
cd /root && git clone https://github.com/Machou/Cloudflare-Block.git DDoS
#打开Cloudflare.sh,修改配置
API_KEY You're Global API Key (https://dash.cloudflare.com/profile)
MAIL_ACCOUNT Email of your Cloudflare account
DOMAIN Zone ID (https://dash.cloudflare.com/_zone-id_/domain.com)
#设置定时任务
crontab -e
*/1 * * * * /root/DDoS/Cloudflare.sh 0 # check every 1 minute if protection is not enabled
*/20 * * * * /root/DDoS/Cloudflare.sh 1 # check every 20 minutes if protection is enabled
完整源代码,脚本默认的是检测系统负载为 10,启动” I’m Under Attack! “模式,你以根据需要来调整。脚本如下:
#!/bin/bash
# $1 = 1min,$2 = 5min,$3 = 15min
loadavg=$(cat /proc/loadavg|awk '{printf "%f",$1}')
# load is 10,you can modify this if you want load more than 10
maxload=10
# Configuration API Cloudflare
# You're Global API Key (https://dash.cloudflare.com/profile)
api_key=
# Email of your account Cloudflare
email=
# Zone ID (https://dash.cloudflare.com/_zone-id_/domain.com)
zone_id=
# create file attacking if doesn't exist
if [ ! -e $attacking ]; then
echo 0 > $attacking
fi
attacking=./attacking
hasattack=$(cat $attacking)
if [ $(echo "$loadavg > $maxload"|bc) -eq 1 ]; then
if [[ $hasattack = 0 && $1 = 0 ]]; then
# Active protection
echo 1 > $attacking
curl -s -X PATCH "https://api.cloudflare.com/client/v4/zones/$zone_id/settings/security_level"
-H "X-Auth-Email: $email"
-H "X-Auth-Key: $api_key"
-H "Content-Type: application/json"
--data '{"value":"under_attack"}'
fi
else
if [[ $hasattack = 1 && $1 = 1 ]]; then
# disable Protection
echo 0 > $attacking
curl -s -X PATCH "https://api.cloudflare.com/client/v4/zones/$zone_id/settings/security_level"
-H "X-Auth-Email: $email"
-H "X-Auth-Key: $api_key"
-H "Content-Type: application/json"
--data '{"value":"high"}'
fi
fi
exit 0
我们如果想省点事就直接复制上面第一条中的脚本代码,放在计划任务的 shell 脚本之中,也可以是同样的效果。
这里的设置很简单,也说过很多次了,就不多做赘述了。
这个脚本配置好之后,如果我们测试会出现一些问题。
3.1,bc: command not found
竟然报 “bc: command not found ” ,大鸟是第一次见到这个。
于是搜索了下,原来还真有这个命令,不过不知道编译内核需要这个做什么。这个东西估计用的人也很少,不过如果在命令行下要计算数也是个不错的工具吧。
yum -y install bc 一下就可以解决了。如图:
3.2./attacking 文件不存在
./attacking 文件不存在这个问题,如果遇到可以把把脚本代码中 26 行的 attacking=./attacking 剪切到 20 行,应该可行,不过大鸟没遇到这问题
本文地址:https://aiyouzz.com/article/37.html
如何通过 Cloudflare API 自动开启 Cloudflare 经典的 5 秒盾
功能更强大的轻量级CC攻击防御脚本工具CCKiller,一个防CC攻击的Shell脚本
轻量级CC攻击防御工具,一建安装配置防护
安装宝塔教程,教你安装宝塔,从此不再求人
CCTV13在线直播观看(中央电视台新闻频道)全天24小时播出,节目包括新闻联播、焦点访谈、新闻1+1、环球视线、共同关注、东方时空、法治在线、24小时、朝闻天下、新闻30分、新闻周刊、世界周刊、新闻直播间等节目。
支付宝扫码领红包及支付宝口令红包攻略,每天可领!全网最新最全的支付宝红包领取攻略,支付宝扫码领红包二维码在哪、支付宝红包码在哪里找、支付宝口令红包怎么领、支付宝实体店通用红包怎么用、支付宝红包在哪里……等问题一网打尽!
搜索引擎大全是一个强大的网站,它聚集了全球国内外搜索引擎网站的入口。让广大网民朋友能更便捷的使用多个搜索引擎,以开启自己愉悦的搜索体验。
上海申诚驾驶员培训有限公司在上海浦东新区高桥镇江心沙路9号,联系电话:021-31261760,2023年申诚驾校报名费4580元起,申诚驾校是经“上海市公安局交通警察总队车辆管理所”和“上海市交通运输和港口管理局”批准建立的大型自用培训基地,目前是浦东高桥镇唯一的驾校培训基地,非常适合浦东外高桥、高桥、高行、金桥、地铁10号线沿线、地铁12号线沿线、地铁6号线沿线、杨浦大桥附近、杨浦一带的学员来学车都比较方便
苏州水之元提供专业的企业产品动画制作和公司展馆展厅互动动画制作服务。打造引人入胜的动画作品,用产品动画制作提升企业形象和产品的展示效果,量身定制优秀的解决方案。
我们提供数字多媒体展馆设计、企业展厅设计、党政展厅设计、展台设计搭建等专业服务,拥有丰富的经验和创新的设计理念,为客户提供最佳的展示效果。欢迎咨询我们的展览设计服务。
安徽讯煌电梯工程有限公司是集电梯设计、制造、安装、改造及维保为一体的厂家,主要承接各类大小型乘客电梯,安徽别墅电梯,医用电梯安装,服务覆盖全国,欢迎新老客户来电洽谈合作,李经理18356525466。
上海长秋保洁服务有限公司合肥分公司主要提供开荒保洁,地毯清洗,外墙清洗服务,价格透明,认真负责,欢迎来电13916316698
新乡市华洋粘合剂有限公司,具有长江以北地区三醋酸甘油酯,热熔胶,单丁酸甘油酯,三丁酸甘油酯等产品大的生产基地,联系热线13803739429