宽带公网 IP,有没有开源的类似 ddns 实现脚本,自动获取 ip,并把 ip 写入到 cloudflare 的 dns 记录里

2021-08-31 20:59:54 +08:00
 guanyin9cn
RT,
有 公网 ip,但 ip 是变化的,有没有 脚本 获取 本机 ppp+ 上的 ip 地址,通过 cloudflare api 修改 dns 记录
3703 次点击
所在节点    程序员
37 条回复
boris93
2021-09-01 12:17:11 +08:00
@guanyin9cn #15 更主要的原因是性能要求低。最早我是让它跑在路由器上的,Java 和 python 不可能,c 我不会,最后选择 go
notgoda
2021-12-12 15:27:35 +08:00
@Tumblr 大佬,你这个 ddns 脚本建议多久跑一次?放在国内家家里光猫后面。
notgoda
2021-12-12 18:09:27 +08:00
@boris93
@FrankAdler
@guanyin9cn 各位 V 友,https://api.cloudflare.com / cf 这个 api 在国内会不会被干扰? 官网在有些地区已经打不开了。
Tumblr
2021-12-12 19:28:02 +08:00
@notgoda #22 在梅林固件中,路由器每次获取 IP 之后会触发这个,不需要设定周期。
boris93
2021-12-12 20:19:00 +08:00
@notgoda #23 目前我用着没问题
notgoda
2021-12-12 22:16:45 +08:00
@Tumblr 我不是路由器。。我就是用树莓派跑 你这个脚本。 大佬建议隔多久间隔 crontab?
Tumblr
2021-12-12 23:04:07 +08:00
@notgoda #26 这个很难给建议,举个例子,比如我这边公网 IP 的租期是 3 天,但是我每天都要用,所以我会倾向于每天早上跑一次。

如果你对于公网 IP 的需求不是太强烈,当然可以按你的公网租期来跑,但是如果需要强烈,建议 hourly 检测公网 IP (比如 IP 存入文件,每次比对完之后覆盖),发现变化了就更新,否则就不执行操作。
当然,这种频繁检测的还要留意获取公网 IP 的 API 是否有限制。
notgoda
2021-12-12 23:23:38 +08:00
@Tumblr 我看了一下你用的那个 api 对次数没有任何限制的。那为什么要 ip 写入文件比对呢?直接每分钟执行一下这个脚本不是更好吗?
Tumblr
2021-12-12 23:33:06 +08:00
@notgoda #28 这个是我个人习惯,不做无谓地更新,既然 IP 地址没变,就不用对 DNS 的 ISP 发出请求。
当然,如果每次都请求更新 DNS 记录,肯定也是没有问题的。
notgoda
2021-12-12 23:34:06 +08:00
@boris93 谢谢大佬回复。请问 cf ddns cron job 支持的间隔最低可以设置为多少?
notgoda
2021-12-12 23:35:17 +08:00
@Tumblr 谢谢大佬,请问你这个脚本该怎么改才能同时支持 v4 和 v6 公网地址 dns 更新?
notgoda
2021-12-12 23:39:42 +08:00
@guanyin9cn
@iphoneXr
@black938
@Loku
@sam014
@boris93 各位大佬们, 对于同时有公网 IPv4 和 V6, 有没有办法一起检查更新 dns 呢? ddns go 好像只能二选一。🙏🙏
boris93
2021-12-13 03:01:04 +08:00
@notgoda #32 我那个玩意可以
notgoda
2021-12-13 11:07:16 +08:00
@boris93 谢谢,请问你 cf 能支持一下 API Tokens 吗?更安全。
boris93
2021-12-13 21:45:48 +08:00
@notgoda #34 抽空我看看吧……
notgoda
2022-12-09 02:04:49 +08:00
@Tumblr 大佬你好,请问梅林固件中,如何让路由器每次获取 IP 之后触发你这个脚本?谢谢🙏
Tumblr
2022-12-09 10:58:00 +08:00
@notgoda #36 把脚本放在 /jffs/scripts/ 里,我用的这个固件在每次更新 IP 之后都会主动调用。
我用的是这个固件: http://xvtx.ru/xwrt/

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/799132

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX