梓悦生活

  • 🍟首页
  • 🍪免费资源
  • 🍓Wordpress
  • 🍋琐碎生活
  • 🍘关于
关注周围的人或事,体验人生历程
  1. 首页
  2. 免费资源
  3. 正文

通用嵌入式DDNS脚本UE-DDNS

2023/06/14 2384点热度 0人点赞 0条评论

Universal Embedded DDNS Shell Script

Github: https://github.com/kkkgo/UE-DDNS

UE-DDNS是一个致力于使用最小的依赖、模块化向导设计的嵌入式posix shell ddns脚本。

  • 支持IPV4/IPV6,支持从URL或者网卡接口获取动态IP
  • 兼容绝大多数Unix平台,包括一些只有busybox的嵌入式设备,尽量依赖更少的命令
  • 用户只需要提供API Tokens,剩下的都是选择题,有手就行直接生成定制脚本
  • 可以直接在向导里面添加新域名,一步到位
  • 可以设置代理和走指定的网络接口,自动检测openwrt安装支持
  • 进行严格的IP比对,符合API调用规范,不重复提交IP更新请求
  • 支持多种消息推送,方便使用手机接收动态IP更新通知

目前支持的DNS服务商:

  • Cloudflare
  • Dnspod.cn
  • Dnspod.com国际版
  • Godaddy

如何使用

你可以从以下两个地址下载脚本:
https://ddns.03k.org
https://raw.githubusercontent.com/kkkgo/UE-DDNS/main/ue-ddns.sh
你可以在目标设备直接在线执行:

curl -skLo ue-ddns.sh ddns.03k.org  
sh ue-ddns.sh

 

如果没有curl命令,可以执行:

wget --no-check-certificate https://ddns.03k.org -O ue-ddns.sh
sh ue-ddns.sh

 

脚本运行后将会有向导提示选择你的DNS服务商 IPV4/IPV6:

=========================================
# Universal embedded DDNS Shell Script #
# https://github.com/kkkgo/UE-DDNS
# https://blog.03k.org/post/ue-ddns.html
=========================================
[1] cloudflare
[2] dnspod
[3] godaddy
Select your DNS provider[1]:1
cloudflare DDNS:
[1] IPV4 DDNS
[2] IPV6 DDNS
IPV4/IPV6 DDNS?[1]:1

 

接下来根据你选择的DNS服务商,需要你提供相应的API Tokens,向导会给出申请API Tokens的网页提示。输入API Tokens后你将会看到主域名选择列表(如果你有多个域名的话)和子域名选择列表(显示效果取决于DNS服务商的API)。

[help] https://dash.cloudflare.com/profile/api-tokens
Your cloudflare API TOKEN:***************************
[1] 03k.org
[2] example.com
Select your domain name[1]:1
Domain: 03k.org
IPV4 sub domain list:
[0] Add a new subdomain name
[1] 03k.org A 1.2.3.4
[2] office.03k.org A 5.6.7.8
[3] myhome.03k.org A 6.7.8.9
[4] www.03k.org A 1.2.3.4
Select your IPV4 subdomain name[0]:

 

你可以直接选择列表上你的子域名来生成DDNS脚本,你可以选择使用URL来获取动态IP:

How to get your new IP ?
[1]From IP-Check URL
[2]From Interface
Your choice [1]:1
DDNS script generation completed!
/root/myhome.03k.org@cloudflare_IPV4_URL.sh:
-rwxrwxrwx 1 root root 12K Mar  8 18:36 myhome.03k.org@cloudflare_IPV4_URL.sh

 

或者可以直接选择指定某个网卡接口的IP:

How to get your new IP ?
[1]From IP-Check URL
[2]From Interface
Your choice [1]:2
[1] eth0 111.20.3.1
[2] eth1 112.30.1.4
[3] Enter the network interface manually
Please select your interface [1]
DDNS script generation completed!
/root/myhome.03k.org@cloudflare_IPV4_eth0.sh:
-rwxrwxrwx 1 root root 12K Mar  8 18:40 myhome.03k.org@cloudflare_IPV4_eth0.sh

 

