Skip to main content

ChatDNS

简体中文 · English

ChatDNS 是 ChatArch 的 DNS、DDNS 与 ACME DNS-01 证书工具。它统一 Aliyun DNS 与 Tencent Cloud / DNSPod provider,通过 ChatEnv profile 选择账号,并将证书安全写入 $CHATARCH_HOME/certs/<registered-domain>/<cert-path>/

按场景进入

目标 入口
第一次安装并安全验证 profile 快速开始
查找命令、参数和副作用 CLI 树
理解证书目录、SAN 复用和 symlink 拒绝规则 证书目录与创建规则
直接查看所有公开命令 chatdns --help

安装

推荐使用 Python 3.12;包元数据中的 >=3.10 只表示最低兼容版本,不会把环境固定到 Python 3.10。

uv venv --python 3.12
uv pip install ChatDNS
chatdns --version

开发安装:

uv pip install -e '.[dev,docs]'

安全起步

先选择 ChatEnv profile 和 provider,再从只读命令开始:

chatdns --env work list --provider tencent
chatdns --env work records example.com --provider tencent
chatdns ip --type public
chatdns --env work cert check '*.example.com' --cert-path default

确认账号、zone 与记录无误后,再执行 setdeleteddnscert apply

CLI 树

chatdns
├── cert
│   ├── apply       # DNS-01 申请并安装证书;写 DNS 与本地证书
│   ├── check       # 只读检查指定域名续期状态
│   ├── status      # 只读扫描内部证书根
│   └── manifest    # show/init/validate Infra manifest;init 只写本地清单/README
├── ddns            # 单次或持续更新 A 记录
├── delete          # 删除记录
├── ip              # 查询 public/local IP
├── list            # 列出 managed zones
├── records         # 查询记录
└── set             # 幂等设置记录

完整参数、profile 位置规则、交互选项和副作用矩阵见 CLI 树

证书状态入口是 chatdns cert statuschatdns cert manifest init 会从当前证书根创建/更新 Infra 工作区里的 manifest.json,并创建 scripts/README.md 作为模型/人工手写同步脚本的说明入口;ChatDNS 不提供 cert script 生成或执行接口。

配置解析

Provider 选择顺序:

  1. 命令行 --provider
  2. ChatDNS profile 的 CHATDNS_PROVIDER
  3. 默认 aliyun

Profile 使用全局 chatdns --env PROFILE ... 选择;DNS 命令也支持命令级 --env。Aliyun 与 Tencent 凭据由同名 ChatEnv profile 读取,敏感值不写入仓库。

能力与边界

操作 副作用
listrecords provider 只读 API
ip 本机接口读取或公网 IP 查询
cert checkcert statuscert manifest showcert manifest validate 本地只读
cert manifest init 只写本地 Infra manifest.jsonscripts/README.md
setdeleteddns 写 DNS provider
cert apply 写 DNS challenge 与本地证书

ChatDNS 负责 DNS、证书申请/检查、证书根状态扫描和 manifest 创建/解析;SSH 分发、Nginx rewrite/reload 与服务器 rollback 属于 Infra,不在 ChatDNS 中执行,也不生成同步脚本。

Python API 与 MCP

from chatdns import create_dns_client, DynamicIPUpdater, SSLCertUpdater

MCP 暴露 DNS 查询/设置、IP 查询、DDNS 与证书申请工具;MCP 工具不属于 CLI 子命令。完整映射见 CLI 树

验证

pytest -q
mkdocs build --strict

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

chatdns-0.1.8.tar.gz (53.0 kB view details)

Uploaded Source

Built Distribution

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

chatdns-0.1.8-py3-none-any.whl (47.8 kB view details)

Uploaded Python 3

File details

Details for the file chatdns-0.1.8.tar.gz.

File metadata

  • Download URL: chatdns-0.1.8.tar.gz
  • Upload date:
  • Size: 53.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for chatdns-0.1.8.tar.gz
Algorithm Hash digest
SHA256 4fd7088574508493d72ec315983b4fdbfca8fbeb0799d695a63dc251b3a3bd99
MD5 6861110c007b56319df639e9979b64ec
BLAKE2b-256 9685a5edb7c8957a0be9dc042c81f3cf1279ad9346342a31718ddaa83175d682

See more details on using hashes here.

Provenance

The following attestation bundles were made for chatdns-0.1.8.tar.gz:

Publisher: publish.yml on ChatArch/ChatDNS

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file chatdns-0.1.8-py3-none-any.whl.

File metadata

  • Download URL: chatdns-0.1.8-py3-none-any.whl
  • Upload date:
  • Size: 47.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for chatdns-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 1c04a9a0d0ab7bebe8d3935aacb5a6f59be54e584dbf125d13a5ef32677579f9
MD5 ee7e4c066cb668fecfd1f6f6e3b4c832
BLAKE2b-256 2845ac62a07aba04f4a027db0583e84c702cd2376484589b35a7bcfa299362e5

See more details on using hashes here.

Provenance

The following attestation bundles were made for chatdns-0.1.8-py3-none-any.whl:

Publisher: publish.yml on ChatArch/ChatDNS

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.1.11

2 files

0.1.10

2 files

0.1.9

2 files

This release

0.1.8 This release

2 files

0.1.7

2 files

0.1.6

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

0.0.1

2 files

Supported by

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