Exemplo n.º 1
0
}
$curl = new ccurl("https://{$hostname}:{$listen_port}/nodes.listener.php?PING=YES");
if ($send_listen_ip != null) {
    $curl->interface = $send_listen_ip;
}
$curlparms["listen_addr"] = $listen_addr;
$curl = new ccurl("https://{$hostname}:{$listen_port}/nodes.listener.php");
if ($send_listen_ip != null) {
    $curl->interface = $send_listen_ip;
}
$curlparms["listen_addr"] = $listen_addr;
$unix = new unix();
$curlparms["hostname"] = $unix->hostname_g();
$sql = "SELECT servername FROM freeweb";
$q = new mysql();
$results = $q->QUERY_SQL($sql, 'artica_backup');
while ($ligne = mysql_fetch_array($results, MYSQL_ASSOC)) {
    $curlparms["FREEWEBS_SRV"][$ligne["servername"]] = true;
}
@file_put_contents("/usr/share/artica-postfix/ressources/logs/web/com.txt", base64_encode(serialize($curlparms)));
$net = new netagent();
$net->compress("/usr/share/artica-postfix/ressources/logs/web/com.txt", "/usr/share/artica-postfix/ressources/logs/web/com.txt.gz");
@unlink("/usr/share/artica-postfix/ressources/logs/web/com.txt");
$curl->x_www_form_urlencoded = true;
if (!$curl->postFile("DNS_LINKER", "/usr/share/artica-postfix/ressources/logs/web/com.txt.gz", array("CREDS" => $EnableDNSLinkerCreds["CREDS"], "VERBOSE" => "TRUE"))) {
    echo "Posting informations Failed {$curl->error}...\n";
    @unlink("/usr/share/artica-postfix/ressources/logs/web/com.txt.gz");
}
if ($GLOBALS["VERBOSE"]) {
    echo $curl->data . "\n";
}
Exemplo n.º 2
0
function SendToStatisticsAppliance()
{
    $sock = new sockets();
    $EnableRemoteStatisticsAppliance = $sock->GET_INFO("EnableRemoteStatisticsAppliance");
    if (!is_numeric($EnableRemoteStatisticsAppliance)) {
        $EnableRemoteStatisticsAppliance = 0;
    }
    if ($EnableRemoteStatisticsAppliance == 0) {
        return;
    }
    include_once dirname(__FILE__) . "/ressources/class.ccurl.inc";
    $unix = new unix();
    $tar = $unix->find_program("tar");
    if ($GLOBALS["VERBOSE"]) {
        if (is_file("/opt/artica/share/www/squid/rrd/graphs.tar.gz")) {
            @unlink("/opt/artica/share/www/squid/rrd/graphs.tar.gz");
        }
    }
    chdir("/opt/artica/share/www/squid/rrd");
    shell_exec("{$tar} -czf graphs.tar.gz *");
    $uri = $unix->SquidStatsApplianceUri();
    $curl = new ccurl("{$uri}/squid.blocks.listener.php");
    $curl->noproxyload = true;
    $hostname = $unix->FULL_HOSTNAME();
    if (!$curl->postFile("SQUID_GRAPHS", "/opt/artica/share/www/squid/rrd/graphs.tar.gz", array("HOSTNAME" => $hostname))) {
        echo "Failed -> `{$uri}/squid.blocks.listener.php`\n";
        return;
    }
    echo "Success....\n";
}
function PUSH_STATS_FILE($filepath)
{
    $sock = new sockets();
    $unix = new unix();
    $q = new mysql_squid_builder();
    $EnableSquidRemoteMySQL = intval($sock->GET_INFO("EnableSquidRemoteMySQL"));
    events("PUSH_STATS_FILE: EnableSquidRemoteMySQL = {$EnableSquidRemoteMySQL}");
    $WizardStatsAppliance = unserialize(base64_decode($sock->GET_INFO("WizardStatsAppliance")));
    if (isset($WizardStatsAppliance["SERVER"])) {
        if ($WizardStatsAppliance["SERVER"] != null) {
            $EnableSquidRemoteMySQL = 1;
        }
    }
    $proto = "http";
    if ($WizardStatsAppliance["SSL"] == 1) {
        $proto = "https";
    }
    $uri = "{$proto}://{$WizardStatsAppliance["SERVER"]}:{$WizardStatsAppliance["PORT"]}/nodes.listener.php";
    if ($EnableSquidRemoteMySQL == 0) {
        return false;
    }
    $size = @filesize($filepath);
    $filename = basename($filepath);
    $array = array("SQUID_BEREKLEY" => true, "UUID" => $unix->GetUniqueID(), "HOSTNAME" => $unix->hostname_g(), "SIZE" => $size, "FILENAME" => $filename);
    $curl = new ccurl($uri, false, null, true);
    $curl->x_www_form_urlencoded = false;
    if (!$curl->postFile(basename($filepath), $filepath, $array)) {
        events("PUSH_STATS_FILE: Failed " . $curl->error);
        return false;
    }
    return true;
}
function export_push()
{
    $sock = new sockets();
    $unix = new unix();
    $export_stamp = "/etc/artica-postfix/pids/" . basename(__FILE__) . ".EXPORT.time";
    $export_time = $unix->file_time_min($export_stamp);
    if ($export_time < 60) {
        return;
    }
    $ArticaProxyStatisticsBackupFolder = $sock->GET_INFO("ArticaProxyStatisticsBackupFolder");
    if ($ArticaProxyStatisticsBackupFolder == null) {
        $ArticaProxyStatisticsBackupFolder = "/home/artica/squid/backup-statistics";
    }
    $ArticaProxyStatisticsBackupFolder = $ArticaProxyStatisticsBackupFolder . "/export";
    $WizardStatsAppliance = unserialize(base64_decode($sock->GET_INFO("WizardStatsAppliance")));
    $proto = "http";
    if ($WizardStatsAppliance["SSL"] == 1) {
        $proto = "https";
    }
    $uri = "{$proto}://{$WizardStatsAppliance["SERVER"]}:{$WizardStatsAppliance["PORT"]}/nodes.listener.php";
    if ($GLOBALS["VERBOSE"]) {
        echo "{$uri}\n";
    }
    $credentials["MANAGER"] = $WizardStatsAppliance["MANAGER"];
    $credentials["PASSWORD"] = $WizardStatsAppliance["MANAGER-PASSWORD"];
    $files = $unix->DirFiles($ArticaProxyStatisticsBackupFolder);
    Export_logs("PUSH Scanning {$ArticaProxyStatisticsBackupFolder}");
    while (list($filename, $none) = each($files)) {
        $size = @filesize("{$ArticaProxyStatisticsBackupFolder}/{$filename}");
        Export_logs("PUSH Scanning {$ArticaProxyStatisticsBackupFolder}/{$filename} ( {$size} bytes )");
        $array = array("UUID" => $unix->GetUniqueID(), "HOSTNAME" => $unix->hostname_g(), "SIZE" => $size, "FILENAME" => $filename, "creds" => base64_encode(serialize($credentials)));
        if ($GLOBALS["VERBOSE"]) {
            echo "PUSH {$ArticaProxyStatisticsBackupFolder}/{$filename}\n";
        }
        $curl = new ccurl($uri, false, null, true);
        if (!$curl->postFile("SQUID_STATS_CONTAINER", "{$ArticaProxyStatisticsBackupFolder}/{$filename}", $array)) {
            if ($GLOBALS["VERBOSE"]) {
                echo "Posting informations Failed {$curl->error}...\n";
            }
            Export_logs("Failed {$curl->error}");
            continue;
        }
        if (!preg_match("#<RESULTS>(.*?)</RESULTS>#is", $curl->data, $re)) {
            Export_logs("{$WizardStatsAppliance["SERVER"]} did not report something");
            stats_admin_events(0, "{$WizardStatsAppliance["SERVER"]} did not report something", $curl->data, __FILE__, __LINE__);
            continue;
        }
        $RESULT = $re[1];
        Export_logs("RESULT = {$RESULT}");
        if ($RESULT != "SUCCESS") {
            Export_logs("Failed, {$WizardStatsAppliance["SERVER"]} report {$RESULT} ");
            stats_admin_events(0, "{$WizardStatsAppliance["SERVER"]} report {$RESULT}", $curl->data, __FILE__, __LINE__);
            continue;
        }
        Export_logs("Success, removing {$ArticaProxyStatisticsBackupFolder}/{$filename}");
        @unlink("{$ArticaProxyStatisticsBackupFolder}/{$filename}");
        stats_admin_events(0, "Success uploading {$filename} to {$WizardStatsAppliance["SERVER"]} report {$RESULT}", $curl->data, __FILE__, __LINE__);
    }
}