对于Cloudflare还会询问你是否开启此域名的CDN代理功能:

Turn on Cloudflare CDN proxied for myhome.03k.org?
[1]Disable
[2]Enable

 

在子域名列表菜单,你也可以选择[0]来新建一个你的子域名:

Select your IPV4 subdomain name[0]:0
Create New: Enter sub domain [ Like ddns ]:myhomeddns
Turn on Cloudflare CDN proxied for myhomeddns.03k.org?
[1]Disable
[2]Enable
Your choice [1]:1
How to get your new IP ?
[1]From IP-Check URL
[2]From Interface
Your choice [1]:1
DDNS script generation completed!
/root/myhomeddns.03k.org@cloudflare_IPV4_URL.sh:
-rwxrwxrwx 1 root root 12K Mar  8 18:57 myhomeddns.03k.org@cloudflare_IPV4_URL.sh

 

最终,你都会在当前目录得到一个定制的DDNS脚本,你可以尝试执行他(sh [email protected])测试效果。脚本生成后你可以rm ue-ddns.sh删除。
执行效果看起来会是这样(取决于你选择的DNS服务商和定制的选项):

2023-03-08 23:20:58 CST
URL IP : 218.56.43.21
DNS IP : 116.78.34.11
API IP : 116.78.34.11
Trying to update: myhomeddns.mytestdomain2023.com -> 218.56.43.21
Update OK: "type":"A","content":"218.56.43.21","proxiable":true,"proxied":false

如何部署脚本

  • Linux系统上基本都有crontab(计划任务),假设脚本已经加了可执行权限(chmod +x ./[email protected]),并位于/root/[email protected]。
    Edit cron: crontab -e ,在最后一行添加任务  */10 * * * * /root/[email protected] &>/dev/null
    意思是每隔10分钟执行/root/[email protected] 并屏蔽输出日志。当然,如果你需要记录日志可以直接重定向至保存路径。 然后按Esc,输入:wq回车保存退出即可。
  • hotplug接口可以实现网卡IP变动时,自动执行脚本,因此他比计划任务更"环保"。如果你的系统是支持hotplug接口的话,比如openwrt,当你选择从网卡接口获取IP时,脚本会提示你是否直接生成脚本在hotplug目录:
How to get your new IP ?
[1]From IP-Check URL
[2]From Interface
Your choice [1]:2
[1] wan 116.22.1.118
[2] br-lan 10.10.10.1
[3] Enter the network interface manually
Please select your interface [1]
Detected hotplug support, generate script in /etc/hotplug.d/iface ?
[1] No.
[2] Move to /etc/hotplug.d/iface
Your choice [1]:2
DDNS script generation completed!
/etc/hotplug.d/iface/myhome.03k.org@cloudflare_IPV4_wan.sh:
-rwxr-xr-x    1 root     root       11.1K Mar  8 23:15 /etc/hotplug.d/iface/myhome.03k.org@cloudflare_IPV4_wan-lan.sh

自定义选项和消息通知

脚本生成后,你还可以在生成的脚本内调整一些自定选项(从Customizable option area到Customizable option end的区域)。
自定义选项:

  • PROXY 设置连接API用的代理,比如PROXY="http://192.168.1.100:7890"
  • OUT 设置脚本网络流量要走哪个网卡,比如OUT="eth0" (仅curl支持)
  • CHECKURL 设置用于检测IP地址的网址,脚本已经内置了一些获取IP地址的网站,失败时会依次轮流尝试获取。你设置的CHECKURL会被第一个尝试。
  • ValidateCA 当ValidateCA=1时会验证证书的有效性,默认关闭。你需要自行为本地环境补全CA证书,比如大多数Linux需要安装ca-certificates包。

