Python使用Cloudflare API实现自动修改DNS记录方法

最近博客一直被人恶意DDoS攻击,持续好几天了,每天来几次,阿里云被打是24小时黑洞,t腾讯云被打是2小时黑洞,之后自动恢复,所以为了应对 DDoS 攻击,于是写了个结合 Cloudflare API 自动切换域名 DNS 记录的 Python 代码,这里分享下主要代码内容。

一、API TOKEN 申请

使用 Cloudflare API,需要一个 API TOKEN,直接申请即可,申请地址:https://dash.cloudflare.com/profile/api-tokens

申请时,给予这个 API 令牌编辑 DNS 的权限,如下图:

Python使用Cloudflare API实现自动修改DNS记录方法

另外还需要一个 Cloudflare Zone ID,这个是每个域名单独的,在域名概述页面可以看到:

Python使用Cloudflare API实现自动修改DNS记录方法

二、获取并更新 DNS 记录

使用 Cloudflare API 修改 DNS 记录主要分为两步:

获取 DNS 记录的 id;

更新此 DNS 记录。

这里需要注意,传过去的授权不是 API 令牌,而是 Bearer + API 令牌。

1、获取 DNS 记录的 id

2、更新此 DNS 记录

3、调用方法

dns_name 就是 DNS 记录,例如 www.laowangblog.com,ip 就是修改的 ip 地址,proxied 是是否开启代理。

三、结合 crontab 自动更新 DNS

代码写好了,但是没必要手动更新 DNS,毕竟你也不知道什么时候需要更新,所以我们这里结合 crontab 实现自动更新 DNS。

简而言之就是将 python 代码写好后,设置 crontab 定时任务,每一分钟检查一次目标 ip,如果 ip 没有响应(被 DDoS 攻击了),则切换到 CF,并开启代理,如果 ip 恢复响应了(腾讯云被 DDoS 攻击后 2 小时恢复正常),则切换到腾讯云 ip,并关闭代理。

四、后记

这种一直 DDoS 攻击别人服务器的人到底是什么心态,我寻思就是一个个人博客,也没有恶意攻击别人的博文,能得罪什么人呢?实在是搞不懂。

声明 本站上的部份代码及教程来源于互联网,仅供网友学习交流,若您喜欢本文可附上原文链接随意转载。无意侵害您的权益,请发送邮件至 241113@qq.com 我们将尽快处理。
技巧与优化

Windows 系统移除 IE 增强的配置

2023-12-20 10:00:36

技巧与优化

使用Colorful模板登录后前端文章页面编辑出错404

2023-12-20 10:03:55

搜索