From 9e8880dcb04fda08c62bdde3e5bf97314e8aa553 Mon Sep 17 00:00:00 2001 From: LingYuZhao Date: Sun, 24 Nov 2024 13:20:45 +0800 Subject: [PATCH] =?UTF-8?q?2024-11-24=20=E5=8F=91=E5=B8=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 23 +++++++--- .../lyMbl/ddns/aliyun/AliYunDDnsManager.java | 44 ++++++++++--------- .../lyMbl/ddns/aliyun/DDnsManager.java | 1 + .../lyMbl/ddns/aliyun/LyMbl_DDNS_Java.java | 4 +- src/test/java/Main.java | 16 +------ 5 files changed, 44 insertions(+), 44 deletions(-) diff --git a/README.md b/README.md index 6c1fa96..db208d4 100644 --- a/README.md +++ b/README.md @@ -69,9 +69,11 @@ Use `aliyun --help` for more information. ### 在阿里云的DNS解析创建您要解析的子域 DNS -这里我们可以直接前往 [阿里云 DNS 解析](https://wanwang.aliyun.com/domain/dns) 网页中进行 DNS 解析操作,在其中创建出 `A` 或者 `AAAA` 记录,并指向您的服务器 IP 地址(若您没有 ipv6 可以不指定 AAAA 解析类型) +这里我们可以直接前往 [阿里云 DNS 解析](https://wanwang.aliyun.com/domain/dns) 网页中进行 DNS 解析操作,在其中创建出 `A` +或者 `AAAA` 记录,并指向您的服务器 IP 地址(若您没有 ipv6 可以不指定 AAAA 解析类型) -IP地址的位置可以写服务器当前的 IP 地址,但是也可以写错误的,DDNS 程序会自动的将您的 IP 地址进行更改!只要新增了 DNS 解析记录就可以了 +IP地址的位置可以写服务器当前的 IP 地址,但是也可以写错误的,DDNS 程序会自动的将您的 IP 地址进行更改!只要新增了 DNS +解析记录就可以了 ## 做为软件使用的 启动方法 @@ -147,11 +149,12 @@ root@gust-desktop:/opt/app/LyMbl_DDNS_Java# java -jar ./LyMbl_AliyunDDNS_Java.ja ### 添加依赖 ```xml - - io.github.BeardedManZhao - LyMbl_AliyunDDNS_Java - 2024.11.13 - + + + io.github.BeardedManZhao + LyMbl_AliyunDDNS_Java + 2024.11.24 + ``` ### maven 组件包中的 main 函数调用 @@ -201,3 +204,9 @@ public class Main { } } ``` + +# 更新日志 + +## 2024-11-24 + +- 优化了域名解析操作中,日志的打印逻辑!! diff --git a/src/main/java/top/lingyuzhao/lyMbl/ddns/aliyun/AliYunDDnsManager.java b/src/main/java/top/lingyuzhao/lyMbl/ddns/aliyun/AliYunDDnsManager.java index 1a75f54..3502206 100644 --- a/src/main/java/top/lingyuzhao/lyMbl/ddns/aliyun/AliYunDDnsManager.java +++ b/src/main/java/top/lingyuzhao/lyMbl/ddns/aliyun/AliYunDDnsManager.java @@ -68,25 +68,29 @@ public void initIp() { final Process exec = Runtime.getRuntime().exec("aliyun alidns DescribeDomainRecords --DomainName " + domain); try (final InputStream inputStream = exec.getInputStream()) { final JSONObject jsonObject = JSONObject.parseObject(IOUtils.getStringByStream(inputStream)); - jsonObject.getJSONObject("DomainRecords").getJSONArray("Record").forEach(o -> { - if (o instanceof JSONObject && RR.equals(((JSONObject) o).getString("RR"))) { - final JSONObject o1 = (JSONObject) o; - final String value = o1.getString("Value"); - logger.info("RR: " + RR + " value: " + value); - switch (o1.getString("Type")) { - case "A": - backIpv4 = value; - ipv4DnsId = o1.getString("RecordId"); - logger.info("初始化 ipv4: " + backIpv4); - break; - case "AAAA": - backIpv6 = value; - ipv6DnsId = o1.getString("RecordId"); - logger.info("初始化 ipv6: " + backIpv6); - break; + try { + jsonObject.getJSONObject("DomainRecords").getJSONArray("Record").forEach(o -> { + if (o instanceof JSONObject && RR.equals(((JSONObject) o).getString("RR"))) { + final JSONObject o1 = (JSONObject) o; + final String value = o1.getString("Value"); + logger.info("RR: " + RR + " value: " + value); + switch (o1.getString("Type")) { + case "A": + backIpv4 = value; + ipv4DnsId = o1.getString("RecordId"); + logger.info("初始化 ipv4: " + backIpv4); + break; + case "AAAA": + backIpv6 = value; + ipv6DnsId = o1.getString("RecordId"); + logger.info("初始化 ipv6: " + backIpv6); + break; + } } - } - }); + }); + } catch (NullPointerException e) { + throw new RuntimeException("解析数据失败!", e); + } } } catch (IOException e) { throw new RuntimeException("初始化失败!", e); @@ -140,7 +144,7 @@ public void updateIp(String RR, String type, String recordId, String ip) throws } logger.info("DDNS exec result: " + output); } catch (IOException e) { - e.printStackTrace(); + logger.warning("DDNS 执行结果读取 错误,执行结果未知,您可以查看相关错误信息: " + e); } }); @@ -157,7 +161,7 @@ public void updateIp(String RR, String type, String recordId, String ip) throws logger.warning("DDNS exec error: " + errorOutput); } } catch (IOException e) { - e.printStackTrace(); + logger.warning("DDNS 执行结果读取 错误,本次执行失败了,您可以查看相关错误信息: " + e); } }); diff --git a/src/main/java/top/lingyuzhao/lyMbl/ddns/aliyun/DDnsManager.java b/src/main/java/top/lingyuzhao/lyMbl/ddns/aliyun/DDnsManager.java index 81b51f4..957bc86 100644 --- a/src/main/java/top/lingyuzhao/lyMbl/ddns/aliyun/DDnsManager.java +++ b/src/main/java/top/lingyuzhao/lyMbl/ddns/aliyun/DDnsManager.java @@ -105,6 +105,7 @@ default String getLogo() { /** * D DNS 启动函数 + * * @param updateTimeMS 更新时间间隔(MS) */ void start(long updateTimeMS); diff --git a/src/main/java/top/lingyuzhao/lyMbl/ddns/aliyun/LyMbl_DDNS_Java.java b/src/main/java/top/lingyuzhao/lyMbl/ddns/aliyun/LyMbl_DDNS_Java.java index 5fb2091..f00ebf2 100644 --- a/src/main/java/top/lingyuzhao/lyMbl/ddns/aliyun/LyMbl_DDNS_Java.java +++ b/src/main/java/top/lingyuzhao/lyMbl/ddns/aliyun/LyMbl_DDNS_Java.java @@ -29,8 +29,8 @@ public static void main(String... args) { FileHandler fileHandler; try { final File file = new File(logDir); - if (!file.exists()){ - if (file.mkdirs()){ + if (!file.exists()) { + if (file.mkdirs()) { logger.info("创建日志目录成功!"); } } diff --git a/src/test/java/Main.java b/src/test/java/Main.java index 80da711..9c0d0fe 100644 --- a/src/test/java/Main.java +++ b/src/test/java/Main.java @@ -1,22 +1,8 @@ -import top.lingyuzhao.lyMbl.ddns.aliyun.AliYunDDnsManager; - -import java.util.logging.Logger; - /** * @author zhao */ public class Main { public static void main(String[] args) { - final Logger test = Logger.getLogger("test"); - try ( - // 实例化 DDNS 管理器 - final AliYunDDnsManager aliYunDDnsManager = new AliYunDDnsManager( - // 传递日志对象 以及域名信息 - test, "baidu.com", "www" - ) - ) { - // 启动 每3600s 检查一次 DNS 信息 - aliYunDDnsManager.start(3600000); - } + } }