无意中客服给我开了ipv4的公网,那就继续写个ipv4的,哈哈~~增加IPV4的A记录更新,可以同时更新A记录和AAAA记录

源码不放了,毛点积分哈哈,下载点这里 https://download.csdn.net/download/alinathz/86248707

=============================================================================================
最近在玩黑群晖,所以有段时间没更新了,黑裙真的没点知识的还真玩不起来。

昨晚在家里虚拟机测试了用sh脚本来搞DNSPod解析,今天在物理机上发现不能用~~~~wocao…仔细看了下记录,发现物理机里的wget版本过低,没法用TLSv1_2,尝试了用ipkg安装wget-ssl,发现也是没卵用,因为安装下来的版本还是没法用TLSv1_2,准备放弃的时候灵光一闪,直接用php来处理完事。

先简单说一下:php文件只支持腾讯云的DNSPod,也只支持IPv6,v4的就用群晖自带的吧。本帖最下面提供DNSPod.php文件下载和源码,积分有多的点下载给个1分,哈哈~,步骤如下:

1、如果你的域名在腾讯云,直接登录域名解析控制台,添加一个AAAA记录(ipv6)的子域名;

2、进入 API秘钥,创建秘钥,然后把ID和TOKEN记录下来。

3、下载 DNSPod.php,修改最上面的3个变量:
如API的ID为:123456
TOKEN为:fgd897dfg789sdgahu43jkfg89dj4332g
主域名:126.com
子域名:mail
填写如下:

$token = '123456,fgd897dfg789sdgahu43jkfg89dj4332g';
$domain = '126.com';
$sub_name = 'mail';

4、用黑群晖里面的File Station把修改好的DNSPod.php上传到 home 目录下,也可以上传到你自己的目录,自己能找到就行,随意!

5、打开 控制面板 =》信息中心 =》任务计划

6、新增 =》 计划的任务 =》用户定义的脚本

7、在计划选项卡中,设置运行频率:每5分钟,最后运行时间:23:55

8、在任务设置选项卡中设置脚本命令:php /volume1/homes/你的用户名/DNSPod.php

9、最后,最后当然是点确定啦!!然后如果想看结果,可以查看计划任务的日志,或者用SSH登录到群晖,直接运行php /volume1/homes/你的用户名/DNSPod.php查看结果。

SSH登录后运行的结果:

好了,不用在担心找不到你的nas了!!!

下载 :DNSPod.php

源码如下:

