Skip to main content

一个用于管理多云DNS记录的命令行工具

Project description

DNSCLI

一个用于管理多云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
  • cloudflare>=4.0.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" --proxied

删除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.3.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.3-py3-none-any.whl (14.3 kB view details)

Uploaded Python 3

File details

Details for the file dnscli-0.1.3.tar.gz.

File metadata

  • Download URL: dnscli-0.1.3.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.3.tar.gz
Algorithm Hash digest
SHA256 5a10f711841246119f4ad4e010ac8006d5e6a301e790ef31b63f1f656a222881
MD5 fcd3a8085ed48867160ce2f7af46262f
BLAKE2b-256 ded2d3c28f73150da7ebb1d6a3270dfe372b69d9cb5bb5a0870781d0a9ce7920

See more details on using hashes here.

File details

Details for the file dnscli-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: dnscli-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 14.3 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 52e3ad27d238e323db26f89c949028c7e1c365c45683f139939d759ba52b7b3e
MD5 edd4f03113fc59dc9aa5b74ff0e0cb5e
BLAKE2b-256 a30280709c6fe2c0dda83eb2c6b9a7355c7e4a02062dabb880e71de1e543b770

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