cfmanager / curl_tests.sh
HFHash789's picture
Upload folder using huggingface_hub
32e4bbf verified
#!/bin/bash
# Cloudflare API curl ๆต‹่ฏ•่„šๆœฌ
# ไฝฟ็”จๆไพ›็š„ API Key ่ฟ›่กŒๆต‹่ฏ•
set -e # ้‡ๅˆฐ้”™่ฏฏ็ซ‹ๅณ้€€ๅ‡บ
EMAIL="exslym@closedbyme.com"
API_KEY="21f3fb278a15b732a4f52c95d5042d78d1a21"
ACCOUNT_ID="af2863fcfbc1f170e5ef3b7a648c417d"
echo "โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•"
echo " Cloudflare API - curl ๆต‹่ฏ•่„šๆœฌ"
echo "โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•"
echo ""
echo "Email: $EMAIL"
echo "Account ID: $ACCOUNT_ID"
echo ""
# ๆต‹่ฏ• 1: ่Žทๅ–่ดฆๅทไฟกๆฏ
echo "โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”"
echo "ๆต‹่ฏ• 1: ่Žทๅ–่ดฆๅทไฟกๆฏ"
echo "โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”"
curl -s -X GET "https://api.cloudflare.com/client/v4/accounts" \
-H "X-Auth-Email: $EMAIL" \
-H "X-Auth-Key: $API_KEY" \
-H "Content-Type: application/json" | jq -r '
if .success then
"โœ… ๆˆๅŠŸ!\n่ดฆๅทๅ็งฐ: \(.result[0].name)\n่ดฆๅท ID: \(.result[0].id)"
else
"โŒ ๅคฑ่ดฅ: \(.errors)"
end'
echo ""
# ๆต‹่ฏ• 2: ๅˆ—ๅ‡บ Pages ้กน็›ฎ
echo "โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”"
echo "ๆต‹่ฏ• 2: ๅˆ—ๅ‡บ Pages ้กน็›ฎ"
echo "โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”"
curl -s -X GET "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/pages/projects" \
-H "X-Auth-Email: $EMAIL" \
-H "X-Auth-Key: $API_KEY" | jq -r '
if .success then
"โœ… ๆˆๅŠŸ! ๆ‰พๅˆฐ \(.result | length) ไธช้กน็›ฎ:\n" +
(.result | map(" - \(.name) (\(.subdomain))") | join("\n"))
else
"โŒ ๅคฑ่ดฅ: \(.errors)"
end'
echo ""
# ๆต‹่ฏ• 3: ๅˆ›ๅปบ Pages ้กน็›ฎ๏ผˆ็คบไพ‹๏ผ‰
echo "โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”"
echo "ๆต‹่ฏ• 3: ๅˆ›ๅปบ Pages ้กน็›ฎ๏ผˆ่ทณ่ฟ‡๏ผŒ้ฟๅ…้‡ๅคๅˆ›ๅปบ๏ผ‰"
echo "โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”"
echo "ๅ‘ฝไปค็คบไพ‹:"
echo 'curl -X POST "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/pages/projects" \'
echo ' -H "X-Auth-Email: $EMAIL" \'
echo ' -H "X-Auth-Key: $API_KEY" \'
echo ' -H "Content-Type: application/json" \'
echo ' -d '"'"'{"name": "my-test-project", "production_branch": "main"}'"'"
echo ""
# ๆต‹่ฏ• 4: ๅˆ—ๅ‡บ Zones
echo "โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”"
echo "ๆต‹่ฏ• 4: ๅˆ—ๅ‡บ Zones"
echo "โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”"
curl -s -X GET "https://api.cloudflare.com/client/v4/zones" \
-H "X-Auth-Email: $EMAIL" \
-H "X-Auth-Key: $API_KEY" | jq -r '
if .success then
if (.result | length) > 0 then
"โœ… ๆˆๅŠŸ! ๆ‰พๅˆฐ \(.result | length) ไธช Zone:\n" +
(.result | map(" - \(.name) (ID: \(.id))\n ็Šถๆ€: \(.status)\n Nameservers: \(.name_servers | join(", "))") | join("\n"))
else
"โœ… ๆˆๅŠŸ! ไฝ†ๆฒกๆœ‰ๆ‰พๅˆฐ Zones"
end
else
"โŒ ๅคฑ่ดฅ: \(.errors)"
end'
echo ""
# ๆต‹่ฏ• 5: ๅˆ›ๅปบ Zone๏ผˆ็คบไพ‹๏ผ‰
echo "โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”"
echo "ๆต‹่ฏ• 5: ๅˆ›ๅปบ Zone ๅนถ่Žทๅ– Nameservers๏ผˆ็คบไพ‹๏ผ‰"
echo "โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”"
echo "ๅ‘ฝไปค็คบไพ‹:"
echo 'curl -X POST "https://api.cloudflare.com/client/v4/zones" \'
echo ' -H "X-Auth-Email: $EMAIL" \'
echo ' -H "X-Auth-Key: $API_KEY" \'
echo ' -H "Content-Type: application/json" \'
echo ' -d '"'"'{"account": {"id": "$ACCOUNT_ID"}, "name": "example.com", "type": "full"}'"'"' | \'
echo ' jq -r '"'"'.result.name_servers | join("\n")'"'"
echo ""
# ๆต‹่ฏ• 6: ่Žทๅ–็‰นๅฎš้กน็›ฎไฟกๆฏ
echo "โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”"
echo "ๆต‹่ฏ• 6: ่Žทๅ–็‰นๅฎš้กน็›ฎไฟกๆฏ"
echo "โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”"
PROJECT_NAME="diyiciapiceshi13"
curl -s -X GET "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/pages/projects/$PROJECT_NAME" \
-H "X-Auth-Email: $EMAIL" \
-H "X-Auth-Key: $API_KEY" | jq -r '
if .success then
"โœ… ๆˆๅŠŸ!\n้กน็›ฎๅ็งฐ: \(.result.name)\n้กน็›ฎ URL: https://\(.result.subdomain)\nๅˆ›ๅปบๆ—ถ้—ด: \(.result.created_on)"
else
"โŒ ๅคฑ่ดฅ: \(.errors)"
end'
echo ""
# ๆต‹่ฏ• 7: ๅˆ—ๅ‡บ้กน็›ฎ้ƒจ็ฝฒ
echo "โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”"
echo "ๆต‹่ฏ• 7: ๅˆ—ๅ‡บ้กน็›ฎ้ƒจ็ฝฒๅކๅฒ"
echo "โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”"
curl -s -X GET "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/pages/projects/$PROJECT_NAME/deployments" \
-H "X-Auth-Email: $EMAIL" \
-H "X-Auth-Key: $API_KEY" | jq -r '
if .success then
"โœ… ๆˆๅŠŸ! ๆ‰พๅˆฐ \(.result | length) ไธช้ƒจ็ฝฒ:\n" +
(.result[0:3] | map(" - ้ƒจ็ฝฒ ID: \(.short_id)\n URL: \(.url)\n ็Šถๆ€: \(.latest_stage.name)\n ๆ—ถ้—ด: \(.created_on)") | join("\n\n"))
else
"โŒ ๅคฑ่ดฅ: \(.errors)"
end'
echo ""
# ๆต‹่ฏ• 8: ็ป‘ๅฎšๅŸŸๅๅˆฐ Pages๏ผˆ็คบไพ‹๏ผ‰
echo "โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”"
echo "ๆต‹่ฏ• 8: ็ป‘ๅฎšๅŸŸๅๅˆฐ Pages ้กน็›ฎ๏ผˆ็คบไพ‹๏ผ‰"
echo "โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”"
echo "ๅ‘ฝไปค็คบไพ‹:"
echo 'curl -X POST "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/pages/projects/$PROJECT_NAME/domains" \'
echo ' -H "X-Auth-Email: $EMAIL" \'
echo ' -H "X-Auth-Key: $API_KEY" \'
echo ' -H "Content-Type: application/json" \'
echo ' -d '"'"'{"name": "example.com"}'"'"
echo ""
# ๆ€ป็ป“
echo "โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•"
echo " ๆต‹่ฏ•ๅฎŒๆˆ"
echo "โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•"
echo ""
echo "โœ… ๆ‰€ๆœ‰ๅŸบๆœฌๆต‹่ฏ•้€š่ฟ‡๏ผ"
echo ""
echo "ไธ‹ไธ€ๆญฅ:"
echo " 1. ไฝฟ็”จ python3 app.py ๅฏๅŠจ Web ็•Œ้ข"
echo " 2. ๆˆ–ไฝฟ็”จ cloudflare_manager.py ่ฟ›่กŒ Python ๅผ€ๅ‘"
echo " 3. ๆˆ–็ปง็ปญไฝฟ็”จ curl ๅ‘ฝไปค่ฟ›่กŒ API ่ฐƒ็”จ"
echo ""