多吉云缓存清理

标签: 小脚本

链接直达 >

每次修改代码都需要手动刷新CDN,这个脚本把多吉云的刷新API写成了shell可以集成到阿里云的云效流水线中实现自动刷新。

使用事例

自用的一个gost批量管理的小脚本,作用是批量启动转发和关闭转发,依靠文件中的配置循环执行命令实现,可以方便的在NAT服务器上维护gost的状态。

cloudflare清理域名所以缓存的shell脚本,可以避免每次登录cloudflare进行清理节省开发效率,也可以加入阿里的云效流程代码发布成功后自动清理CDN缓存。

脚本介绍

每次发布代码都需要手动去清理CDN缓存很麻烦,写了个shell脚本可以在代码部署完成后自己执行清理CDN上的缓存。

介绍

适用于多吉CDN

文档:https://docs.dogecloud.com/cdn/api-refresh-add
获取秘钥:https://console.dogecloud.com/user/keys

代码

#!/bin/bash

# 替换为你的多吉云 AccessKey 和 SecretKey
AccessKey="xxxx"
SecretKey="xxxx"
Host="https://xxxx/" //目录模式最后一点要 /
# API Path 和 POST 数据
apiPath="/cdn/refresh/add.json"
data='{"rtype": "path", "urls": "'${Host}'"}'
jsonMode=true # true 表示以 JSON 格式请求,false 表示表单格式

# 生成签名
signStr="${apiPath}\n${data}"
sign=$(echo -en "${signStr}" | openssl dgst -sha1 -hmac "${SecretKey}" | cut -d " " -f2)

# 设置 Authorization 头
Authorization="TOKEN ${AccessKey}:${sign}"

# 根据 jsonMode 决定请求的 Content-Type 和 请求体
if [ "$jsonMode" = true ]; then
    mime="application/json"
else
    mime="application/x-www-form-urlencoded"
fi

# 发送请求
response=$(curl -s -X POST \
    -H "Content-Type: ${mime}" \
    -H "Authorization: ${Authorization}" \
    -d "${data}" \
    "https://api.dogecloud.com${apiPath}")

# 解析并显示响应
code=$(echo "$response" | jq '.code')
msg=$(echo "$response" | jq '.msg')
data=$(echo "$response" | jq '.data')

# Debug 输出
echo "[DogeCloudAPI] code: ${code}, msg: ${msg}, data: ${data}"

本站导航提供的shell脚本都来源于网络,不保证外部链接的准确性安全性和完整性。外部脚本内容可能会有违法违规内容,请用户自行判断。如有侵权或者恶意行为,请联系我们删除。