扫描二维码关注官方公众号
返回列表 发布新帖

[讨论/分享] 用 python 让群晖DDNS更新阿里域名的外网IP

8513 11
发表于 2018-6-11 21:43:43 | 显示全部楼层 阅读模式

来吧兄弟,一起玩一起讨论!

您需要 登录 才可以下载或查看,没有账号?注册

×
准备工作:
0:  不断折腾的勇气
1:阿里域名一个,开启Access Keys,保存好 Access Key ID 和 Access Key Secret。
2: Linux系统一个,可以用Win10的子系统。
3:   安装WinSCP


安装环境:
进入SU模式,省的反复输密码
sudo su

Linux下安装Python 2.7

apt install python


1.png

安装pip
apt install python-pip


2.png


安装python 2的依赖包
需要以下四个库:urllib2,bs4,aliyun-python-sdk-alidns,pyinstaller
安装命令:
pip install bs4
pip install urllib2

pip install aliyun-python-sdk-alidns
pip install  pyinstaller
3.png


写个用于更新的py程序,代码如下:
# -*- coding: UTF-8 -*-
import urllib2
from bs4 import BeautifulSoup
from aliyunsdkcore import client
from aliyunsdkalidns.request.v20150109 import DescribeDomainRecordsRequest
from aliyunsdkalidns.request.v20150109 import UpdateDomainRecordRequest

#爬取外网IP
url = 'http://www.net.cn/static/customercare/yourip.asp' #显示本机IP的网址,也可以用IP138
req = urllib2.Request(url)
rsp=urllib2.urlopen(req)
html=rsp.read().decode('utf-8',"ignore")
html=BeautifulSoup(html,'html.parser')
iph2=html.h2
myip=iph2.get_text() #解析网站显示的访问IP

#阿里SDK初始化
clt=client.AcsClient('Access Key ID','Access Key Secret','cn-shanghai') #第一个是ID,第二个是密钥,第三个是地区

#读取解析信息
id_r=DescribeDomainRecordsRequest.DescribeDomainRecordsRequest() #创建理解
id_r.set_DomainName('域名') #根域名,比如 baidu.com
id_r.set_RRKeyWord('子域名') #子域名,比如 www
id_re=clt.do_action(id_r) #发起请求

#解析返回数据
xml = BeautifulSoup(id_re,'html.parser') #套用格式
acsip = xml.find('value').string #解析现阿里记录IP
acsid = xml.find('recordid').string #解析recordid

#修阿里改DNS解析
if acsip != myip: #判断本机Ip是否和阿里记录的IP是否一致,不一致就更新
    ur_r=UpdateDomainRecordRequest.UpdateDomainRecordRequest()
    ur_r.set_RR('子域名') #更新的子域名
    ur_r.set_RecordId(acsid) #需要更新的recordid值
    ur_r.set_Type('A') #更新的记录类型
    ur_r.set_Value(myip) #更新IP地址
    ur_re=clt.do_action(ur_r) #发起请求




4.png


运行以下Py程序,看看是否正常
python IP更新.py


执行以下没有问题,就用pyinstaller生成运行文件
pyinstaller -F IP更新.py


5.png


在此目录下产生了一个dist,里面有一个执行程序,开启群晖22端口,用WinSCP传到群晖中,权限7777
6.png


最后在计划任务中添加任务,循环执行。


7.png


思路基本如此,python也才学了一个多月,如有问题,期待有大神吧....呵呵....啥?为啥不加上读取TXT傻瓜化,嘿嘿,这个是给爱折腾的人。






评论11

tvrcfdfeLv.8 发表于 2018-6-12 11:41:05 | 显示全部楼层
此帖仅作者可见

使用道具 举报

momoVIP互助团队 发表于 2018-6-12 22:52:15 | 显示全部楼层
此帖仅作者可见

使用道具 举报

qsamxpLv.5 发表于 2018-6-18 12:08:42 | 显示全部楼层
此帖仅作者可见

使用道具 举报

龙魔楼主Lv.4 发表于 2018-6-20 09:31:37 | 显示全部楼层
此帖仅作者可见

使用道具 举报

dreamfrogLv.5互助团队 发表于 2018-6-20 09:41:57 | 显示全部楼层
此帖仅作者可见

使用道具 举报

dreamfrogLv.5互助团队 发表于 2018-6-20 09:42:35 | 显示全部楼层
此帖仅作者可见

使用道具 举报

741772828Lv.3 发表于 2018-6-20 10:27:18 | 显示全部楼层
此帖仅作者可见

使用道具 举报

龙魔楼主Lv.4 发表于 2018-6-20 10:36:56 | 显示全部楼层
此帖仅作者可见

使用道具 举报

天一黑就动手Lv.2 发表于 2018-6-20 11:01:28 | 显示全部楼层
此帖仅作者可见

使用道具 举报

adam128oVIPLv.3 发表于 2018-6-25 21:54:04 | 显示全部楼层
此帖仅作者可见

使用道具 举报

oldthree6289Lv.10 发表于 2018-7-3 16:50:07 | 显示全部楼层
此帖仅作者可见

使用道具 举报

回复

懒得打字嘛,点击右侧快捷回复 【本站酷狼4T,750元】
您需要登录后才可以回帖 登录 | 注册

本版积分规则

投诉/建议联系

support@gebi1.cn

未经授权禁止转载,复制和建立镜像,
如有违反,追究法律责任
  • 关注公众号
  • 添加微信客服
Copyright © 2001-2024 隔壁网 版权所有 All Rights Reserved. 粤ICP备14056481号-1
关灯 在本版发帖
扫一扫添加微信客服
返回顶部
快速回复 返回顶部 返回列表