一个可扩展的 DNS 管理工具。
在此之前请确保安装 Python3.10 及以上版本,并安装了 pip。
pip install dns-manager[all]
如果想要尝试 Nightly 版本,可尝试(需确保使用 Python3.12)
pip install git+https://github.com/zrr1999/dns-manager@main
pipx install dns-manager[all]
uv tool install dns-manager[all]
pipx/uv 会无感地为 dns-manager 创建一个虚拟环境,与其余环境隔离开,避免污染其他环境, 因此相对于 pip,pipx/uv 是更推荐的安装方式(uv 会比 pipx 更快些~)。
git clone https://github.com/zrr1999/dns-manager
cd dns-manager
pip install .
首先创建一个配置文件,例如类似 examples/simple.toml
文件中的内容,内容如下:
[test]
domain = "mydomain.com"
setter_name = "cloudflare"
records = [
[
"test", # 也就是 test.mydomain.com 指向的路径
"baidu.com" # 解析值,目前只支持 A 记录和 CNAME 记录,会根据此处的值自动判断
]
]
然后执行以下命令:
dns-manager update examples/simple.toml
# dnsm update examples/simple.toml
此时,你的解析记录就会增加一条 test.mydomain.com
的 CNAME 记录指向 baidu.com
。
你可以使用 cronie 定时执行,例如
@reboot dnsm update ~/.config/dns-manager/config.toml
@hourly dnsm update ~/.config/dns-manager/config.toml
你可以通过下面的命令添加定时任务
(crontab -l 2>/dev/null; echo "@reboot dnsm update ~/.config/dns-manager/config.toml") | crontab
(crontab -l 2>/dev/null; echo "@hourly dnsm update ~/.config/dns-manager/config.toml") | crontab
@zrr1999
非常欢迎你的加入!提一个 Issue 或者提交一个 Pull Request。
感谢以下参与项目的人:
GNU © Rongrui Zhan