https://github.com/JeffersonQin/cloudflare-dynamic-best
测当地 cloudflare 优选 IP ,测完自动更新需要绑定的 cloudflare dns 记录
因为是自用,我的需求只有 cloudflare 的 nameserver ,如果需要其他域名提供商欢迎 PR
1
ety001 2023-07-05 08:50:08 +08:00
额。。。为了更新 cname ,用 rust 单独写个程序? 直接一条 curl bash 命令就搞定了啊。。。
|
2
ety001 2023-07-05 08:53:50 +08:00
```
if [ -L $0 ] then BASE_DIR=`dirname $(readlink $0)` else BASE_DIR=`dirname $0` fi $BASE_DIR/CloudflareST \ -n 1000 \ -t 10 \ -f $BASE_DIR/ip.txt \ -o $BASE_DIR/result.csv newIP=$(sed -n "2,1p" $BASE_DIR/result.csv | awk -F, '{print $1}') echo "update to CF" curl --proxy http://localhost:8001 \ -X PUT "https://api.cloudflare.com/client/v4/zones/xxxx/dns_records/xxxx" \ -H "Authorization: Bearer xxxxx" \ -H "Content-Type: application/json" \ --data '{"type":"A","name":"xxxxx","content":"'$newIP'","ttl":1,"proxied":false}' ``` |
3
JeffersonQin OP @ety001 本身就是玩 rust 练练手的,而且我平时干活也写够 bash 了,这坨答辩不想在下班时间碰
|
4
amlee 2023-07-08 02:02:02 +08:00
|
5
amlee 2023-07-08 02:02:48 +08:00
|
6
amlee 2023-07-08 02:07:23 +08:00
@JeffersonQin 这个软件的意图是不是测出来源服务器到 cloudflare 比较快的 namesever 的 ip ,然后在域名注册商那里,就不填 cloudflare 提供的 nameserver 域名,而是填自己测出来的 ip ?
|
7
ety001 2023-07-08 12:20:46 +08:00
@amlee 你也可以修改本地 hosts 。因为我不止一台设备使用,因此,我没法使用修改本地 hosts 的方案。
因此我准备了两个域名,a.com 和 b.com 。 a.com 在 cloudflare 打开代理,脚本更新优选 ip 的时候,就更新 a.com 的 a 记录。 b.com 在 cloudflare 不用打开代理,然后 a 记录指向真实服务器 ip 地址。 最后在 v2ray 配置 outbound 的时候,vnext 里的 address 用 a.com ,streamSettings 的配置中,wsSettings => headers => Host 和 tlsSettings => serverName 都配置为 b.com 。 |
8
ety001 2023-07-08 12:28:41 +08:00
|
9
JeffersonQin OP |