使用方法
-
拉取cf2dns docker镜像
docker pull dddb/cf2dns
-
新建cf2dns_docker工作路径
cd ~ && mkdir -p cf2dns_docker/logs && cd cf2dns_docker
-
下载所需配置文件
wget --no-check-certificate -qO ./config.ini https://raw.githubusercontent.com/ddgth/cf2dns/master/docker/src/config.ini
-
根据注释修改
config.ini
配置文件 -
运行docker镜像
docker run -d -v ~/cf2dns_docker/config.ini:/cf2dns/src/config.ini -v ~/cf2dns_docker/logs:/cf2dns/logs dddb/cf2dns
-
查看运行日志
tail -100f ~/cf2dns_docker/logs/cf2dns.log
API 2.0下线通知 By github@z0z0r4
使用方法
-
修改
.github/workflows/run.yml
-
新增secret
DOMAINSV6
使用方法
-
安装依赖
pip install -r requirements.txt
-
修改配置文件
DNS_SERVER
SECRETID
SECRETKEY
REGION_HW
使用方法
更新代码,修改脚本中的 TYPE
参数即可
如果需要使用默认线路,请将默认线路的cname记录移除或改为其他线路
默认:DEF
境外:AB
最近有很多小伙伴正遭受假墙并伴随着被勒索的困扰,现在增加了预防假墙攻击的功能
实现方式
之前不管您使用免费的key还是付费的key所筛选出来的Cloudflare IP都是多人共享的,如果其中有人的网站刚好被假墙,而您自选出来的IP刚好和他的相同,那么您的网站也有被假墙的风险,当然我也使用了各种手动去解决这个方法,比如增加接口返回IP数、随机获取优选IP等,但最总还是不能完全杜绝这情况的发现,所以现增加了一个优选IP池,只需在您的key后面加上 fgfw
,您就会每次执行脚本都能获取到最新的独享优选IP,由于这需要消耗更多的服务器硬件和带宽资源,那么每次调用获取最新的独享优选IP时,您只能获取到每个运营商的2条优选记录,并且每次调用您将消耗更多的key调用次数,执行频率建议与您DNS服务商的最小TTL保持一直(记得把脚本中的TTL参数也修改了)。
使用方法:
- 新用户:在您购买的KEY后面加上
fgfw
,并按照下面教程使用即可 - 新用户:每个运营商的2条优选记录,所以您需要删除目前已经存在的之前优选的A记录然后在您购买的KEY后面加上
fgfw
即可。
筛选出优质的Cloudflare IP(目前在暂不开源,以接口方式提供15分钟更新一次),并使用域名服务商提供的API解析到不同线路以达到网站加速的效果(目前只完成DNSPod和阿里云DNS,后续如果有需求将会加入其他运营商的)。
详细的使用场景请移步我的小站
- 小站长,网站经常被打或网站放置在国外需要稳定且速度相对快的CDN
- 服务器在国外但是想建站的小伙伴
- 科学上网加速,拯救移动线路(未测试)
必要条件:
★ Cloudflare自选IP并已接入到DNSPod或阿里云DNS,不知道怎么自选IP可以查看这个教程
★ Python3、pip环境
- 安装运行脚本所需依赖
pip install -r requirements.txt
-
登录腾讯云后台或者阿里云后台,获取 SecretId、SecretKey,如果使用阿里云DNS,注意需要添加DNS控制权限AliyunDNSFullAccess
-
将脚本下载到本地修改cf2dns.py中的SecretId、SecretKey
-
修改脚本中域名配置信息,可配置多个域名和多个子域名,注意选择DNS服务商
-
(可选)从商店购买KEY,当然也可以用脚本中自带的,区别是脚本中自带的KEY是历史优选的Cloudflare IP(也可以从这个网站查到IP的信息),而购买的KEY是15分钟内获取到的最新的Cloudflare IP。
-
运行程序,如果能够正常运行可以选择cron定时执行(建议15分钟执行一次)
python cf2dns.py
-
登录腾讯云后台或者阿里云后台,获取 SecretId、SecretKey,如果使用阿里云DNS,注意需要添加DNS控制权限AliyunDNSFullAccess
-
进入第二步中Fork的项目,点击Settings->Secrets and variables-> Actions -> New repository secret,分别是DOMAINS,KEY,SECRETID,SECRETKEY。
- DOMAINS 需改域名信息,填写时注意不要有换行 例如:
{"hostmonit.com": {"@": ["CM","CU","CT"], "shop": ["CM", "CU", "CT"], "stock": ["CM","CU","CT"]},"4096.me": {"@": ["CM","CU","CT"], "vv":["CM","CU","CT"]}}
- DOMAINSV6 如果需要更新AAA解析请增加此secrets,格式同DOMAINS。
- KEY API密钥,从商店购买KEY,也可以使用这个KEY
o1zrmHAF
,区别是o1zrmHAF
是历史优选的Cloudflare IP(也可以从这个网站查到IP的信息),而购买的KEY是15分钟内获取到的对各运营商速度最优的的Cloudflare IP - SECRETID 第一部中从腾讯云后台或者阿里云后台,获取到的
SECRETID
- SECRETKEY 第一部中从腾讯云后台或者阿里云后台,获取到的
SECRETKEY
- DOMAINS 需改域名信息,填写时注意不要有换行 例如:
-
修改您项目中的
cf2dns_actions.py
文件中的AFFECT_NUM
和DNS_SERVER
参数,继续修改.github/workflows/run.yml
文件,定时执行的时长(建议15分钟执行一次),最后点击start commit
提交即可在Actions中的build查看到执行情况,如果看到cf2dns
执行日志中有CHANGE DNS SUCCESS
详情输出,即表示运行成功。需要注意观察下次定时是否能正确运行,有时候GitHub Actions 挺抽风的
1.网络环境错综复杂,适合我的不一定适合你,所以尽量先尝试免费的KEY或者购买试用版的KEY
2.有什么问题和建议请提issue或者Email我,不接受谩骂、扯皮、吐槽
3.为什么收费? 这个标价我也根本不指望赚钱,甚至不够我国内一台VDS的钱。
★ 如果当前DNSPod有移动、联通、电信线路的解析将会覆盖掉