laradns/laravel-client

LaraDNS的Laravel客户端包 - 自动化DNS更新过程。

v0.1 2017-03-19 13:01 UTC

This package is not auto-updated.

Last update: 2024-09-28 19:52:56 UTC


README

这是为LaraDNS用户提供的客户端,它暴露了一个php artisan dns:sync控制台命令,用于更新特定Cloudflare DNS记录的IP地址,与原始请求的IP地址相同。

安装

非常简单

需要它

composer require laradns/laravel-client

配置它

通过LaraDNS界面添加您的网站后,添加通过LaraDNS界面获得的唯一ID

// .env

LARADNS_ID=AJBUEo3UcmZ0JDPgSCGxwIRrj5TyAU

添加LaraDNS服务提供者

// config/app.php

'providers' => [
    // Other service providers...    
    LaraDns\Providers\LaraDnsServiceProvider::class,
]

运行它

根据您的需求调度命令执行频率。由于这是一个控制台命令,您甚至可以在部署脚本中包含它,以确保DNS始终是最新的。

// App/Console/Kernel.php

protected function schedule(Schedule $schedule)
{
    $schedule->command('dns:sync')->everyFiveMinutes();
}

事件

您可能希望在IP更新时执行自己的操作。为此,客户端在IP地址更改时触发一个LaraDns\Events\SiteUpdated事件,并将地址作为有效负载。

注册监听器

// App/Providers/EventServiceProvider.php

protected $listen = [
    \LaraDns\Events\SiteUpdated::class => [
        \App\Listeners\SiteIpUpdated::class,
   ],
];

处理事件

// App/Listeners/SiteIpUpdated.php

<?php

namespace App\Listeners;

class SiteIpUpdated
{
    public function __construct()
    {
        //
    }
    public function handle(\LaraDns\Events\SiteUpdated $event)
    {
        // $event->newIpAddress;
    }
}

帮助和联系

请随时通过hello@laradns.com联系,以获得任何帮助和故障排除。