3 个版本
0.1.8 | 2023 年 8 月 29 日 |
---|---|
0.1.6 | 2023 年 8 月 29 日 |
0.1.2 | 2023 年 8 月 29 日 |
#1889 in 命令行工具
12KB
168 行
主页 DNS 刷新
home-dns-refresh
是一个 CLI 任务,用于查找当前的外部 IP,并在 IP 不同时更新 Azure 区域 A 记录。
A 记录必须是可解析的,这样它才能检查它是否相同或不同。
本地安装
cargo install home-dns-refresh
如何运行命令
运行命令以显示用法
home-dns-refresh --help
这将显示运行时的选项
home-dns-refresh
Updates an Azure DNS zone A record to the currently external IP address
USAGE:
home-dns-refresh [OPTIONS] --client-id <client-id> --client-secret <client-secret> --resource-group <resource-group-name> --sub-domain <sub-domain> --subscription-id <subscription-id> --tenant-id <tenant-id> --zone-name <zone-name>
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
-c, --client-id <client-id>
-p, --client-secret <client-secret>
-r, --resource-group <resource-group-name>
-d, --sub-domain <sub-domain>
-s, --subscription-id <subscription-id>
-t, --tenant-id <tenant-id>
--ttl <ttl>
-z, --zone-name <zone-name>
在 Nomad 上设置周期性作业
job "home_dns_refresh" {
datacenters = ["dc1"]
type = "batch"
periodic {
cron = "*/5 * * * * *"
prohibit_overlap = false
}
group "home_dns_refresh" {
count = 1
task "home_dns_refresh" {
driver = "docker"
config {
image = "ghcr.io/haribo256/haribo256/home-dns-refresh:<version>"
args = [
"--tenant-id", "<tenant-id>",
"--subscription-id", "<subscription-id>",
"--resource-group", "<resouce-group>",
"--zone-name", "<azure-zone>",
"--sub-domain", "<subdomain-on-azure-zone-to-update>",
"--client-id", "<azure-client-id>",
"--client-secret", "<azure-client-secret>"
]
}
restart {
attempts = 0
mode = fail
}
resources {
cpu = 100
memory = 20
}
}
}
}
依赖关系
~7–22MB
~289K SLoC