暗色模式

写了个小脚本,方便家宽ipv6配合CDN建站。(失控CDN)

技术教程
2024-11-01
6
0

因为家庭宽带的ipv6会不停变动,所以即便是使用CDN搭配建站,也要很频繁的修改CDN控制台里的IPV6地址。
所有为了方便,写了个py脚本,自动检测ipv6地址是否有变化,如果有就自动提交到CDN控制台。

需要使用python3,所以需要安装好。

sudo apt install python3

root@astarry:/# python3 --version
Python 3.8.10

#就OK了。

记得先开启失控CDN的api功能。

1、脚本

import requests

import json
import requests
import time
url = 'https://user.cdn1.vip/v1/sites/*' ##填入CDN的网站ID

def getIPv6Address():

text = requests.get('https://v6.ident.me').text
return text

if name == "__main__":

print(getIPv6Address())

lastAddress=""
while True:

ipAddress = getIPv6Address()
data = {

"backend": [{"index": 0, "state": "up", "addr": ipAddress, "weight": "1"}]
}

headers={
"api-key": "",  ##填入自己的api key
"api-secret": "" ##填入自己的api secret

}

if lastAddress!=ipAddress:
    response = requests.put(url, data=json.dumps(data),headers=headers)
    print(response.json())
    lastAddress=ipAddress
    time.sleep(60)
else:
    print("IP地址未发生变化")
    time.sleep(60)
    </code></pre><p style="text-indent: 2em">ps:此脚本只会修改CDN的源站IP地址,且只能用于IPV6。</p><p style="text-indent: 2em"><br>2、使用systemd作为服务运</p><p style="text-indent: 2em">使用文本编辑器(如vim)在 /etc/systemd/system 目录下创建一个 cdn.service 文件,用于配置此脚本服务。</p><pre><code>sudo vim /etc/systemd/system/cdn.service</code></pre><p style="text-indent: 2em">写入内容:</p><pre><code>[Unit]

Description=cdn server
Afteer=network.target
Wants=network.target

[Service]
Type=simple

启动脚本的命令,需要替换成脚本的存放位置。

ExecStart=/usr/bin/python3 /home/astarry/123/cdn.py
Restart=always

[Install]
WantedBy=multi-user.target

保存退出即可。

#启动
systemctl start cdn

重启

systemctl restart cdn

查看cdn状态

systemctl status cdn

3、将cdn.service设置开机自启

systemctl enable cdn

这样就不用担心光猫重启,或者断网重连导致ipv6变动,CDN无法访问到源站的情况了。

发表评论

暂无评论,快来抢沙发吧!