{"id":16932866,"url":"https://github.com/zrr-lab/dns-manager","last_synced_at":"2025-09-19T00:11:05.193Z","repository":{"id":209479886,"uuid":"724108278","full_name":"zrr-lab/dns-manager","owner":"zrr-lab","description":"A extensive DNS management tool.","archived":false,"fork":false,"pushed_at":"2025-09-02T08:04:34.000Z","size":254,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-02T09:59:48.471Z","etag":null,"topics":["cloudflare","ddns","dns","dns-manager","dnspod","dynamic-dns","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zrr-lab.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-11-27T12:15:32.000Z","updated_at":"2025-09-02T08:04:37.000Z","dependencies_parsed_at":"2023-12-27T09:30:32.696Z","dependency_job_id":"f49fc41b-90bf-4f63-b755-474a33fce173","html_url":"https://github.com/zrr-lab/dns-manager","commit_stats":null,"previous_names":["zrr1999/auto-ddns","zrr1999/dns-manager","zrr-lab/dns-manager"],"tags_count":21,"template":false,"template_full_name":null,"purl":"pkg:github/zrr-lab/dns-manager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zrr-lab%2Fdns-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zrr-lab%2Fdns-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zrr-lab%2Fdns-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zrr-lab%2Fdns-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zrr-lab","download_url":"https://codeload.github.com/zrr-lab/dns-manager/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zrr-lab%2Fdns-manager/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275857017,"owners_count":25541031,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-18T02:00:09.552Z","response_time":77,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cloudflare","ddns","dns","dns-manager","dnspod","dynamic-dns","python"],"created_at":"2024-10-13T20:47:51.865Z","updated_at":"2025-09-19T00:11:05.184Z","avatar_url":"https://github.com/zrr-lab.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# dns-manager\n\n\u003cp align=\"center\"\u003e\n   \u003ca href=\"https://python.org/\" target=\"_blank\"\u003e\u003cimg alt=\"PyPI - Python Version\" src=\"https://img.shields.io/pypi/pyversions/dns-manager?logo=python\u0026style=flat-square\"\u003e\u003c/a\u003e\n   \u003ca href=\"https://pypi.org/project/dns-manager/\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/pypi/v/dns-manager?style=flat-square\" alt=\"pypi\"\u003e\u003c/a\u003e\n   \u003ca href=\"https://pypi.org/project/dns-manager/\" target=\"_blank\"\u003e\u003cimg alt=\"PyPI - Downloads\" src=\"https://img.shields.io/pypi/dm/dns-manager?style=flat-square\"\u003e\u003c/a\u003e\n   \u003ca href=\"LICENSE\"\u003e\u003cimg alt=\"LICENSE\" src=\"https://img.shields.io/pypi/l/dns-manager?style=flat-square\"\u003e\u003c/a\u003e\n   \u003cbr/\u003e\n   \u003ca href=\"https://codecov.io/gh/zrr-lab/dns-manager\" \u003e\u003cimg src=\"https://codecov.io/gh/zrr-lab/dns-manager/graph/badge.svg?token=l0m6mbJfad\"/\u003e\u003c/a\u003e\n   \u003ca href=\"https://codspeed.io/zrr-lab/dns-manager\"\u003e\u003cimg src=\"https://img.shields.io/endpoint?url=https://codspeed.io/badge.json\" alt=\"CodSpeed Badge\"/\u003e\u003c/a\u003e\n   \u003cbr/\u003e\n   \u003ca href=\"https://github.com/astral-sh/uv\"\u003e\u003cimg alt=\"uv\" src=\"https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json\u0026style=flat-square\"\u003e\u003c/a\u003e\n   \u003ca href=\"https://github.com/astral-sh/ruff\"\u003e\u003cimg alt=\"ruff\" src=\"https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json\u0026style=flat-square\"\u003e\u003c/a\u003e\n   \u003ca href=\"https://gitmoji.dev\"\u003e\u003cimg alt=\"Gitmoji\" src=\"https://img.shields.io/badge/gitmoji-%20😜%20😍-FFDD67?style=flat-square\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\n一个可扩展的 DNS 管理工具。\n\n## 安装 [![Downloads](https://pepy.tech/badge/dns-manager)](https://pepy.tech/project/dns-manager)\n\n### 使用 pip/pipx/uv 安装\n\n在此之前请确保安装 Python3.10 及以上版本，并安装了 pip。\n```shell\npip install dns-manager[all]\n```\n\n如果想要尝试 Nightly 版本，可尝试（需确保使用 Python3.12）\n```shell\npip install git+https://github.com/zrr1999/dns-manager@main\n```\n\n在此之前请确保安装了 [pipx](https://github.com/pypa/pipx)/[uv](https://github.com/astral-sh/uv)。\n```shell\npipx install dns-manager[all]\nuv tool install dns-manager[all]\n```\n\npipx/uv 会无感地为 dns-manager 创建一个虚拟环境，与其余环境隔离开，避免污染其他环境，\n因此相对于 pip，pipx/uv 是更推荐的安装方式。\n\n## 使用说明\n### 基础示例\n首先创建一个配置文件，例如类似 `examples/simple.toml` 文件中的内容，如下：\n```toml\n[test]\ndomain = \"mydomain.com\"\nsetter_name = \"cloudflare\"\nrecords = [\n    [\n      \"test\",  # 也就是 test.mydomain.com 指向的路径\n      \"baidu.com\"  # 解析值，目前只支持 A 记录和 CNAME 记录，会根据此处的值自动判断\n    ]\n]\n```\n然后执行以下命令：\n```shell\ndns-manager update examples/simple.toml\n# dnsm update examples/simple.toml\n```\n此时，你的解析记录就会增加一条 `test.mydomain.com` 的 CNAME 记录指向 `baidu.com` 。\n\n### 支持的 dns 提供商\n本项目实现了一个 [lexicon](https://github.com/dns-lexicon/dns-lexicon) 的适配 Setter，\n支持情况与其一致。\n\n### 定时执行\n你可以使用 [cronie](https://github.com/cronie-crond/cronie) 定时执行，例如\n```\n@reboot dnsm update ~/.config/dns-manager/config.toml\n@hourly dnsm update ~/.config/dns-manager/config.toml\n```\n\n你可以通过下面的命令添加定时任务\n```shell\n(crontab -l 2\u003e/dev/null; echo \"@reboot dnsm update ~/.config/dns-manager/config.toml\") | crontab\n(crontab -l 2\u003e/dev/null; echo \"@hourly dnsm update ~/.config/dns-manager/config.toml\") | crontab\n```\n\n## 如何贡献\n\n非常欢迎你的加入！[提一个 Issue](https://github.com/zrr1999/dns-manager/issues/new) 或者提交一个 [Pull Request](https://github.com/zrr1999/dns-manager/pulls/new)。\n\n### 贡献者\n\n感谢以下参与项目的人：\n\n## 使用许可\n[GNU](LICENSE) © Rongrui Zhan\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzrr-lab%2Fdns-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzrr-lab%2Fdns-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzrr-lab%2Fdns-manager/lists"}