<?php
/**** 只支持 腾讯云DNSPod,同时也只支持IPV6** 将该php文件上传到群晖,然后添加到任务计划即可* 详细使用方法和疑问,请访问:https://blog.csdn.net/alinathz/article/details/125602194*** 修改下面3个变量即可* $token 为接口的 id,token(中间用英文逗号相连)* $domain 为主域名* $sub_name 为子域名前缀,如mail.126.com,则改为mail*/$token = '123456,fgd897dfg789sdgahu43jkfg89dj4332g';
$domain = '126.com';
$sub_name = 'mail';$dns = new DdnsPod($token,$domain,$sub_name);$dns->dnsCheck();/*** DDNSPOD 类*/
class DdnsPod{private $token, $domain, $sub_name;public function __construct($token,$domain,$sub_name){$this->token = $token;$this->domain = $domain;$this->sub_name = $sub_name;}/*** [检查更新dns]* @return [type] [description]*/public function dnsCheck(){$localIp = $this->getIpv6();$dnsInfo = $this->dnsInfo();echo "###########################################################################".PHP_EOL;echo '# 设备地址:'.$localIp.PHP_EOL;echo '# 解析记录:'.$this->sub_name.'.'.$this->domain.' => '.$dnsInfo['ip'].PHP_EOL;if ($localIp == $dnsInfo['ip']) {echo '# 处理结果:当前设备地址与解析记录一致,无须更新...'.PHP_EOL;}else{$rs = $this->dnsUpdate($dnsInfo['id'], $localIp);if ($rs['code'] == '1') {echo '# 处理结果:更新成功...'.PHP_EOL;echo '# 修改记录:'.$this->sub_name.'.'.$this->domain.' => '.$localIp.PHP_EOL;}}echo "###########################################################################".PHP_EOL;}/*** [更新dns]* @return [type] [description]*/public function dnsUpdate($id, $ip){$str = 'domain='.$this->domain.'&record_id='.$id.'&sub_domain='.$this->sub_name.'&record_type=AAAA&record_line=默认&value='.$ip;list($httpCode, $response) = $this->apiPost('Record.Modify', $str);$json = json_decode($response, true);if ($json['status']['code'] == '1') {return ['code' =>$json['status']['code'], 'msg'=>$json['record']['value']];}else{return ['code' =>$json['status']['code'], 'msg'=>$json['status']['message']];}}/*** [获取公网ipv6]* @return [字符串] ipv6字符串*/public function getIpv6(){exec("ifconfig", $out, $stats);foreach($out as $value){$tmp = explode('inet6 addr:',$value);$tmp1 = explode(':',trim($tmp[1]));if ($tmp1[0] != 'fe80' && !empty($tmp1[0])) {list($ipv6) = explode('/', trim($tmp[1]));return $ipv6;}}}/*** [获取dns信息]* @return [数组] id,type,ip,name*/public function dnsInfo(){$str = 'domain='.$this->domain.'&sub_name_domain='.$this->sub_name.'&record_type=AAAA';list($httpCode, $response) = $this->apiPost('Record.List', $str);$json = json_decode($response, true);if ($json['status']['code'] != '1') {echo '错误:'.$json['status']['message'].PHP_EOL;exit();}else{if (count($json['records']) > 0) {$rs = '';foreach($json['records'] as $key => $value){if ($value['type'] == 'AAAA' && $value['name'] == $this->sub_name) {$rs = ['id' => $value['id'], 'type'=>$value['type'], 'ip'=>$value['value'], 'name'=> $value['name']];continue;}}if (!empty($rs)) {return $rs;}else{echo '错误:找不到域名 '.$this->sub_name.'.'.$this->domain.' 的AAAA记录...'.PHP_EOL;exit();}}else{echo '错误:找不到域名 '.$this->sub_name.'.'.$this->domain.' 的AAAA记录...'.PHP_EOL;exit();}}}/*** [apiPost description]* @param  [字符串]  $handler   [操作]* @param  [字符串]  $parameter [参数]* @return [数组]*/public function apiPost($handler, $parameter){$url = 'https://dnsapi.cn/'.$handler;$parameter = 'login_token='.$this->token.'&format=json&'.$parameter;$ch = curl_init();curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_POSTFIELDS, $parameter);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);$response = curl_exec($ch);$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);curl_close($ch);return array($httpCode, $response);}
}
?>

