11 个版本
0.3.3 | 2024 年 3 月 30 日 |
---|---|
0.3.0 | 2023 年 12 月 2 日 |
0.2.4 | 2023 年 8 月 1 日 |
0.2.3 | 2023 年 1 月 29 日 |
0.1.1 | 2019 年 12 月 25 日 |
在 网络编程 中排名第 555
每月 98 次下载
10KB
88 行
Namecheap DDNS
一个命令行界面 (CLI),用于更新 Namecheap 的 A + 动态 DNS 记录。
预编译的二进制文件
您可以通过下载和运行 预编译的二进制文件 来立即启动。
安装
另一种方法是使用 cargo 进行安装
cargo install namecheap-ddns
使用方法
请查看帮助 (--help
) 了解此工具的详细信息
Updates the A + Dynamic DNS records for Namecheap
Usage: namecheap-ddns [OPTIONS] --domain <DOMAIN> --subdomain <SUBDOMAIN> --token <TOKEN>
Options:
-d, --domain <DOMAIN> The domain with subdomains [env: NAMECHEAP_DDNS_DOMAIN=]
-s, --subdomain <SUBDOMAIN> The subdomain to update [env: NAMECHEAP_DDNS_SUBDOMAIN=]
-i, --ip <IP> The ip address to set on the subdomains (if
blank the ip used to make this request will be
used) [env: NAMECHEAP_DDNS_IP=]
-t, --token <TOKEN> The secret token [env: NAMECHEAP_DDNS_TOKEN=]
-h, --help Print help
-V, --version Print version
您需要指定 Namecheap 提供的高级 DNS 控制面板中的动态 DNS 密码作为环境变量 NAMECHEAP_DDNS_TOKEN
。
提示: 这不是您的 Namecheap 登录密码。
示例
我想使用我的当前公网 IP 地址更新主机 host1.example.com
$ NAMECHEAP_DDNS_TOKEN=... namecheap-ddns -d example.com -s host1
host1.example.com IP address updated to: 123.123.123.123
我想使用给定的 IP 地址更新多个子域名(host1
、host2
和 host3
)
$ NAMECHEAP_DDNS_TOKEN=... namecheap-ddns \
> -d example.com \
> -s host1 -s host2 -s host3
> -i 123.123.123.123
host1.example.com IP address updated to: 123.123.123.123
host2.example.com IP address updated to: 123.123.123.123
host3.example.com IP address updated to: 123.123.123.123
我想使用环境变量文件
$ cat .env
export NAMECHEAP_DDNS_TOKEN=...
export NAMECHEAP_DDNS_DOMAIN=example.com
export NAMECHEAP_DDNS_SUBDOMAIN=host1,host2
export NAMECHEAP_DDNS_IP=321.321.321.321
$ source .env
$ namecheap-ddns
host1.example.com IP address updated to: 321.321.321.321
Linux - systemd
如果您想将其设置为服务,则需要创建一个服务文件和相应的定时器。
-
创建更新子域名的服务本身
# /etc/systemd/system/ddns-update.service [Unit] Description=Update DDNS records for Namecheap After=network-online.target [Service] Type=simple Environment=NAMECHEAP_DDNS_TOKEN=<TOKEN> Environment=NAMECHEAP_DDNS_DOMAIN=<DOMAIN> Environment=NAMECHEAP_DDNS_SUBDOMAIN=<SUBDOMAIN> ExecStart=/path/to/namecheap-ddns User=<USER> [Install] WantedBy=default.target
请确保填写正确的二进制文件路径以及环境变量。
-
请注意,超级秘密令牌在此文件中,因此我们应该设置限制性权限
sudo chmod 600 /etc/systemd/system/ddns-update.service
-
创建运行此服务的定时器
# /etc/systemd/system/ddns-update.timer [Unit] Description=Run DDNS update every 15 minutes Requires=ddns-update.service [Timer] Unit=ddns-update.service OnUnitInactiveSec=15m AccuracySec=1s [Install] WantedBy=timers.target
-
现在我们重新加载守护进程并启动新服务
sudo systemctl daemon-reload sudo systemctl start ddns-update.service ddns-update.timer
您可以使用以下命令查看服务的日志
sudo journalctl -u ddns-update.service
依赖项
~5MB
~113K SLoC