方法一:在计划任务里加个脚本 有软路由就没个卵用,拿到的IP是我美国线路的IP而非真实的IP,如果没有代理是可以的,只支持IPV4
1 G! V0 X$ A/ [8 c8 ~3 c
8 p- a0 n4 P+ r0 Ehostname="www.zXXX.COM"
) g# E: S A0 R( `% t- Y1 ?email="[email protected]"
+ _7 ?+ H. y* g) h# |; V; `$ h7 v
zone_id="50ea882c589DFDF84af7886f31e7dfb" 区域ID
" ~: J7 K! P& ]global_api_key="c9e9DFDFd815135c5bbdf50ac48c9fc67c" ID
) i+ e! x* y' n: x0 i+ @4 [' F8 P6 o
1 K0 ]- \0 D8 \+ Q
( C. r) L; J1 g% i6 Q; d$ Q( e=============以下不需要修改====================+ m9 r& ?4 s: K+ |; `$ M
ipAddr="`curl https://ifconfig.co`"' S6 B9 z! X: @
url="https://api.cloudflare.com/client/v4/..."
3 N ?& C; D3 ]6 e9 p- v0 C/ k. W; K' V4 S8 \; x
获取cloudflare记录ID% `+ {( M' i2 i' j, D* U( O9 i
listDnsApi="${url}/${zone_id}/dns_records?type=A&name=${hostname}"- C0 ^7 K9 K% Z
res=$(curl -s -X GET "$listDnsApi" -H "X-Auth-Email email" -H "X-Auth-Key global_api_key" -H "Content-Type:application/json") ^' g( U, h& ?6 y$ r, r
recordId=$(echo "$res" | jq -r ".result[0].id")
( x/ Z6 _3 R8 x; }) j
' X$ D: Y& o' ~) x更新cloudflare记录
% D U2 Q0 ]/ L# ^& J0 eupdateDnsApi="${url}/${zone_id}/dns_records/${recordId}";% o# N6 N) m) v
data="{\"type\":\"A\",\"name\":\"${hostname}\",\"content\":\"${ipAddr}\",\"ttl\":60,\"proxied\":false}"
) e+ B j$ W3 W+ }+ l* b- Wres=$(curl -s -X PUT "$updateDnsApi" -H "X-Auth-Email email" -H "X-Auth-Key global_api_key" -H "Content-Type:application/json" --data "$data")
: p: o9 j9 Y. I7 W- Z# a& m2 ?
) z* E7 o* M3 F7 g7 F打印结果
0 S+ f$ U% a$ c, Jecho "$res"! j* y4 h0 P, _! g) P8 V4 X7 A' i
2 x; f4 [+ O. K. R" g
( X& X5 y& {7 d
方法二:DDNS-GO 能拿到真实IP,牛比哄哄的,让花生壳去死吧,一直都觉得花生壳都是小孩子过家家用的4 L" L& I9 o5 F
Token:令牌ID+ F+ o$ a- ?4 j& t5 p
IPV4:通过接口获取 域名格式:www:163.COM 是冒号,这里有些平台是@有些是:有些是.
% Q& K. q) G/ t R
' ~' N5 X( Y x$ |; t8 h* g$ g, J5 J9 X% _0 T7 }: u3 e( _
; C4 M( s5 [2 _1 f( O方法三:SSH命令行,前提能科学上网才抓得下来脚本,试了没什么卵用,可能时辰不对或者是服务器摆放的方向不对( u1 B0 J& q2 C5 T8 T% Z- K( u
1 ^3 y- ^: ?+ x& P
: e4 X5 l5 x) t) m$ z
: b4 E1 N; [/ M. _方法四:docker里再跑一个
( o# { \+ |8 N* r, R0 ?- E, m& Q; r1 l% |* v; _
5 V+ k: T; \/ H8 i
' |- ~+ i j9 B5 b8 w9 D& d |