ChatDNS: ChatArch DNS record, DDNS, and provider helper extracted from ChatTool.
Project description
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:aliyunortencent)ALIBABA_CLOUD_ACCESS_KEY_IDALIBABA_CLOUD_ACCESS_KEY_SECRETALIBABA_CLOUD_REGION_IDTENCENT_SECRET_IDTENCENT_SECRET_KEYTENCENT_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.
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
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file chatdns-0.1.3.tar.gz.
File metadata
- Download URL: chatdns-0.1.3.tar.gz
- Upload date:
- Size: 36.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b540fc331d1901615ebe2007ca66ae54e29a62906083da50b762080c1c4099cb
|
|
| MD5 |
5df9446aec558f42af1ff6a4f8fa8f2b
|
|
| BLAKE2b-256 |
0fb6ee5d06efe9fd09497af44e60601fadbc503d701b5915ca0450e8cdaa15d5
|
Provenance
The following attestation bundles were made for chatdns-0.1.3.tar.gz:
Publisher:
publish.yml on ChatArch/ChatDNS
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
chatdns-0.1.3.tar.gz -
Subject digest:
b540fc331d1901615ebe2007ca66ae54e29a62906083da50b762080c1c4099cb - Sigstore transparency entry: 2088958225
- Sigstore integration time:
-
Permalink:
ChatArch/ChatDNS@9a3f7165a3a288ddab4cf679f737d07b448d5682 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/ChatArch
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@9a3f7165a3a288ddab4cf679f737d07b448d5682 -
Trigger Event:
push
-
Statement type:
File details
Details for the file chatdns-0.1.3-py3-none-any.whl.
File metadata
- Download URL: chatdns-0.1.3-py3-none-any.whl
- Upload date:
- Size: 37.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
94bae5fa863bebf83a1b39e9ece80ae24d4af1b14bb9a99945c5520f3bfe97ca
|
|
| MD5 |
757fc6d91ddbbf3b36cd64c67950cfb4
|
|
| BLAKE2b-256 |
c945dd3385b63105f0524f41f491dbedd185d947ef2315653d69f0dc779d499e
|
Provenance
The following attestation bundles were made for chatdns-0.1.3-py3-none-any.whl:
Publisher:
publish.yml on ChatArch/ChatDNS
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
chatdns-0.1.3-py3-none-any.whl -
Subject digest:
94bae5fa863bebf83a1b39e9ece80ae24d4af1b14bb9a99945c5520f3bfe97ca - Sigstore transparency entry: 2088958666
- Sigstore integration time:
-
Permalink:
ChatArch/ChatDNS@9a3f7165a3a288ddab4cf679f737d07b448d5682 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/ChatArch
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@9a3f7165a3a288ddab4cf679f737d07b448d5682 -
Trigger Event:
push
-
Statement type: