dnsctl

module
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 5, 2021 License: MIT

README

DNSCTL - 云解析DNS工具

该项目主要是基于阿里云、腾讯云(Dnspod)等云解析DNS开放的API编写的客户端工具。

手册

帮助

  • Dnsctl - 一个 aliyuntencent 集合的工具,即同时拥有管理阿里云解析DNS和腾讯云解析DNS功能。
dnsctl is a simple command line client for cloud dns.

Usage:
  dnsctl [command]

Available Commands:
  aliyun      阿里云 云DNS
  help        Help about any command
  tencent     腾讯云 云DNS
  version     版本号

Flags:
  -h, --help   help for dnsctl

Use "dnsctl [command] --help" for more information about a command.
  • Aliyun
dnsctl-aliyun is a simple command line client for aliyun dns.

Usage:
  dnsctl-aliyun [command]

Available Commands:
  domain      域名管理
  group       域名分组管理
  help        Help about any command
  record      域名解析管理
  version     版本号

Flags:
  -h, --help                help for dnsctl-aliyun
      --region-id string    区域ID (default "default")
      --secret-id string    密钥ID
      --secret-key string   加密密钥

Use "dnsctl-aliyun [command] --help" for more information about a command.
  • Tencent
dnsctl-tencent is a simple command line client for tencent dns.

Usage:
  dnsctl-tencent [command]

Available Commands:
  domain      域名管理
  group       域名分组管理
  help        Help about any command
  record      域名解析管理
  version     版本号

Flags:
  -h, --help                help for dnsctl-tencent
      --region string       区域名称
      --secret-id string    密钥ID
      --secret-key string   加密密钥

Use "dnsctl-tencent [command] --help" for more information about a command.

样例

  • Aliyun
# 配置鉴权信息
export ALIYUN_SECRET_ID=xxxx
export ALIYUN_SECRET_KEY=yyyy

# 添加域名分组
dnsctl-aliyun group add --name 测试分组
# 获取域名分组列表
dnsctl-aliyun group list

# 添加域名
$ dnsctl-aliyun domain add --name yuntree.com
# 添加域名备注
dnsctl-aliyun domain remark --name yuntree.com --remark 国际域名
# 获取域名列表
$ dnsctl-aliyun domain list

# 添加解析记录
$ dnsctl-aliyun record add --domain yuntree.com --rr cdn --type A --value 8.8.8.8
$ dnsctl-aliyun record add --domain yuntree.com --rr www --type A --value 1.1.1.1
# 添加域名解析备注
$ dnsctl-aliyun record remark --id 721418058676111360 --remark 官网
$ dnsctl-aliyun record remark --id 721418057214420992 --remark CDN分发
# 设置域名解析状态
$ dnsctl-aliyun record status --id 721418057214420992 --status DISABLE
# 获取域名解析列表
$ dnsctl-aliyun record list --domain yuntree.com

# 查看操作日志
$ dnsctl-aliyun domain logs --lang zh
$ dnsctl-aliyun record logs --domain yuntree.com --lang zh

aliyun-group-add

aliyun-group-list

aliyun-domain-add

aliyun-domain-list

aliyun-record-add

aliyun-record-status

aliyun-record-list

  • Tencent
# 配置鉴权信息
export TENCENT_SECRET_ID=xxxx
export TENCENT_SECRET_KEY=yyyy

# 添加域名分组
$ dnsctl-tencent group add --name 测试分组
# 获取域名分组列表
$ dnsctl-tencent group list

# 添加域名
$ dnsctl-tencent domain add --name yuntree.com
# 添加域名备注
$ dnsctl-tencent domain remark --name yuntree.com --remark 国际域名
# 获取域名列表
$ dnsctl-tencent domain list

