# aliyunDomainServer
**Repository Path**: Tiger_L/aliyun-domain-server
## Basic Information
- **Project Name**: aliyunDomainServer
- **Description**: 对接阿里云,云解析dnsSdk,实现通过url请求管理域名(包括但不限于域名解析记录的添加,删除,更改)。可以配合简单的请求发送脚本以实现动态ddns
- **Primary Language**: Java
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 0
- **Created**: 2022-08-30
- **Last Updated**: 2024-07-08
## Categories & Tags
**Categories**: Uncategorized
**Tags**: ddns, 动态ddns, 阿里域名, 域名管理, API
## README
# aliyunDomainServer
#### 介绍
对接阿里云,云解析dnsSdk,实现通过url请求管理域名(包括但不限于域名解析记录的添加,删除,更改)。可以配合简单的请求发送脚本以实现动态ddns
#### 软件架构
springboot,tea-openapi,alidns20150109
#### 服务搭建教程
1. ##### 下载
- 在发行版中下载命名aliyunDomainServer.zip的文件。
2. ##### 修改配置文件
1. 在prot处修改服务端口号,一定注意中间必须要有个空格。
2. 在config目录下的application.yml文件中添加阿里云accessKeyId,accessKeySecret和token,token作为唯一账户标识在以后的请求中都要使用到,token值自己任意设置(最好是字母加数字)。支持多账户添加使用“-”进行分隔。
3. ##### 安装java环境(这个自行百度)
4. ##### 命令行运行java -jar 跟jar包的路径名

