rumd3x / dns-updater
当DNS记录更改时,更新您的DNS提供商上的DNS记录。
0.1.2
2019-03-25 22:01 UTC
Requires
- php: >=7.2
- cloudflare/sdk: ^1.1
- guzzlehttp/guzzle: ^6.3
- monolog/monolog: ^1.24
- rumd3x/php-baseobject: ^1.0
- tightenco/collect: ^5.8
- toin0u/digitalocean-v2: ^2.3
- vlucas/phpdotenv: ^2
Requires (Dev)
- phpunit/phpunit: ^8.0
This package is auto-updated.
Last update: 2024-09-29 05:21:42 UTC
README
当DNS记录更改时,更新您的DNS提供商上的DNS记录。
关于
本项目是一个PHP工具,用于在多个DNS提供商上更新DNS记录。它基本上用于在任意提供商上自动保持DNS "A"记录与您的公共IP同步。
当前可用的提供商有
- Cloudflare
- DigitalOcean
用法
本地运行
此工具不保证您的配置正确。首先请在您的提供商上正确配置DNS设置,然后仅使用此工具保持记录更新。
- 本地下载项目
git clone https://github.com/rumd3x/dns-updater.git
# or
composer create-project rumd3x/dns-updater
使用git clone时,请确保使用composer install
安装依赖项。
- 将
.env.example
文件复制到.env
并填写必要的参数。
PROVIDER
应该是digitalocean
或cloudflare
。KEY
提供商的API密钥。如果您的提供商是cloudflare,则应该是email@email.com;your-api-key
。DOMAIN
您的记录所属的域名,例如mysite.com
。RECORD
将要更新的记录,例如,更新ddns.mysite.com
的记录应使用'ddns'
。
- 现在运行
app/bootstrap.php
文件并观察您的DNS记录更新。 - 将调用项目的命令放入计划中(例如,每5分钟运行一次cron)以确保它始终是最新的。
使用docker方式运行
您还可以使用docker运行此项目。默认情况下,它将按计划运行项目(每5分钟一次)。只需运行以下命令即可(请参考上面的环境变量定义部分)。
docker run --name dns-updater-mysite-ddns \
--env PROVIDER=cloudflare \
--env KEY=email@email.com;my-api-key-here \
--env DOMAIN=mysite.com \
--env RECORD=ddns \
--restart unless-stopped \
edmur/dns-updater
要检查容器内部的情况,只需运行
docker logs dns-updater-mysite-ddns