系统公告
  
欢迎你光临本站!
本站内容持续添加,多种精品源码程序!高清媒体娱乐影音应有尽有~
推荐:如需要CN2高防服务器,点击这里 自助开通!!

朕已阅

 
收藏文章 楼主
宝塔面板CC攻击自动切换5秒盾脚本
版块:技术教程   类型:普通   作者:疯子   查看:922   回复:0   获赞:0   时间:2023-02-05 14:07:19

这篇文章来说说,如何通过 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 行,应该可行,不过大鸟没遇到这问题

 
回复列表
默认   热门   正序   倒序

回复:宝塔面板CC攻击自动切换5秒盾脚本

拖动滑块验证
»

Powered by rrcnzz.com

©2019 - 2024 人人站长网

本站内容来自网络仅供娱乐查阅,如侵犯版权请联系我们移除

您的IP:18.117.158.124,2024-11-21 21:16:43,Processed in 0.05145 second(s).

头像

用户名:

粉丝数:

签名:

资料 关注 好友 消息
免责声明
1、本站资源均来自网络,版权归原作者,资源和文章仅限用于学习和研究目的 。
2、不得用于商业或非法用途,否则,一切责任由使用者承担 后果!

侵权删除请致信 E-Mail:baidusw@qq.com
(0) 分享
分享

请保存二维码或复制链接进行分享

取消
已有0次打赏