消息通知选项:

  • ddns_ntfy_url Ntfy是一个跨平台、开源、简单的基于HTTP的发布-订阅通知服务。
    参考官网:https://ntfy.sh/
    示例: ddns_ntfy_url="http://ntfy.sh/yourtopic"
  • ddns_bark_url Bark是一个iOS应用程序,它允许你将自定义的通知推送到你的iPhone上。
    参考官网:https://github.com/Finb/bark-server
    示例:ddns_bark_url="https://api.day.app/yourkey"
  • ddns_sct_url 方糖推送,可以推送到微信上。
    参考官网: https://sct.ftqq.com/
    示例:ddns_sct_url="https://sctapi.ftqq.com/yourkey.send"
  • ddns_pushplus_url 推送加,可以推到微信上。
    参考官网:https://www.pushplus.plus/
    示例:ddns_pushplus_url="http://www.pushplus.plus/send?token=yourkey"
  • ddns_dingtalk_url 钉钉群机器人推送,请添加关键字:IP
    参考官网:https://open.dingtalk.com/document/robots/custom-robot-access/
    示例:ddns_dingtalk_url="https://oapi.dingtalk.com/robot/send?access_token=yourkey"
    脚本仅内置了几个“开箱即用”的通知选项,如果你想要使用自己的Webhook,只需要在生成的脚本里面搜索push_result函数修改。

关于

License:GPLv3
Github: https://github.com/kkkgo/UE-DDNS

 

文章转载自:https://blog.03k.org/post/ue-ddns.html

标签: ddns
最后更新:2023/06/14

Meteor

关注周围的人或事,体验人生历程!

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

文章目录
  • Universal Embedded DDNS Shell Script
  • 如何使用
  • 如何部署脚本
  • 自定义选项和消息通知
  • 关于
最新 热点 随机
最新 热点 随机
[教程]AWS免费EC2注册/使用/添加IPV6/SSH连接/删除实例 使用VestaCP搭建邮局(含DKIM,DMARC教程) [教程]利用宝塔面板邮局管理器搭建Roundcube Webmail自建邮局 [测评]喵云互联绍兴电信NAT套餐1测评 iperf3 网络性能测试 [收藏]13 个免费 PPT 模板网站汇总
[测评]喵云互联绍兴电信NAT套餐1测评[教程]利用宝塔面板邮局管理器搭建Roundcube Webmail自建邮局iperf3 网络性能测试使用VestaCP搭建邮局(含DKIM,DMARC教程)[教程]AWS免费EC2注册/使用/添加IPV6/SSH连接/删除实例
500MB/5GB/CP/freesitehosting.com 在VPS上使用X-ui搭建节点教程 宝塔面板一键快速卸载WEB运行环境的方法 10GB/100GB/CP/dhmart.info 抓取Bing每天资讯 7GB/70GB/CP/socialzone.us
最近评论
b2b系统 发布于 1 年前(12月29日) 感谢分享
Meteor 发布于 2 年前(10月20日) 哈哈,友链一直都在,后来换了主题后忘记修改显示数量了,现在恢复好了。
弋牧 发布于 2 年前(10月12日) 这里已经看不到我的友连了吗?
彩鸽 发布于 2 年前(10月04日) 写的不错
B2B海外商城系统 发布于 2 年前(09月21日) 感谢分享
标签聚合
Linux技巧 VPS 宝塔 活动 虚拟主机 域名解析 wordpress 技巧
友情链接
  • Anders Norén
  • Appurse
  • CSS参考手册
  • DeeTeam-迪提姆
  • Fatesinger
  • FreeSSL
  • gandi
  • Internetbs
  • LogoMaker
  • Meteor's Blog
  • PM唐杰
  • SSL For Free
  • WPEX-Themes
  • 优品PPT
  • 免费顶级域名
  • 博客大全
  • 印记
  • 弋牧
  • 挖站否
  • 闫宝龙博客

COPYRIGHT © 2023 梓悦生活. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang