使用事例
自用的一个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脚本都来源于网络,不保证外部链接的准确性安全性和完整性。外部脚本内容可能会有违法违规内容,请用户自行判断。如有侵权或者恶意行为,请联系我们删除。