用PHP搞掂黑群晖IPv6的DNSPod解析【7月23日更新,支持v4和v6】相关推荐

  1. 惠普T610 安装黑群晖及其配置

    环境准备: 惠普T610 (6GRAM  16Gsata固态  1T2.5寸机械硬盘)  鼠标  键盘 工具软件:度盘链接(自行拼接): 1ahQQVfZXXWgoV_92-AWs7A 提取码: xt ...

  2. 折腾黑群晖之域名直接访问群晖

    去年一年攒了几百块私房钱为自己添置了一款矿难暴风2期,然后折腾了黑群晖,安装了很久,但是一直无法外网访问,前些天再研究了一下,发现是脚本的问题,在B站找到了最新的脚本,终于成功了,记录一下! 实现外网 ...

  3. 黑群晖Aria2下载BT,磁力amp;PT自用详细设置

    用了黑群晖,安装Arai2,发现BT,PT,磁力各种不给力,查百度发现很多配置都比较落后,而且最重要都没有Trackers,因此特意写了这篇以供详细参考. Arai2安装,贪图方便,这里是用群晖里面d ...

  4. wdnas群晖nas_WD 西部数据 伪NAS折腾记 篇三:WD 西部数据 MyCloud安装黑群晖教程

    WD 西部数据 伪NAS折腾记 篇三:WD 西部数据 MyCloud安装黑群晖教程 2015-12-10 18:21:45 82点赞 408收藏 92评论 首先感谢一下nasyun的大神zwl2012 ...

  5. 黑群晖从无到有完善指南

    一下为本人折腾黑群晖的一些笔记 平台为华擎j3455,群晖版本为1.02b(DS3617+) 写本文是为了让自己以后不再通过一堆网站的指导,只通过这一篇文章完成群晖从零到比较完美的形态的配置,更多是为 ...

  6. PVE+软路由+黑群晖[卒]

    背景: 目前虽然对软路由没有很急迫的需求,但是想要搞一套自己的svn所以这个就提上了日程 硬件配置 DQ77KB i5-3475s 16G DDR3L SSD+HDD PVE安装 PVE兼容存在问题, ...

  7. dev 获取gridview没有rows属性_虚拟黑群晖不直通也可以获取到SMART?

    黑群晖的用户,都有一个痛点,那就是访问硬盘的SMART信息! SMART是什么? SMART并不是它字面的意思:聪明.而是Self-Monitoring, Analysis and Reporting ...

  8. 2020黑群晖最稳定版本_打造完美6.2.3黑群晖,正确显示 CPU,支持Nvme缓存

    大家好,我是晓飞影! 一个数码爱好者,也喜欢在众多平行领域探究摸索,让生活多一点乐趣. 之前分享了一台正版蜗牛星际 A 款机箱组装 NAS 的文章,搭配 i3-8100和华擎 H310CM-ITX/a ...

  9. 群晖备份linux分区,黑群晖二合一系统无损扩充系统分区方法补充

    黑群晖二合一系统无损扩充系统分区方法补充 2020-01-19 14:54:08 28点赞 172收藏 35评论 创作立场声明:本文作者也是经过多次重装实验,耗费了大把时间,值钱用diskgenius ...

  10. pve安装黑群晖直通硬盘_在Proxmox VE(PVE)安装黑群晖

    一.环境介绍 1.Proxmox VE(以下简称PVE) 5.4-3 2.黑群晖引导(本教程采用DSM3617-1.03b引导)由Jun大神提供(相关文件可从网盘下载) 3.黑群晖系统PAT安装包(本 ...

最新文章

  1. Error in variable_response could not find function “variable_response“
  2. iOS - appledoc 文档生成
  3. 《ACM国际大学生程序设计竞赛题解Ⅰ》——模拟题
  4. python中 getnode用法_node.js 爬虫入门总结
  5. Codeforces 173E Camping Groups 线段树
  6. 回溯法|Backtracking
  7. 文本区域的高度随着内容增加----插件
  8. 震惊!99%的网络工程师都不知道的组播问题
  9. 年轻人的第一笔债,在双11的直播间里
  10. sentaurus学习日记(二)--器件特性提取
  11. 应用--学生宿舍卫生管理系统
  12. 7-1 掉入陷阱的数字
  13. java表示自然数,将一个正整数表示为连续自然数的和
  14. 数据库技术-数据库概念设计
  15. 为交付Semi卡车做准备 特斯拉招募技术服务人员
  16. Substrate是什么,为什么要选择Substrate
  17. 基于OSGi的企业级开发框架实践——运行开发框架
  18. Hint: If you want to see a list of allocated tensors when OOM happens,
  19. 面试官:你说你懂i++跟++i的区别,那你会做下面这道题吗?
  20. 模电中NPN和PNP导通条件

热门文章

  1. easyweb前端框架的资料
  2. u盘带走的绿化wamp配置方式
  3. java常量池在哪里_【Java基础】Java常量池在哪里? - 收获啦
  4. 简单高效实现导出excel数据表格
  5. Dagger2基本使用
  6. vscode的pip安装
  7. 施耐德控制器维修伺服驱动器维修C400A8
  8. mac简体拼音打出来是英文_mac怎样打出拼音 - 卡饭网
  9. (完整体系教程)使用 Arduino 控制伺服电机
  10. ​交通规划年会交流《城市交通设计导则》