File size: 7,908 Bytes
32e4bbf
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
#!/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 ""