FlareDNS-client
Synchronize your App dynamic IP with your CloudFlare DNS A records., (*1)
Use this package if:, (*2)
- You use CloudFlare.
- You run your Laravel App on a server with a Dynamic IP or your IP changes often.
Installation
composer require thinkingcircles/flaredns-client
// config/app.php
'providers' => [
// Other service providers...
ThinkingCircles\FlareDNSClient\FlareDNSClientServiceProvider::class,
]
php artisan vendor:publish --provider="ThinkingCircles\FlareDNSClient\FlareDNSClientServiceProvider"
Get CloudFlare api keys
Configuration
// .env
cloudflare_zone_id=
cloudflare_global_api_key=
cloudflare_api_email=
:or, (*3)
// config/flaredns-client.php
<?php return [
'cloudflare_api_account' => [
'cloudflare_zone_id' => 'ZONE-ID',
'cloudflare_global_api_key' => 'API-KEY',
'cloudflare_api_email' => 'API-EMAIL',
'dns_records' => [
//will match id or name
['id'=>null, 'name'=>'domain.net'],
['id'=>'CloudFlare-API-Record-ID', 'name'=>null]
]
]
];
// Cron if you have not setup already
* * * * * php /path-to-your-project/artisan schedule:run >> /dev/null 2>&1
Usage
// App/Console/Kernel.php
protected function schedule(Schedule $schedule)
{
$schedule->command('flarednsclient:ipsync')->everyFiveMinutes();
}
Todo