Skip to content

Commit

Permalink
Merge pull request #2 from vincentberry/vincentberry/issue1
Browse files Browse the repository at this point in the history
Vincentberry/issue1
  • Loading branch information
vincentberry authored Jul 5, 2024
2 parents bc72722 + 3f69d51 commit b659ea6
Showing 1 changed file with 33 additions and 9 deletions.
42 changes: 33 additions & 9 deletions ddns_update.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@
function writeToLog($message)
{
global $logFilePath;
file_put_contents($logFilePath, date('Y-m-d H:i:s') . " - $message", FILE_APPEND);
print_r($message);
file_put_contents($logFilePath, date('Y-m-d H:i:s') . " - $message\n", FILE_APPEND);
print_r($message . "\n");
}

// Fonction pour vérifier l'API Online.net
Expand Down Expand Up @@ -73,6 +73,19 @@ function ApiErrorOnline($httpCode) {
}
}

// Fonction pour vérifier la connexion Internet
function checkInternetConnection()
{
$connected = @fsockopen("www.google.com", 80);
if ($connected) {
fclose($connected);
writeToLog("✅ Connexion Internet valide\n");
return true;
}
writeToLog("❌ Erreur : Pas de connexion Internet.\n");
return false;
}

writeToLog("\n---------------------------------\n");
writeToLog("🚩 Script Start\n");
writeToLog("💲ONLINE_TOKEN: " . $Online_Token . "\n");
Expand All @@ -89,6 +102,12 @@ function ApiErrorOnline($httpCode) {
writeToLog("✅ Variables d'environnement valide\n");
}

//vérification de la connection internet
if (!checkInternetConnection()) {
writeToLog("❌ Fatal : Veuillez vérifier votre connexion Internet pour l'initialisation.\n");
die("⛔ Done !");
}

// Vérification de l'API Online.net
$userInfo = OnlineApi("user", "");

Expand All @@ -102,32 +121,37 @@ function ApiErrorOnline($httpCode) {
while (true) {
foreach ($domains as $domain) {
foreach ($subdomains as $sub) {
// Récupération de l'Ip du client appelant la page.
$ipApiResponse = file_get_contents("https://api64.ipify.org?format=json");
// Récupération de l'IP du client appelant la page.
$ipApiResponse = @file_get_contents("https://api64.ipify.org?format=json");

if ($ipApiResponse !== false) {
$ipData = json_decode($ipApiResponse, true);
$address = $ipData['ip'];

writeToLog("🌐 Adresse IP actuelle : $address\n");
} else {
writeToLog("❌ Impossible de récupérer l'adresse IP.\n");
$error = error_get_last();
writeToLog("❌ Impossible de récupérer l'adresse IP. Erreur : " . $error['message'] . "\n");

if (checkInternetConnection()) {
writeToLog("❌ Erreur : La connexion Internet fonctionne, mais une erreur est survenue avec l'API ipify.\n");
}
}

writeToLog("🔍 Vérification de l'IP pour $sub.$domain...\n");

if ($sub === "@") {
$ipyet = gethostbyname($domain); // Récupération de l'Ip en service sur l'enregistrement DNS.
$ipyet = gethostbyname($domain); // Récupération de l'IP en service sur l'enregistrement DNS.
} elseif ($sub === "*") {
$ipyet = gethostbyname("testdnsall." . $domain); // Récupération de l'Ip en service sur l'enregistrement DNS.
$ipyet = gethostbyname("testdnsall." . $domain); // Récupération de l'IP en service sur l'enregistrement DNS.
} else {
$ipyet = gethostbyname("$sub.$domain"); // Récupération de l'Ip en service sur l'enregistrement DNS.
$ipyet = gethostbyname("$sub.$domain"); // Récupération de l'IP en service sur l'enregistrement DNS.
}

writeToLog("📊 IP actuelle : $address\n");
writeToLog("📌 IP enregistrée : $ipyet\n");

if ($ipyet !== $address) { // Comparaison de la nouvelle Ip et de celle en service.
if ($ipyet !== $address) { // Comparaison de la nouvelle IP et de celle en service.
$ch = curl_init();

$URL = "domain/" . $domain . "/version/active";
Expand Down

0 comments on commit b659ea6

Please sign in to comment.