Exemplo n.º 1
0
    // close cURL resource, and free up system resources
    curl_close($ch);
    $ip = trim(preg_replace('/\\s+/', ' ', $ip));
    return $ip;
}
function updateIP($hostname, $newIP, $oldIP, $awszoneid, $type = 'A', $ttl = 60)
{
    global $r53;
    $delete = $r53->prepareChange('DELETE', $hostname, $type, $ttl, $oldIP);
    $result = $r53->changeResourceRecordSets($awszoneid, $delete);
    $create = $r53->prepareChange('CREATE', $hostname, $type, $ttl, $newIP);
    $result = $r53->changeResourceRecordSets($awszoneid, $create);
}
//print_r($r53->listHostedZones());
//print_r($r53->getHostedZone($awszoneid));
$recordSet = $r53->listResourceRecordSets($awszoneid);
//print_r($recordSet['ResourceRecordSets']);
for ($i = 0; $i < count($recordSet['ResourceRecordSets']); $i++) {
    if ($recordSet['ResourceRecordSets'][$i]['Name'] == $hostname) {
        //    print_r($recordSet['ResourceRecordSets'][$i]);
        //    echo $recordSet['ResourceRecordSets'][$i]['Name'];
        $oldIP = $recordSet['ResourceRecordSets'][$i]['ResourceRecords'][0];
        $type = $recordSet['ResourceRecordSets'][$i]['Type'];
        $ttl = $recordSet['ResourceRecordSets'][$i]['TTL'];
        //    echo $oldIP;
    }
}
$newIP = getPublicIP();
if ($oldIP == $newIP) {
    //  echo "No change necessary.\n";
} else {
Exemplo n.º 2
0
$type = $_GET['type'];
$new_ip = $_GET['newip'];
$old_ip = '';
$record_type = '';
$record_ttl = '';
$route53 = '';
$recordSet = '';
$synology = $_GET['synology'] == '1' ? true : false;
$debug = $_GET['debug'] == '1' ? true : false;
/* Script Starts Below
------------------------------------------------------- */
require_once 'r53.php';
// Start a new instance
$route53 = new Route53($aws_id, $aws_secret);
// Define record set
$recordSet = $route53->listResourceRecordSets('/hostedzone/' . $aws_zone);
// Validate the authentication variables
if (empty($aws_id) || empty($aws_secret) || empty($aws_zone) || empty($recordSet)) {
    if ($synology == true) {
        exit('(badauth)');
    } else {
        exit('Failed. Your AWS credentials and Zone ID information is incorrect or incomplete.');
    }
}
// Search for the old IP address
for ($i = 0; $i < count($recordSet['ResourceRecordSets']); $i++) {
    if ($debug == true) {
        echo '<b>Host:</b> ' . $recordSet['ResourceRecordSets'][$i]['Name'] . '<br />';
        echo '<b>Host Value:</b> ' . $recordSet['ResourceRecordSets'][$i]['ResourceRecords'][0] . '<br />';
        echo '<b>Type:</b> ' . $recordSet['ResourceRecordSets'][$i]['Type'] . '<br />';
        echo '<b>TTL (sec):</b> ' . $recordSet['ResourceRecordSets'][$i]['TTL'] . '<br />';