thinkingcircles / flaredns-client
Synchronize your App dynamic IP with your CloudFlare DNS A records.
1.0.2
2017-07-08 06:35 UTC
Requires
- php: ~5.6|~7.0
- guzzlehttp/guzzle: ^6.0
- illuminate/support: ~5.1
Requires (Dev)
- phpunit/phpunit: ~4.0||~5.0||~6.0
- squizlabs/php_codesniffer: ^2.3
This package is not auto-updated.
Last update: 2025-08-09 02:02:52 UTC
README
Synchronize your App dynamic IP with your CloudFlare DNS A records.
Use this package if:
- 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
// 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 Setup - Laravel 5.4 - Scheduling
// 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
- Debug
- Clean up code
- Improve logic
- Make UI FlareDNS Management UI