Skip to main content

PyPI version Tests Docs

ChatDNS

ChatDNS is a ChatArch DNS helper extracted from ChatTool. It provides a standalone chatdns CLI and importable Python API for DNS record management, DDNS updates, provider clients, IP detection, DNS-01 certificate automation, and MCP registration.

Commands

chatdns --help
chatdns list
chatdns --env work list --provider tencent
chatdns list --provider tencent --env work
chatdns records example.com
chatdns records test.example.com
chatdns set test.example.com -t A -v 1.2.3.4
chatdns delete test.example.com -t A -v 1.2.3.4 --yes
chatdns ip
chatdns cert apply -d example.com -d '*.example.com' -e admin@example.com --provider aliyun
chatdns cert check example.com

Supported providers in this release:

  • Aliyun DNS
  • Tencent Cloud DNSPod

Certificate management from the old chattool dns cert surface is now available as chatdns cert. It uses ACME DNS-01 validation and writes TXT records through the configured DNS provider. Treat live certificate issuance as an external side effect: test with --staging first and verify provider credentials before production use.

Configuration

ChatDNS reads provider credentials and defaults from environment / ChatEnv-compatible config fields:

  • CHATDNS_PROVIDER (default DNS provider/channel: aliyun or tencent)
  • CHATDNS_CERT_DIR (certificate storage directory; defaults to $CHATARCH_HOME/certs)
  • ALIBABA_CLOUD_ACCESS_KEY_ID
  • ALIBABA_CLOUD_ACCESS_KEY_SECRET
  • ALIBABA_CLOUD_REGION_ID
  • TENCENT_SECRET_ID
  • TENCENT_SECRET_KEY
  • TENCENT_REGION_ID

Active ChatEnv profiles are loaded automatically from $CHATARCH_HOME/envs (default: ~/.chatarch/envs). Use --env/-e to select a named provider profile, either globally before the command (chatdns --env work list -p tencent) or on DNS commands after the provider (chatdns list -p tencent -e work). Command-level --env/-e overrides the global value. chatdns cert apply keeps -e for email, so use --env work there.

Certificate paths use this precedence: explicit --cert-dir / Python cert_dir, then ChatEnv CHATDNS_CERT_DIR, then $CHATARCH_HOME/certs. This keeps wildcard and SAN certificate groups inside the ChatArch-managed home by default while preserving an explicit per-command override.

See the certificate storage and creation rules for the generated file tree, permissions, multi-SAN renewal behavior, central managed-zone layout, and remote infrastructure boundary.

Provider aliases are registered through the package's chatenv.configs entry point as chatdns.config.

Development

python -m pytest -q
chatpypi build --project-dir .
chatpypi check --project-dir .
PYTHONPATH=src python -m chatdns.cli --help

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.4.tar.gz (39.5 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.4-py3-none-any.whl (38.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: chatdns-0.1.4.tar.gz
  • Upload date:
  • Size: 39.5 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.4.tar.gz
Algorithm Hash digest
SHA256 7662a418841ac1a3add9a7ff45aeb481222f0a338ec524e13743efc6c60aa123
MD5 12cba5d6cbca858d3ba5fbb580b182f7
BLAKE2b-256 e59211a85af1241ca2a9e51cf4d979dd7820ac688b304980c8ea8b83684e528b

See more details on using hashes here.

Provenance

The following attestation bundles were made for chatdns-0.1.4.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.4-py3-none-any.whl.

File metadata

  • Download URL: chatdns-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 38.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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 7b6d96196278486d9e33e7b0fc910c00570c3bbf06d35efaf217337604a757db
MD5 22cb16db5a9d5c548917a9e9b415c58f
BLAKE2b-256 4eac79d06a536ffd69c2a762ce1206b7dd0dcdf426ad0a005ae7a77ebe93abab

See more details on using hashes here.

Provenance

The following attestation bundles were made for chatdns-0.1.4-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

0.1.8

2 files

0.1.7

2 files

0.1.6

2 files

0.1.5

2 files

This release

0.1.4 This release

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