方法一:在计划任务里加个脚本 有软路由就没个卵用,拿到的IP是我美国线路的IP而非真实的IP,如果没有代理是可以的,只支持IPV4
' P# b. k3 p s; n+ T' Y$ l" K, o+ M$ T* z/ g: L
hostname="www.zXXX.COM"
4 V1 I( I# v6 m- K: X3 Q1 }9 N9 Remail="XXXXnet@gmail.com"
+ B( M: }) r* N0 v8 w
) D2 Z8 I8 \/ G2 z0 k9 N" Dzone_id="50ea882c589DFDF84af7886f31e7dfb" 区域ID g8 N& e8 n8 V7 l0 ]
global_api_key="c9e9DFDFd815135c5bbdf50ac48c9fc67c" ID 8 B# q- F. z5 S- ~/ g
. n- I4 M o& k3 Y/ ~6 C
% [+ x0 l3 i3 {) [1 Z6 |( `/ }( n6 m7 V4 [% {/ I
=============以下不需要修改====================/ j* p! d3 K4 A) q/ D- s% J
ipAddr="`curl https://ifconfig.co`"4 }+ q/ Y2 d" T( k0 _
url="https://api.cloudflare.com/client/v4/..."
! Q" w7 \+ I* |' `) E
& [( C6 k' l" \9 Z7 O7 l获取cloudflare记录ID! {9 B7 g1 a4 o6 t
listDnsApi="${url}/${zone_id}/dns_records?type=A&name=${hostname}"
. v" v# [* N; K- C6 Z7 fres=$(curl -s -X GET "$listDnsApi" -H "X-Auth-Email email" -H "X-Auth-Key global_api_key" -H "Content-Type:application/json")# W' [( [" I' g- {1 _9 J, W7 C
recordId=$(echo "$res" | jq -r ".result[0].id")
' }/ B ]! @# b# Z: I% A) E$ T, {) r3 y
更新cloudflare记录
: l6 @+ ]+ D( r1 n1 fupdateDnsApi="${url}/${zone_id}/dns_records/${recordId}";
C/ \( P" G6 b( idata="{\"type\":\"A\",\"name\":\"${hostname}\",\"content\":\"${ipAddr}\",\"ttl\":60,\"proxied\":false}"
( f8 \( l! m6 Q) h: k# Vres=$(curl -s -X PUT "$updateDnsApi" -H "X-Auth-Email email" -H "X-Auth-Key global_api_key" -H "Content-Type:application/json" --data "$data")8 N! j* L- [0 J/ d# Y( ]) K% M0 J% n
: t a& O0 M+ Z打印结果
. F, R0 o G9 w2 `echo "$res"0 m7 R# u% O, d y% o3 r; `
% X/ l6 [0 T' P+ y) ]1 S7 j
) V1 z; r8 T6 L1 Y$ D方法二:DDNS-GO 能拿到真实IP,牛比哄哄的,让花生壳去死吧,一直都觉得花生壳都是小孩子过家家用的( T* y+ B' b; z- O
Token:令牌ID( v3 [# b- I8 R
IPV4:通过接口获取 域名格式:www:163.COM 是冒号,这里有些平台是@有些是:有些是.
' h1 y6 g; `% K* Z4 o+ X2 f+ V% c5 U6 l* f
/ u: X: ~1 B9 f3 g$ V# @
+ a: D$ F% a# V方法三:SSH命令行,前提能科学上网才抓得下来脚本,试了没什么卵用,可能时辰不对或者是服务器摆放的方向不对
q* }3 b& s& {
- ]; P3 c# L( F# {1 Q2 u1 f3 n: k
+ b( i) v& z" Q8 H, o- a方法四:docker里再跑一个8 n* E0 R5 F* I+ c9 {
" l3 [4 n' P E4 q) C" ?
& L0 Y: v, b v/ z+ s5 P. t: H+ A
|