# pythonAliyunddnsIpv6 **Repository Path**: ctexthuang/python-aliyunddns-ipv6 ## Basic Information - **Project Name**: pythonAliyunddnsIpv6 - **Description**: ipv6的ddns自動解析 - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 1 - **Created**: 2020-12-05 - **Last Updated**: 2022-09-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 阿里雲DNS動態解析 支持多解析記錄 ## 編寫環境與理論運行環境 編寫環境: ``` system: macos Big Sur 11.1 python: 3.9.0 ``` 理論運行環境: ``` system: linux/unix/macos python>2 ``` ## 下載軟件 ``` git clone https://gitee.com/ctexthuang/python-aliyunddns-ipv6.git ``` ## 安裝 python sdk ``` python -m pip install aliyun-python-sdk-core-v3 python -m pip install aliyun-python-sdk-domain python -m pip install aliyun-python-sdk-alidns python -m pip install requests ``` ## 修改配置文件 app.conf ``` vi app.conf ``` ```conf [ipv6] flag = true # 是否開啟ipv6的ddns解析,true为開啟,false为關閉 SLD = ['work','companywin','test'] # 要進行ipv6的ddns解析的子域名 [ipv4] flag = false # 是否開啟ipv4的ddns解析,true为開啟,false为關閉 SLD = ['domain'] # 要進行ipv4的ddns解析的子域名 [aliyun] accessKeyId = testxxxx # 将accessKeyId改成自己的accessKeyId accessSecret = testxxxx # 将accessSecret改成自己的accessSecret domain = xxx.com # 你的主域名 不包含www www屬於二級域名 一般都是baidu.com 而不是www.baidu.com ``` ## Access Key 通過[阿里雲Access Key管理](https://ak-console.aliyun.com/#/accesskey), 獲取access_key_id,access_key_secret。 ## 給運行文件一個權限 ``` chmod 777 /path_to/aliyunddns.py # path_to 是指文件的絕對路徑,當然你懂相對路徑 也是ok的 ``` ## 測試文件是否可以運行 ``` /usr/bin/python /path_to/aliyunddns.py #輸出應該內容如下: #获取到IP地址:xxx:xxx:xxx:xxx:xx:xx:xx:xx/xxx.xxx.xxx.xxx #IPv6/IPv4地址沒有改變/新建域名解析成功/修改域名解析成功 ``` ## crontab 定時運行並且記錄 ``` crontab -e ``` ``` # Run at every 5 minute */5 * * * * /usr/bin/python /path_to/aliyunddns.py >> /path_to/run.log 2>&1 # */5 * * * * /usr/bin/python /path_to/aliyunddns.py /dev/null 1>/dev/null ``` ## 遇到的問題並解決方案 ### 安裝 python sdk遇到報錯 解決方案: 升級你的pip ``` python -m pip install --upgrade pip ``` ### 多python環境下執行報錯 解決方案: 用python的絕對路徑去執行,比如 ``` /usr/bin/python /path_to/aliyunddns.py ```