添加1panel同步SSL脚本
This commit is contained in:
parent
a2a586063e
commit
779350df46
3
SHELL/README.md
Normal file
3
SHELL/README.md
Normal file
@ -0,0 +1,3 @@
|
||||
# 一个同步1panel面板SSL的脚本
|
||||
|
||||
记得修改SSLID
|
73
SHELL/linux_1panel.sh
Normal file
73
SHELL/linux_1panel.sh
Normal file
@ -0,0 +1,73 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 定义用户名和密码
|
||||
USERNAME="****"
|
||||
PASSWORD="****"
|
||||
|
||||
# 安全入口 EntranceCode(Base64 )
|
||||
ENTRANCE_CODE="******"
|
||||
|
||||
# 1Panel API 地址
|
||||
LOGIN_URL="http://*******/api/v1/auth/login"
|
||||
UPLOAD_URL="http://********/api/v1/websites/ssl/upload"
|
||||
|
||||
# 定义证书相关信息
|
||||
PRIVATE_KEY_PATH="/data2/SSL_SAVE/ovofish/privkey.pem"
|
||||
CERTIFICATE_PATH="/data2/SSL_SAVE/ovofish/fullchain.pem"
|
||||
SSL_ID=3
|
||||
DESCRIPTION="sync from certd:tx4"
|
||||
|
||||
# 构建登录请求的 JSON 数据
|
||||
LOGIN_DATA=$(cat <<EOF
|
||||
{
|
||||
"name": "$USERNAME",
|
||||
"password": "$PASSWORD",
|
||||
"language":"zh",
|
||||
"authMethod": "jwt"
|
||||
}
|
||||
EOF
|
||||
)
|
||||
# 使用 curl 发送登录请求
|
||||
RESPONSE=$(curl -s -X POST "$LOGIN_URL" \
|
||||
-H "Content-Type: application/json" \
|
||||
-H "EntranceCode: $ENTRANCE_CODE" \
|
||||
-d "$LOGIN_DATA")
|
||||
# 解析返回的 token
|
||||
TOKEN=$(echo $RESPONSE | grep -Po '(?<="token":")[^"]*')
|
||||
|
||||
# 检查是否登录成功
|
||||
if [ -n "$TOKEN" ]; then
|
||||
echo "登录成功,token: $TOKEN"
|
||||
|
||||
# 读取私钥和证书内容
|
||||
PRIVATE_KEY_CONTENT=$(cat "$PRIVATE_KEY_PATH" | awk '{printf "%s\\n", $0}' | sed 's/\\n$//')
|
||||
CERTIFICATE_CONTENT=$(cat "$CERTIFICATE_PATH" | awk '{printf "%s\\n", $0}' | sed 's/\\n$//')
|
||||
printf "私钥内容: $PRIVATE_KEY_CONTENT"
|
||||
printf "证书内容: $CERTIFICATE_CONTENT"
|
||||
# 构建上传证书的请求数据
|
||||
UPLOAD_DATA=$(cat <<EOF
|
||||
{
|
||||
"privateKey": "$PRIVATE_KEY_CONTENT",
|
||||
"certificate": "$CERTIFICATE_CONTENT",
|
||||
"privateKeyPath": "",
|
||||
"certificatePath": "",
|
||||
"type": "paste",
|
||||
"sslID": $SSL_ID,
|
||||
"description": "$DESCRIPTION"
|
||||
}
|
||||
EOF
|
||||
)
|
||||
|
||||
# 发送证书上传请求
|
||||
UPLOAD_RESPONSE=$(curl -s -X POST "$UPLOAD_URL" \
|
||||
-H "PanelAuthorization: $TOKEN" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d "$UPLOAD_DATA")
|
||||
|
||||
# 输出上传结果
|
||||
echo "$UPLOAD_DATA"
|
||||
echo "证书上传响应: $UPLOAD_RESPONSE"
|
||||
else
|
||||
echo "登录失败,请检查用户名或密码"
|
||||
echo "失败响应: $RESPONSE"
|
||||
fi
|
Loading…
x
Reference in New Issue
Block a user