# 添加解析记录
$ dnsctl-tencent record add --domain yuntree.com --rr www --type A --value 1.1.1.1
$ dnsctl-tencent record add --domain yuntree.com --rr cdn --type A --value 8.8.8.8
# 添加域名解析备注
$ dnsctl-tencent record remark --domain yuntree.com --id 927117504 --remark 官网
$ dnsctl-tencent record remark --domain yuntree.com --id 927117560 --remark CDN分发
# 设置域名解析状态
$ dnsctl-tencent record status --domain yuntree.com --id 927117560 --status DISABLE
# 获取域名解析列表
$ dnsctl-tencent record list --domain yuntree.com

# 查看操作日志
$ dnsctl-aliyun domain logs --name yuntree.com

tencent-domain-list

tencent-domain-lock-unlock

tencent-record-add

tencent-record-list

构建

  • 二进制
git clone github.com/chinatree/dnsctl.git
cd dnsctl
make build

# 基于容器构建
make build-in-docker
  • 容器
git clone github.com/chinatree/dnsctl.git
cd dnsctl

## 单架构
BUILD_FROM="alpine:3.14.2"
IMAGE="chinatree/dnsctl:0.0.1-alpine"
docker build --no-cache \
	-t ${IMAGE} \
	--build-arg BUILD_FROM=${BUILD_FROM} \
	-f build/docker/Dockerfile \
	./build/docker

## 多架构
BUILD_FROM="alpine:3.14.2"
IMAGE="chinatree/dnsctl:0.0.1-alpine"
docker buildx build --no-cache \
	-t ${IMAGE} \
	--build-arg BUILD_FROM=${BUILD_FROM} \
	-f build/docker/Dockerfile \
	./build/docker \
	--platform=linux/amd64,linux/arm64 \
	--push


# Aliyun
## 单架构
BUILD_FROM="alpine:3.14.2"
IMAGE="chinatree/dnsctl-aliyun:0.0.1-alpine"
docker build --no-cache \
	-t ${IMAGE} \
	--build-arg BUILD_FROM=${BUILD_FROM} \
	-f build/docker/Dockerfile-Aliyun \
	./build/docker

## 多架构
BUILD_FROM="alpine:3.14.2"
IMAGE="chinatree/dnsctl-aliyun:0.0.1-alpine"
docker buildx build --no-cache \
	-t ${IMAGE} \
	--build-arg BUILD_FROM=${BUILD_FROM} \
	-f build/docker/Dockerfile-Aliyun \
	./build/docker \
	--platform=linux/amd64,linux/arm64 \
	--push


# Tencent
## 单架构
BUILD_FROM="alpine:3.14.2"
IMAGE="chinatree/dnsctl-tencent:0.0.1-alpine"
docker build --no-cache \
	-t ${IMAGE} \
	--build-arg BUILD_FROM=${BUILD_FROM} \
	-f build/docker/Dockerfile-Tencent \
	./build/docker

## 多架构
BUILD_FROM="alpine:3.14.2"
IMAGE="chinatree/dnsctl-tencent:0.0.1-alpine"
docker buildx build --no-cache \
	-t ${IMAGE} \
	--build-arg BUILD_FROM=${BUILD_FROM} \
	-f build/docker/Dockerfile-Tencent \
	./build/docker \
	--platform=linux/amd64,linux/arm64 \
	--push

容器

  • chinatree/dnsctl:0.0.1-alpine
docker run -it --rm \
	-e ALIYUN_SECRET_ID=xxxx \
	-e ALIYUN_SECRET_KEY=yyyy \
	-e TENCENT_SECRET_ID=xxxx \
	-e TENCENT_SECRET_KEY=yyyy \
	chinatree/dnsctl:0.0.1-alpine
  • chinatree/dnsctl-aliyun:0.0.1-alpine
docker run -it --rm \
	-e ALIYUN_SECRET_ID=xxxx \
	-e ALIYUN_SECRET_KEY=yyyy \
	chinatree/dnsctl-aliyun:0.0.1-alpine
  • chinatree/dnsctl-tencent:0.0.1-alpine
docker run -it --rm \
	-e TENCENT_SECRET_ID=xxxx \
	-e TENCENT_SECRET_KEY=yyyy \
	chinatree/dnsctl-tencent:0.0.1-alpine

协议

Dnsctl is released under the very permissive MIT license.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL