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 '*.precision.example.com' -e admin@example.com --provider aliyun --cert-path precision
chatdns cert check '*.precision.example.com' --cert-path precision
chatdns cert manifest ./manifest.json

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 roots use this precedence: explicit --cert-dir / Python cert_dir, then ChatEnv CHATDNS_CERT_DIR, then $CHATARCH_HOME/certs. Each certificate is stored at <registered-domain>/<cert-path>/; an omitted path uses default, collisions use numeric suffixes, and the same SAN set reuses its existing directory. ACME state stays under $CHATARCH_HOME/private/chatdns/acme, outside the certificate root.

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.5.tar.gz (46.2 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.5-py3-none-any.whl (42.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: chatdns-0.1.5.tar.gz
  • Upload date:
  • Size: 46.2 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.5.tar.gz
Algorithm Hash digest
SHA256 bd4b52930c6d1131a4d8dcede339c6c3ea75403b085bc70ba64f7841c66eb02d
MD5 ba5077ee8b2c2e6ef7f16afe994140f8
BLAKE2b-256 79cdb76f4c33fb864ed1f84bb4b10049ab515ca1f83d815535f07bfcc5e832d3

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: chatdns-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 42.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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 37c3c45f04fdaf752f770ad8f47cda586a4d556206aa5e0750d1931fabcdaeaf
MD5 5859167955e919c2e59d5c7555697866
BLAKE2b-256 53e0cadc348994284a0572e52e7011b547a510f47a03e5f91ce1a6a4d030b24c

See more details on using hashes here.

Provenance

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

This release

0.1.5 This release

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