一个用于管理多云DNS记录的命令行工具
Project description
DNSCLI2
一个用于管理多云DNS记录的命令行工具,支持阿里云DNS、腾讯云DNS和Cloudflare DNS。
功能特点
- 支持阿里云DNS、腾讯云DNS和Cloudflare DNS
- 支持多配置管理,可同时管理多个云服务商的DNS记录
- 支持DNS记录的增删改查,包括A、AAAA、CNAME、MX、TXT等记录类型
- 支持Cloudflare CDN代理功能,轻松开启/关闭CDN加速
- 命令行界面,操作简单直观,支持批量操作
- 支持按记录类型、域名等条件筛选和查询
安装
使用 pip 安装
pip install dnscli
依赖要求
- Python >= 3.6
- click >= 8.0.0
- PyYAML >= 6.0
- prettytable >= 3.14.0
- aliyun-python-sdk-core >= 2.13.36
- aliyun-python-sdk-alidns >= 2.6.42
- tencentcloud-sdk-python >= 3.0.0
配置说明
配置文件格式
配置文件默认保存在用户目录下的 .dnscli/config.yaml,格式如下:
default: aliyun # 默认使用的配置名称
configs:
aliyun: # 阿里云配置
provider: aliyun
access_key_id: your_access_key_id
access_key_secret: your_access_key_secret
tencent: # 腾讯云配置
provider: tencent
secret_id: your_secret_id
secret_key: your_secret_key
cloudflare: # Cloudflare配置
provider: cloudflare
token: your_api_token
生成示例配置
dnscli config example
添加云服务商配置
# 添加阿里云配置
dnscli config add --provider aliyun
# 添加腾讯云配置
dnscli config add --provider tencent
# 添加Cloudflare配置
dnscli config add --provider cloudflare
使用示例
查看DNS记录
# 查看指定域名的所有记录
dnscli record list example.com
# 按记录类型筛选
dnscli record list example.com --type A
# 使用指定的配置
dnscli record list example.com --provider config_name
添加DNS记录
# 添加A记录
dnscli record add example.com www A "192.168.1.1"
# 添加CNAME记录
dnscli record add example.com www CNAME "cdn.example.com"
# 添加TXT记录
dnscli record add example.com @ TXT "v=spf1 include:spf.example.com ~all"
# 添加启用CDN代理的记录(仅Cloudflare)
dnscli record add example.com www A "192.168.1.1" --proxied
更新DNS记录
# 更新记录值
dnscli record update example.com <record-id> www A "192.168.1.2"
# 更新CDN代理状态(仅Cloudflare)
dnscli record update example.com <record-id> www A "192.168.1.2" --proxy
删除DNS记录
# 删除单条记录
dnscli record delete example.com <record-id>
# 批量删除记录(谨慎使用)
dnscli record delete example.com <record-id1> <record-id2>
贡献指南
- Fork 本仓库
- 创建您的特性分支 (
git checkout -b feature/AmazingFeature) - 提交您的更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 打开一个 Pull Request
许可证
本项目采用 MIT 许可证 - 详见 LICENSE 文件
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
dnscli-0.1.1.tar.gz
(12.3 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
dnscli-0.1.1-py3-none-any.whl
(13.0 kB
view details)
File details
Details for the file dnscli-0.1.1.tar.gz.
File metadata
- Download URL: dnscli-0.1.1.tar.gz
- Upload date:
- Size: 12.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d7226c72907f904ad8558f90217e105c36d8a1a9564286fa5c8c492699e8ab84
|
|
| MD5 |
403076b9e5c45bad6eccd3f0335f49f2
|
|
| BLAKE2b-256 |
c1f0466af7976cdeb92cafe435eb3dc2fb5837b440f86c8fd5e64fa4e5a75588
|
File details
Details for the file dnscli-0.1.1-py3-none-any.whl.
File metadata
- Download URL: dnscli-0.1.1-py3-none-any.whl
- Upload date:
- Size: 13.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e5facd846a25d61987f0dc0ab322ca267a3ade00136a73674aba9da8f1839f95
|
|
| MD5 |
49499e21410810a4a862647fe1a1200d
|
|
| BLAKE2b-256 |
a4bca3c8317c895faa1951a9f5434a8c83065e7429894f2f5412c0b7c8323904
|