Skip to main content

一个用于管理多云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>

贡献指南

  1. Fork 本仓库
  2. 创建您的特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交您的更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 打开一个 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)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dnscli-0.1.1-py3-none-any.whl (13.0 kB view details)

Uploaded Python 3

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

Hashes for dnscli-0.1.1.tar.gz
Algorithm Hash digest
SHA256 d7226c72907f904ad8558f90217e105c36d8a1a9564286fa5c8c492699e8ab84
MD5 403076b9e5c45bad6eccd3f0335f49f2
BLAKE2b-256 c1f0466af7976cdeb92cafe435eb3dc2fb5837b440f86c8fd5e64fa4e5a75588

See more details on using hashes here.

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

Hashes for dnscli-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e5facd846a25d61987f0dc0ab322ca267a3ade00136a73674aba9da8f1839f95
MD5 49499e21410810a4a862647fe1a1200d
BLAKE2b-256 a4bca3c8317c895faa1951a9f5434a8c83065e7429894f2f5412c0b7c8323904

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page