mirror of
https://github.com/TrezOne/docker-mods-uptime-kuma-timeout-fix.git
synced 2026-07-18 08:48:27 -04:00
Merge pull request #256 from pekovac/universal-cloudflared
cloudflared: fix for new API responses, json nested under .results and .errors
This commit is contained in:
@@ -87,7 +87,7 @@ if [[ ${#CF_ACCOUNT_ID} -gt 0 ]] && [[ ${#CF_API_TOKEN} -gt 0 ]] && [[ ${#CF_TUN
|
|||||||
--data "{\"name\":\"${CF_TUNNEL_NAME}\",\"tunnel_secret\":\"${CF_TUNNEL_SECRET}\"}")
|
--data "{\"name\":\"${CF_TUNNEL_NAME}\",\"tunnel_secret\":\"${CF_TUNNEL_SECRET}\"}")
|
||||||
echo ${JSON_RESULT} | jq
|
echo ${JSON_RESULT} | jq
|
||||||
|
|
||||||
JSON_CODE_VALUE=$(echo ${JSON_RESULT} | jq -rc ".code")
|
JSON_CODE_VALUE=$(echo ${JSON_RESULT} | jq -rc ".errors[].code")
|
||||||
if [[ ${JSON_CODE_VALUE} -eq 1013 ]]; then
|
if [[ ${JSON_CODE_VALUE} -eq 1013 ]]; then
|
||||||
echo "**** You already have a cloudflare tunnel named ${CF_TUNNEL_NAME} ****"
|
echo "**** You already have a cloudflare tunnel named ${CF_TUNNEL_NAME} ****"
|
||||||
|
|
||||||
@@ -99,24 +99,27 @@ if [[ ${#CF_ACCOUNT_ID} -gt 0 ]] && [[ ${#CF_API_TOKEN} -gt 0 ]] && [[ ${#CF_TUN
|
|||||||
echo ${JSON_RESULT} | jq
|
echo ${JSON_RESULT} | jq
|
||||||
|
|
||||||
echo "**** Fetching existing cloudflare tunnel(${CF_TUNNEL_NAME}) via API... ****"
|
echo "**** Fetching existing cloudflare tunnel(${CF_TUNNEL_NAME}) via API... ****"
|
||||||
CF_TUNNEL_ID=$(echo ${JSON_RESULT} | jq -rc ".[].id")
|
CF_TUNNEL_ID=$(echo ${JSON_RESULT} | jq -rc ".result[].id")
|
||||||
JSON_RESULT=$(curl -sX \
|
JSON_RESULT=$(curl -sX \
|
||||||
GET "https://api.cloudflare.com/client/v4/accounts/${CF_ACCOUNT_ID}/tunnels/${CF_TUNNEL_ID}?" \
|
GET "https://api.cloudflare.com/client/v4/accounts/${CF_ACCOUNT_ID}/tunnels/${CF_TUNNEL_ID}?" \
|
||||||
-H "Authorization: Bearer ${CF_API_TOKEN}" \
|
-H "Authorization: Bearer ${CF_API_TOKEN}" \
|
||||||
-H "Content-Type: application/json")
|
-H "Content-Type: application/json")
|
||||||
|
|
||||||
JSON_RESULT=$(echo ${JSON_RESULT} | jq -rc ". + {\"credentials_file\": {\"AccountTag\": \"${CF_ACCOUNT_ID}\",\"TunnelID\": \"${CF_TUNNEL_ID}\",\"TunnelName\": \"${CF_TUNNEL_NAME}\",\"TunnelSecret\": \"${CF_TUNNEL_SECRET}\"}}")
|
JSON_RESULT=$(echo ${JSON_RESULT} | jq -rc ". |= .+ {\"credentials_file\": {\"AccountTag\": \"${CF_ACCOUNT_ID}\",\"TunnelID\": \"${CF_TUNNEL_ID}\",\"TunnelName\": \"${CF_TUNNEL_NAME}\",\"TunnelSecret\": \"${CF_TUNNEL_SECRET}\"}}")
|
||||||
echo ${JSON_RESULT} | jq
|
echo ${JSON_RESULT} | jq
|
||||||
fi
|
fi
|
||||||
|
|
||||||
CF_TUNNEL_ID=$(echo ${JSON_RESULT} | jq -rc ".id")
|
CF_TUNNEL_ID=$(echo ${JSON_RESULT} | jq -rc ".result.id")
|
||||||
CREDENTIALS_FILE=$(echo ${JSON_RESULT} | jq -rc ".credentials_file")
|
CREDENTIALS_FILE=$(echo ${JSON_RESULT} | jq -rc ".credentials_file")
|
||||||
|
if [ $CREDENTIALS_FILE = "null" ]; then # when created through POST, credentials_file is part of .results (maybe incomplete json response), check where it is
|
||||||
|
CREDENTIALS_FILE=$(echo ${JSON_RESULT} | jq -rc ".result.credentials_file")
|
||||||
|
fi
|
||||||
echo "**** Saving cloudflare tunnel(${CF_TUNNEL_NAME}) credentials json... ****"
|
echo "**** Saving cloudflare tunnel(${CF_TUNNEL_NAME}) credentials json... ****"
|
||||||
if [ ! -d "/etc/cloudflared/" ]; then
|
if [ ! -d "/etc/cloudflared/" ]; then
|
||||||
mkdir -p "/etc/cloudflared";
|
mkdir -p "/etc/cloudflared";
|
||||||
fi
|
fi
|
||||||
printf "${CREDENTIALS_FILE}" > "/etc/cloudflared/${CF_TUNNEL_ID}.json"
|
printf "${CREDENTIALS_FILE}" > "/etc/cloudflared/${CF_TUNNEL_ID}.json"
|
||||||
echo ${JSON_RESULT} | jq -r ".credentials_file"
|
echo ${JSON_RESULT} | jq -r ".result.credentials_file"
|
||||||
echo "**** Cloudflare tunnel(${CF_TUNNEL_NAME}) credentials saved to /etc/cloudflared/${CF_TUNNEL_ID}.json ****"
|
echo "**** Cloudflare tunnel(${CF_TUNNEL_NAME}) credentials saved to /etc/cloudflared/${CF_TUNNEL_ID}.json ****"
|
||||||
|
|
||||||
echo "**** Generating config.yml for cloudflare tunnel(${CF_TUNNEL_NAME})... ****"
|
echo "**** Generating config.yml for cloudflare tunnel(${CF_TUNNEL_NAME})... ****"
|
||||||
|
|||||||
Reference in New Issue
Block a user