"Allow list for WOPI requests" über PHP-Script aktualisieren

Wie wäre es wenn du es mit einem Script und crontab machst
So wie ich es hier beschrieben habe.

Oder doch via php, bitte Pfade anpassen. Achtung ungetestet.

<?php

// Pfade definieren
$wopi_ip_file = 'wopi-ip.txt';
$wopi_ip_hist_file = 'wopi-ip-hist.txt';
$cloud_occ_command = '/usr/bin/php8.2 -f /path/to/your/Cloud/occ';

// Aktuelle dynamische IP-Adresse aus Datei lesen
$dyn_ip = file_get_contents($wopi_ip_file);

// Externe IP-Adresse abrufen
$external_ip_data = file_get_contents('http://checkip.dyndns.org');
preg_match('/Current IP Address: ([\d\.]+)/', $external_ip_data, $matches);
$ext_ip = $matches[1];

if (empty($ext_ip)) {
    echo "Keine Internetverbindung. Keine IP zum Aktualisieren.\n";
} elseif ($dyn_ip === $ext_ip) {
    echo "Ist aktuell $dyn_ip\n";
} elseif ($dyn_ip !== $ext_ip) {
    // IP in Datei und Historie speichern
    file_put_contents($wopi_ip_file, $ext_ip);
    file_put_contents($wopi_ip_hist_file, date("m.d.Y") . ' ' . $ext_ip . "\n", FILE_APPEND);
    
    echo "DynDNS ist nicht aktuell, Update gestartet: Neue IP = $ext_ip\n";
    // Konfiguration in Cloud anpassen
    $command = "$cloud_occ_command config:app:set richdocuments wopi_allowlist --value=$ext_ip";
    exec($command, $output, $return_var);
    if ($return_var !== 0) {
        echo "Fehler beim Ausführen des Cloud-Befehls.\n";
        print_r($output); // Fehlermeldung ausgeben
    }
} else {
    echo "ERROR\n";
}

Am besten das Script auch alle 10min mit crontab ausführen, so wird ohne dein zu tun die IP immer aktuell gehalten.

Grüße