68 lines
3.6 KiB
PHP
68 lines
3.6 KiB
PHP
<?php
|
|
header("Content-Type: application/json");
|
|
$modules = [
|
|
// Cloud Providers
|
|
"amazon" => ["path"=>"/amazon-accounts","desc"=>"AWS EC2/SES"],
|
|
"azure" => ["path"=>"/azure-accounts","desc"=>"Azure VMs/AD"],
|
|
"hetzner" => ["path"=>"/hetzner-accounts","desc"=>"Hetzner dedicated"],
|
|
"digitalocean" => ["path"=>"/digital-ocean-accounts","desc"=>"DO droplets"],
|
|
"vultr" => ["path"=>"/vultr-accounts","desc"=>"Vultr compute"],
|
|
"scaleway" => ["path"=>"/scaleway-accounts","desc"=>"Scaleway EU"],
|
|
"linode" => ["path"=>"/linode-accounts","desc"=>"Linode/Akamai"],
|
|
"atlantic" => ["path"=>"/atlantic-accounts","desc"=>"Atlantic VPS"],
|
|
"huawei" => ["path"=>"/huawei-accounts","desc"=>"Huawei Cloud"],
|
|
"godaddy" => ["path"=>"/godaddy-accounts","desc"=>"GoDaddy DNS"],
|
|
"namecheap" => ["path"=>"/namecheap-accounts","desc"=>"Namecheap domains"],
|
|
// Email
|
|
"mta" => ["path"=>"/mta-servers","desc"=>"MTA servers config"],
|
|
"smtp" => ["path"=>"/smtp-servers","desc"=>"SMTP relay"],
|
|
"pmta" => ["path"=>"/pmta","desc"=>"PowerMTA console"],
|
|
"domains" => ["path"=>"/domains","desc"=>"Sending domains/DKIM"],
|
|
"isps" => ["path"=>"/isps","desc"=>"ISP profiles"],
|
|
"mailboxes" => ["path"=>"/mailboxes","desc"=>"Seed mailboxes"],
|
|
"headers" => ["path"=>"/headers","desc"=>"Email headers"],
|
|
"autoresponders" => ["path"=>"/auto-responders","desc"=>"Auto-reply"],
|
|
// Business
|
|
"offers" => ["path"=>"/offers","desc"=>"Campaigns/offers"],
|
|
"affiliates" => ["path"=>"/affiliate-networks","desc"=>"Affiliate networks"],
|
|
"datalists" => ["path"=>"/data-lists","desc"=>"Contact lists"],
|
|
"dataproviders" => ["path"=>"/data-providers","desc"=>"Data sources"],
|
|
"statistics" => ["path"=>"/statistics","desc"=>"Opens/clicks/leads"],
|
|
"production" => ["path"=>"/production","desc"=>"Send queue"],
|
|
"verticals" => ["path"=>"/verticals","desc"=>"Industry segments"],
|
|
// Admin
|
|
"users" => ["path"=>"/users","desc"=>"User accounts"],
|
|
"roles" => ["path"=>"/roles","desc"=>"Permissions"],
|
|
"teams" => ["path"=>"/teams","desc"=>"Team management"],
|
|
"settings" => ["path"=>"/settings","desc"=>"Global config"],
|
|
"auditlogs" => ["path"=>"/audit-logs","desc"=>"Action history"],
|
|
"tools" => ["path"=>"/tools","desc"=>"Utilities"],
|
|
"sessions" => ["path"=>"/sessions","desc"=>"Active sessions"],
|
|
// Special
|
|
"dashboard" => ["path"=>"/dashboard.html","desc"=>"Main dashboard"],
|
|
"tracking" => ["path"=>"/tracking-dashboard.php","desc"=>"Tracking system"],
|
|
"serverproviders" => ["path"=>"/servers-providers","desc"=>"Server providers"],
|
|
"logs" => ["path"=>"/logs","desc"=>"System logs"],
|
|
];
|
|
|
|
$action = $_GET["action"] ?? "list";
|
|
$base = "https://wevads.weval-consulting.com";
|
|
|
|
if ($action === "list") {
|
|
echo json_encode(["modules"=>count($modules),"names"=>array_keys($modules)]);
|
|
} elseif ($action === "check") {
|
|
$results = [];
|
|
foreach ($modules as $name => $info) {
|
|
$ch = curl_init();
|
|
curl_setopt_array($ch, [CURLOPT_URL => $base.$info["path"], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 5, CURLOPT_FOLLOWLOCATION => true, CURLOPT_SSL_VERIFYPEER => false]);
|
|
curl_exec($ch);
|
|
$code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
|
curl_close($ch);
|
|
$results[$name] = ["status" => $code >= 200 && $code < 500 ? "ok" : "fail", "code" => $code, "desc" => $info["desc"]];
|
|
}
|
|
$ok = count(array_filter($results, fn($r) => $r["status"] === "ok"));
|
|
echo json_encode(["total"=>count($results),"pass"=>$ok,"fail"=>count($results)-$ok,"modules"=>$results]);
|
|
} else {
|
|
echo json_encode(["error"=>"unknown action"]);
|
|
}
|