方法一:在计划任务里加个脚本 有软路由就没个卵用,拿到的IP是我美国线路的IP而非真实的IP,如果没有代理是可以的,只支持IPV4
! }. o5 d# e8 z) y% E3 [$ f- r+ i! i. a, F1 T% g7 y
hostname="www.zXXX.COM"
6 {, @- S, z$ Y: \email="XXXXnet@gmail.com"' a \. y4 q. d& h
' |5 a/ M+ e1 i; Mzone_id="50ea882c589DFDF84af7886f31e7dfb" 区域ID
! ?/ p' [7 H+ L' Q# Sglobal_api_key="c9e9DFDFd815135c5bbdf50ac48c9fc67c" ID # S3 u Q( ~9 y5 e s
& J. C* O+ d% ]& o
- Q; B" o2 {: F1 C/ z
: a/ F- y J; a7 `* O=============以下不需要修改====================7 ~: C% g( @. F( i+ B
ipAddr="`curl https://ifconfig.co`"4 q8 a2 n7 J, t& G
url="https://api.cloudflare.com/client/v4/..."" I. I5 y8 S9 k, l$ f
. Q. \4 I8 N m- k
获取cloudflare记录ID
/ x" B0 S' F3 T- _6 P, clistDnsApi="${url}/${zone_id}/dns_records?type=A&name=${hostname}"
{& E. l+ H5 u: v: yres=$(curl -s -X GET "$listDnsApi" -H "X-Auth-Email email" -H "X-Auth-Key global_api_key" -H "Content-Type:application/json"), S( B) U: P" F- B( `8 j
recordId=$(echo "$res" | jq -r ".result[0].id")
+ _& a! y, m; I$ g q5 k) V' n* N/ p
更新cloudflare记录
) j' T1 n* N; g/ f/ AupdateDnsApi="${url}/${zone_id}/dns_records/${recordId}";
% N$ z% E7 s# m+ ]data="{\"type\":\"A\",\"name\":\"${hostname}\",\"content\":\"${ipAddr}\",\"ttl\":60,\"proxied\":false}", d1 w, X0 W8 i* H' b4 L
res=$(curl -s -X PUT "$updateDnsApi" -H "X-Auth-Email email" -H "X-Auth-Key global_api_key" -H "Content-Type:application/json" --data "$data")" m) S( S) C; R1 h, p$ @
% i% y+ q# x$ T* j# D
打印结果
# S" V0 C' M" t! C* t# l3 Y9 Cecho "$res"8 r/ Z/ ^8 e1 {
0 E% ~& }' T+ ?, ^, z$ q. _( C/ p! S" a3 H& V3 w+ i! G
方法二:DDNS-GO 能拿到真实IP,牛比哄哄的,让花生壳去死吧,一直都觉得花生壳都是小孩子过家家用的. U' d3 T. b- W2 T
Token:令牌ID+ u7 \* ~/ s' P; s* ?1 X& v
IPV4:通过接口获取 域名格式:www:163.COM 是冒号,这里有些平台是@有些是:有些是.: |* ]/ d- i# r, U% D
3 s+ ^' Y/ D& A1 s. J& I
7 O1 ]" u( L: Y& b7 Y9 z9 R$ ]# J# j6 f9 I
方法三:SSH命令行,前提能科学上网才抓得下来脚本,试了没什么卵用,可能时辰不对或者是服务器摆放的方向不对4 u+ N( u9 X' Q
; ?8 u4 h/ H5 l W- S7 y. U3 U
; d0 j' E0 s2 r& H# n. d# u% o+ b3 J: Q) E/ s3 E
方法四:docker里再跑一个
9 a( N$ W2 L! q; u6 X& L$ U& K1 e' J
7 R* Q- d( \2 P4 f6 {/ t+ R/ r) A" K9 k0 a
|