方法一:在计划任务里加个脚本 有软路由就没个卵用,拿到的IP是我美国线路的IP而非真实的IP,如果没有代理是可以的,只支持IPV44 |4 n: c) m/ I# ^
' k; w9 Y' m5 ?; Z& qhostname="www.zXXX.COM"
# c! |) ?/ x; H ?email="XXXXnet@gmail.com"6 l: `8 k/ V3 {# V
* |% s8 z3 H8 a- N
zone_id="50ea882c589DFDF84af7886f31e7dfb" 区域ID
8 Z: A" G7 r' S; H8 Pglobal_api_key="c9e9DFDFd815135c5bbdf50ac48c9fc67c" ID
; V& W9 G6 @5 H$ K8 h/ v$ V; }3 t& W( m% r/ k3 S( M
) I3 x1 k6 \& Q4 J: A* M
- M7 T q) I; S
=============以下不需要修改====================. g9 R }9 y/ B7 c6 n" W
ipAddr="`curl https://ifconfig.co`", G) ?( f' A; A" Z% Y s. [
url="https://api.cloudflare.com/client/v4/..."# w" C" V: N6 R% ?" A: d. j! k1 _
. @7 f" h% W# g3 ]% {2 ]7 M获取cloudflare记录ID
5 g) \* H: M# k+ l0 elistDnsApi="${url}/${zone_id}/dns_records?type=A&name=${hostname}") \" P" y# j, [4 b3 q
res=$(curl -s -X GET "$listDnsApi" -H "X-Auth-Email email" -H "X-Auth-Key global_api_key" -H "Content-Type:application/json")$ M" v, s+ g1 B/ q+ o8 C8 g
recordId=$(echo "$res" | jq -r ".result[0].id")- f/ j5 S- ?) p3 Z$ E
6 E H O2 I* M9 ~4 R0 Y
更新cloudflare记录
$ n& f. m/ k" C9 n* ]( YupdateDnsApi="${url}/${zone_id}/dns_records/${recordId}";
4 S3 P0 l% ^" _7 i- Adata="{\"type\":\"A\",\"name\":\"${hostname}\",\"content\":\"${ipAddr}\",\"ttl\":60,\"proxied\":false}"
; |0 s2 S2 I# j8 y) ires=$(curl -s -X PUT "$updateDnsApi" -H "X-Auth-Email email" -H "X-Auth-Key global_api_key" -H "Content-Type:application/json" --data "$data")
@$ H6 ^/ j, |6 y
& b6 n7 o5 B& J; ~4 G打印结果& i+ h: N1 u! |: h& o3 \
echo "$res"7 X. X9 G: W" }' Z+ L5 N- q8 Q& H
! L( ?1 i2 H& }( M: g8 T
+ r0 l4 _/ Q' A; o: i0 `方法二:DDNS-GO 能拿到真实IP,牛比哄哄的,让花生壳去死吧,一直都觉得花生壳都是小孩子过家家用的7 D( y1 p- t' n- u- _
Token:令牌ID
3 B3 `# e- g5 a" Z$ O4 W1 }/ {IPV4:通过接口获取 域名格式:www:163.COM 是冒号,这里有些平台是@有些是:有些是.
1 r s( S4 g8 B' o; S6 G$ b; h m; R7 c
8 m6 `' M) g6 c1 \
9 F$ ?( V6 p+ K' i# \
方法三:SSH命令行,前提能科学上网才抓得下来脚本,试了没什么卵用,可能时辰不对或者是服务器摆放的方向不对
1 k4 k) r2 D2 f5 p) ^0 ]! h. J- h* c
' o) P* f/ T1 O* t
' V/ v4 J# g) R方法四:docker里再跑一个/ i$ u s7 v5 W1 N, G
* r; l9 {4 F" M$ F
R" f* ?- q6 }, L2 A9 o
* n9 a+ _% v0 B1 N1 Y5 D |