Compare commits

..

No commits in common. "bugfix/1" and "main" have entirely different histories.

1 changed files with 7 additions and 27 deletions

View File

@ -23,7 +23,7 @@
// //
// Append this line as many times as domains you want to automatically update: // Append this line as many times as domains you want to automatically update:
// //
// */10 * * * * php /path/to/pb-dydns.php domain_name > /dev/null // */10 * * * * php /path/to/pb-dydns.php domain_name > /dev/null
// //
// And restart cron (I'm not sure if this is necessary): // And restart cron (I'm not sure if this is necessary):
// //
@ -41,7 +41,7 @@ $config_filename = __DIR__ . "/pb-dydns.json";
if (!file_exists($config_filename)) if (!file_exists($config_filename))
{ {
echo "The config file $config_filename does not exist." . PHP_EOL; echo "The config file $config_filename does not exist." . PHP_EOL;
$config = json_encode(array $config = json_encode(array
( (
@ -75,35 +75,15 @@ $myDomain = $argv[1];
$pbapi = new PorkbunAPI($config_filename); $pbapi = new PorkbunAPI($config_filename);
// Test connection to Porkbun API in order to get the public IP: // Test connection to Porkbun API in order to get the public IP:
$raw = $pbapi->ping(); $result = json_decode($pbapi->ping());
$result = json_decode($raw); if ($result->status == "SUCCESS") $myIp = $result->yourIp;
else
if ($result === null)
{ {
echo_to_cli("Invalid JSON returned by Porkbun API:\n$raw\n"); echo_to_cli("There was an error trying to ping Porkbun." . PHP_EOL);
var_dump($result);
exit(3); exit(3);
} }
if (!isset($result->status))
{
echo_to_cli("Porkbun API response missing 'status' field:\n$raw\n");
exit(3);
}
if ($result->status !== "SUCCESS")
{
echo_to_cli("Porkbun API returned an error:\n$raw\n");
exit(3);
}
if (!isset($result->yourIp))
{
echo_to_cli("Porkbun API did not return your public IP.\n");
exit(3);
}
$myIp = $result->yourIp;
echo_to_cli("Your public IP address is $myIp" . PHP_EOL); echo_to_cli("Your public IP address is $myIp" . PHP_EOL);
// Retrieve all DNS records associated with user's domain: // Retrieve all DNS records associated with user's domain: