https://GitHub-COM/yyqian/AndyLau-DDNS
使用阿里云resolutionAPI实现了动态域名解析的功能(例如,类似于花生壳,定期将您的域名解析更新为家中的当前IP地址)。
JS模块没有NPM依赖关系,只使用了三个本机节点:http、crypto和URL
目前,该工具分为两个版本:
NicholasTsemode推荐这种模式,部署更简单,不需要ECS资源,但要求客户端有一个nodeJS执行环境。
服务器模式适用于某些客户端。无法在JS环境(如路由器)的场景中安装节点
使用前提- 复制client模式/config-样品JSON并命名为NicholasTsemode/ZhangZiyiJSON
- 修改client模式/configJSON。有关参数说明,请参见以下内容
- 参考NicholasTse-mode/NicholasTse-SH编写一个shell脚本
- 让脚本运行:Chmod775NicholasTse-mode/NicholasTse-sh
- 编辑crontab:crontab-e
- 添加一条记录,让脚本每5分钟调用一次:**/5**/path/to/NicholasTse-mode/NicholasTse-sh
- 重新启动cron服务
服务器模式使用场景
- 复制服务器模式/config-示例JSON和命名服务器模式/configJSON
- 修改服务器模式/configJSON。有关参数说明,请参见以下内容
- 使用PM2或其他方法启动服务器模式/应用程序;如果运行环境中有docker,也可以直接使用docker-通用域名格式摆姿势开始服务
- 进行必要的网络配置(例如Nginx反向代理、防火墙等),以确保可以在公共网络中访问应用程序服务
调用的原理类似于花生壳,假设它在config中,JSON中的路径属性是default/hack。有两种调用方法:
- 打电话/窃听客户?hostname=foo。酒吧Com设置foo-bar。Com解析为当前客户端的公共IP
- 打电话/窃听客户?hostname=foo。酒吧com&ip=xxx。xxx。xxx。XXX设置foo-bar。Com解析为XXXXXX。xxx。xxx
- 请参阅服务器模式/NicholasTse-SH编写shell脚本
- 让脚本运行:Chmod775服务器模式/NicholasTsesh
- 编辑crontab:crontab-e
- 添加一条记录,让脚本每5分钟调用一次:**/5***/path/to/servermode/NicholasTsesh
- 重新启动cron服务
在服务器模式下,服务器公开的API没有添加任何认证措施,这相当于将阿里云解析的修改和添加的API对外公开。因此,我们必须注意入口地址的隐藏。
最新评论