thinkingcircles/flaredns-client

Synchronize your App dynamic IP with your CloudFlare DNS A records.

1.0.2 2017-07-08 06:35 UTC

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