#### 注意事项
- 本接口是开放性的,如果将服务器地址和端口以及api接口和token泄露都会出现不确定的安全情况。
- 可以通过阿里云对accessKey的权限限管控以降低安全风险,因为api接口写的比较全,所有请根据自己的情况在阿里云官网开放一些必要权限。
- 本软件仅提供学习交流使用,请勿用于其他非法用途。
#### API参考
[阿里云官网API使用规范](https://help.aliyun.com/document_detail/39863.html)
##### 调用方式
###### 概述
API的服务端地址发送HTTP POST或GET请求,并按照接口说明在请求中加入相应请求参数来完成的;根据请求的处理情况,系统会返回处理结果。
###### 注意事项(重要)
本API接口所需参数和阿里云官网所需参数一样([阿里云云解析dnsApi接口](https://help.aliyun.com/document_detail/29738.html)),但是也存在细微差别。
- 无论是POST还是GET请求,token参数必须放在请求的url中。
- 请求参数名称统一使用小驼峰命名法,官网API文档用的大驼峰命名法。
- 官网API文档中有的参数名称为全大写,在本套API中这类参数名也使用全大写。
- 本套API只支持GET和POST请求。
- POST请求请使用JSON数据格式。
###### 公共请求参数
公共请求参数是指每个接口都需要使用到的请求参数。
| 名称 | 类型 | 是否必须 | 描述 |
| ----- | ------ | -------- | ----------------- |
| token | String | 是 | 标识AccessKey用户 |
**示例:**
```txt
http://cptr.top:8082/resolverManage/describeDomainRecords?token=023448E459EED8E55EF6446E0E943A46
```
###### 返回结果
调用API服务后返回数据采用统一格式,返回的status为true,代表调用成功,返回false代表调用失败
**示例:**
```json
{
"status": true,
"code": 0,
"message": null,
"data": /* 返回结果数据 */
}
```
##### 域名管理接口
[官网API文档](https://help.aliyun.com/document_detail/29748.html)
###### 获取域名列表
调用describeDomains接口根据传入参数添加域名。
[戳我查看请求参数](https://help.aliyun.com/document_detail/29749.html)
**请求示例:**
GET:
```txt
http://127.0.0.1:8082/domainManage/describeDomains?token=023448E459EED8E55EF6446E0E943A46&pageNumber=1&pageSize=5
```
POST: 服务器地址/describeDomains?token=023448E459EED8E55EF6446E0E943A46&pageNumber
JSON请求体
```json
{"pageNumber":1,"pageSize":5}
```
**响应实列:**
请查看官网API文档
###### 持续更新中。。。。
##### 解析管理接口
[官网API文档](https://help.aliyun.com/document_detail/29771.html)
###### 获取解析记录列表
调用describeDomainRecords根据传入参数获取指定主域名的所有解析记录列表。
[戳我查看请求参数](https://help.aliyun.com/document_detail/29776.html)
**请求示例:**
GET:
```txt
http://127.0.0.1:8082/resolverManage/describeDomainRecords?token=023448E459EED8E55EF6446E0E943A46&domainName=cptr.top
```
POST: 服务器地址/resolverManage/describeDomainRecords?token=023448E459EED8E55EF6446E0E943A46
JOSN请求体
```json
{
"domainName": "cptr.top"
}
```
**响应实列:**
[请查看官网API文档](https://help.aliyun.com/document_detail/29776.html)
###### 获取解析记录详细信息
调用describeDomainRecordInfo获取解析记录的详细信息。
[戳我查看请求参数](https://help.aliyun.com/document_detail/29776.html)
**请求示例:**
GET:
```txt
http://127.0.0.1:8082/resolverManage/describeDomainRecordInfo?token=023448E459EED8E55EF6446E0E943A46&recordId=772096798538381312
```
POST: 服务器地址/resolverManage/describeDomainRecordInfo?token=023448E459EED8E55EF6446E0E943A46
JOSN请求体
```json
{
"recordId": "772096798538381312"
}
```
**响应实列:**
[请查看官网API文档](https://help.aliyun.com/document_detail/29776.html)
###### 添加解析记录
调用addDomainRecord根据传入参数添加解析记录。
[戳我查看请求参数](https://help.aliyun.com/document_detail/29772.html)
**请求示例:**
GET:
```txt
http://127.0.0.1:8082/resolverManage/addDomainRecord?token=023448E459EED8E55EF6446E0E943A46&domainName=cptr.top&RR= bbr&type=a&value= 192.0.2.254
```
POST: 服务器地址/resolverManage/addDomainRecord?token=023448E459EED8E55EF6446E0E943A46
JOSN请求体
```json
{
"domainName": "cptr.top",
"RR": "bbr",
"type": "a",
"value": "192.0.2.254"
}
```
**响应实列:**
[请查看官网API文档](https://help.aliyun.com/document_detail/29772.html)
###### 获取子域名解析记录列表
调用describeSubDomainRecords根据传入参数获取某个固定子域名的所有解析记录列表。
[戳我查看请求参数](https://help.aliyun.com/document_detail/29778.html)
**请求示例:**
GET:
```txt
http://127.0.0.1:8082/resolverManage/describeSubDomainRecords?token=023448E459EED8E55EF6446E0E943A46&subDomain=nas1.cptr.top
```
POST: 服务器地址/resolverManage/describeSubDomainRecords?token=023448E459EED8E55EF6446E0E943A46
JOSN请求体
```json
{
"subDomain": "nas1.cptr.top"
}
```
**响应实列:**
[请查看官网API文档](https://help.aliyun.com/document_detail/29778.html)
###### 删除解析记录
调用deleteDomainRecord根据传入参数删除解析记录。
[戳我查看请求参数](https://help.aliyun.com/document_detail/29773.html)
**请求示例:**
GET:
```txt
http://127.0.0.1:8082/resolverManage/deleteDomainRecord?token=023448E459EED8E55EF6446E0E943A46&recordId=782613548472653824
```
POST: 服务器地址/resolverManage/deleteDomainRecord?token=023448E459EED8E55EF6446E0E943A46
JOSN请求体
```json
{
"recordId": "782613548472653824"
}
```
**响应实列:**
[请查看官网API文档](https://help.aliyun.com/document_detail/29773.html)
###### 修改解析记录
调用updateDomainRecord根据传入参数修改解析记录。
[戳我查看请求参数](https://help.aliyun.com/document_detail/29774.html)
**请求示例:**
GET:
```txt
http://127.0.0.1:8082/resolverManage/updateDomainRecord?token=023448E459EED8E55EF6446E0E943A46&recordId=782618100246710272&RR=bbr&type=a&value=192.0.2.251
```
POST: 服务器地址/resolverManage/updateDomainRecord?token=023448E459EED8E55EF6446E0E943A46
JOSN请求体
```json
{
"recordId": "782618100246710272",
"RR": "bbr",
"type": "a",
"value": "192.0.2.251"
}
```
**响应实列:**
[请查看官网API文档](https://help.aliyun.com/document_detail/29774.html)
###### 删除子域名解析记录
调用deleteSubDomainRecords根据传入参数删除主机记录对应的解析记录。
[戳我查看请求参数](https://help.aliyun.com/document_detail/29779.html)
**请求示例:**
GET:
```txt
http://127.0.0.1:8082/resolverManage/deleteSubDomainRecords?token=023448E459EED8E55EF6446E0E943A46&domainName=cptr.top&RR=bbr
```
POST: 服务器地址/resolverManage/deleteSubDomainRecords?token=023448E459EED8E55EF6446E0E943A46
JOSN请求体
```json
{
"domainName": "cptr.top",
"RR": "bbr"
}
```
**响应实列:**
[请查看官网API文档](https://help.aliyun.com/document_detail/29779.html)
###### 持续更新中。。。。
####