周末闲来无事,发现青龙面板支持多种语言的脚本任务,正好极空间上装了青龙面板,可以基于这个挂个 ddns 任务。开始用 python 撸,结果发现阿里的 sdk 依赖在青龙面板上装不上,随后发现 sdk 有 typescript 语言的,正好略懂 js,马上开撸。
源码奉上: https://gitee.com/god007/z4-ddns.git
主要写下如何在青龙面板上使用:
!!!青龙面板 docker 启动时网络务必使用 host 模式,否则无法获取到正确 ipv6,另外宽带光猫桥接,使用路由器拨号!!!
1. 配一下环境变量
只需要 4 个配置,实现 ipv4、ipv6 的 ddns,支持解析记录不存在时自动创建,不用提前如阿里云云解析页面新建!
# 阿里云 ak/sk : 获取方式 阿里云首页 - 我的 -accessKey 管理页面创建
DDNS_ALI_AK=""DDNS_ALI_SK=""
# ipv6 对应域名 - 修改成自己的
DDNS_IP6_DOMAIN="ipv4.kk.top"
# ipv4 对应域名 - 修改成自己的
DDNS_IP4_DOMAIN="ipv6.kk.top"
# 可选参数 - ipv4 和 ipv6 第三方获取 ip 的 api. 如果系统默认失效了,尝试设置该参数
# DDNS_IP4_API=""# DDNS_IP6_API=""
2. 装一下依赖
直接在青龙面板上行添加一下阿里云 sdk 依赖:
@alicloud/alidns20150109@2.0.1
@alicloud/openapi-client
@alicloud/tea-typescript
@alicloud/tea-util
3. 配一下定时任务
这一步主要是青龙面板更新这个脚本源码的任务,建议每天拉取一次即可,后续如果我更新代码,会自动拉取最新的。
青龙拉取完成,会自动创建一个 aliyun-ddns.js 的任务,这个即为实际执行 ddns 的程序,我们点击修改为每 1 分钟执行一次。建议 1 - 5 分钟的频率!4. 验证结果
可以手动触发,也可以等任务执行时查看日志
我这里浏览器直接通过 ipv6 对应的域名访问我极空间后台。我的移动宽带没有 ipv4(虽然获取到并设置了解析,但不是正确的公网 ipv4)。所以无奈只能用 ipv6 了。正文完