利用飞儿云PHP框架自带的DNSPOD库做DDNS动态域名解析

取得FiradioPHP

git clone https://github.com/firadio/firadiophp.git

保存到/config/dnspod1.php

<?php

return array(
    'class' => '\FiradioPHP\Api\Dnspod',
    'URL' => 'https://dnsapi.cn',
    'token' => array(
        'created' => '2017-06-27 01:46:01',
        'name' => 'FiradioPHP',
        'id' => 123456789,
        'key' => 'xxxxxxxxxxxxxxxxxxxxx',
    ),
);

保存到index.php

<?php

use FiradioPHP\F;
$key = 'xxxxxxxxxxxxxxxxxxxxxxx';
if (!isset($_GET['key']) || $_GET['key'] !== $key) {
    echo "error key\r\n";
    exit;
}
$info = array();
$info['ip_addr'] = $_SERVER['REMOTE_ADDR'];
$info['domain'] = isset($_GET['domain']) ? $_GET['domain'] : '';
$info['interface'] = isset($_GET['interface']) ? $_GET['interface'] : '';
require __DIR__ . '/FiradioPHP/F.php';
F::init(__DIR__ . DS . 'config');
$oDnspod1 = F::$oConfig->getInstance('dnspod1');
$aSets = array();
$oSet = array();
$oSet['type'] = 'A';
$oSet['value'] = $info['ip_addr'];
$oSet['status'] = 'enable';
$oSet['remark'] = 'interinterface'];
$aSets[] = $oSet;
$oDnspod1->setRecordIPs('firadio.net', 'dx', $aSets);
$oDnspod1->setRecordIPs('firadio.net', 'vps', $aSets);

然后crontab -e加入

* * * * * curl 'http://xxx.xxx.xxx.xxx:12345/firadio/dnspod.php?key=xxxxxxxxxxxxx&domain=vps.firadio.net&inter >> /tmp/dnspod.log

或者

*       *       *       *       *       (/usr/local/bin/curl 'http://123.123.123.123:8888/firadio/dnspod.php?key=123456&domain=vps.firadio.net&inter) > /dev/null