["https://api.groq.com/openai/v1/models","GROQ_KEY"],"Cerebras"=>["https://api.cerebras.ai/v1/models","CEREBRAS_API_KEY"],"Gemini"=>["https://generativelanguage.googleapis.com/v1beta/models?key=".($ws["GEMINI_KEY"]??""),""],"OpenRouter"=>["https://openrouter.ai/api/v1/models","OPENROUTER_KEY"],"Mistral"=>["https://api.mistral.ai/v1/models","MISTRAL_KEY"],"Together"=>["https://api.together.xyz/v1/models","TOGETHER_KEY"],"HuggingFace"=>["https://router.huggingface.co/v1/models","HF_TOKEN"],"NVIDIA"=>["https://integrate.api.nvidia.com/v1/models","NVIDIA_NIM_KEY"]]; $r=[];foreach($provs as $n=>[$url,$kn]){$key=$kn?($ws[$kn]??""):"";if(!$key&&$kn){$r[$n]=["status"=>"no_key"];continue;}$ch=curl_init($url);curl_setopt_array($ch,[CURLOPT_RETURNTRANSFER=>1,CURLOPT_TIMEOUT=>8,CURLOPT_CONNECTTIMEOUT=>3]);if($key)curl_setopt($ch,CURLOPT_HTTPHEADER,["Authorization: Bearer $key"]);$resp=curl_exec($ch);$code=curl_getinfo($ch,CURLINFO_HTTP_CODE);$time=round(curl_getinfo($ch,CURLINFO_TOTAL_TIME),2);curl_close($ch);$r[$n]=["status"=>$code==200?"up":"down","code"=>$code,"time"=>$time."s"];} $ch=curl_init("http://127.0.0.1:11434/api/tags");curl_setopt_array($ch,[CURLOPT_RETURNTRANSFER=>1,CURLOPT_TIMEOUT=>3]);$resp=curl_exec($ch);$code=curl_getinfo($ch,CURLINFO_HTTP_CODE);curl_close($ch);$d=json_decode($resp,true);$r["Ollama_S204"]=["status"=>$code==200?"up":"down","models"=>count($d["models"]??[])]; echo json_encode(["providers"=>$r,"total"=>count($r),"up"=>count(array_filter($r,fn($x)=>($x["status"]??"")=="up"))]);break; case "metrics": $ch=curl_init("http://127.0.0.1:9191/api/v1/query?query=up");curl_setopt_array($ch,[CURLOPT_RETURNTRANSFER=>1,CURLOPT_TIMEOUT=>5]);$resp=curl_exec($ch);curl_close($ch);$d=json_decode($resp,true); $targets=[];foreach(($d["data"]["result"]??[])as $t){$targets[$t["metric"]["job"]]=(int)$t["value"][1];} echo json_encode(["targets"=>$targets,"ts"=>date("c")]);break; case "secrets": $filled=0;$empty=0;$keys=[];foreach($ws as $k=>$v){if(strlen($v)>0){$filled++;$keys[$k]=strlen($v)."ch";}else{$empty++;$keys[$k]="EMPTY";}} echo json_encode(["filled"=>$filled,"empty"=>$empty,"keys"=>$keys]);break; case "blacklist": $ip=$_GET["ip"]??"95.216.167.89";$rev=implode(".",array_reverse(explode(".",$ip))); $bls=["b.barracudacentral.org","bl.spamcop.net","dnsbl.sorbs.net","dnsbl-1.uceprotect.net","psbl.surriel.com","all.s5h.net"]; $r=[];foreach($bls as $bl){$res=@dns_get_record("$rev.$bl",DNS_A);$r[$bl]=$res?"LISTED":"clean";} echo json_encode(["ip"=>$ip,"results"=>$r,"listed"=>count(array_filter($r,fn($x)=>$x=="LISTED"))]);break; case "cf_purge": $zone=$ws["CF_ZONE_ID"]??"";$token=$ws["CF_API_TOKEN"]??"";$email=$ws["CF_EMAIL"]??""; if(!$token){echo json_encode(["error"=>"no CF token"]);break;} $ch=curl_init("https://api.cloudflare.com/client/v4/zones/$zone/purge_cache"); curl_setopt_array($ch,[CURLOPT_POST=>1,CURLOPT_POSTFIELDS=>'{"purge_everything":true}',CURLOPT_RETURNTRANSFER=>1,CURLOPT_HTTPHEADER=>["X-Auth-Email: $email","X-Auth-Key: $token","Content-Type: application/json"],CURLOPT_TIMEOUT=>10]); echo curl_exec($ch);curl_close($ch);break; case "logs": $q=urlencode($_GET["q"]??"error");$limit=$_GET["limit"]??20; $ch=curl_init("http://127.0.0.1:3102/loki/api/v1/query_range?query=%7Bjob%3D~%22.%2B%22%7D+%7C~+%22$q%22&limit=$limit&direction=backward"); curl_setopt_array($ch,[CURLOPT_RETURNTRANSFER=>1,CURLOPT_TIMEOUT=>10]);$r=curl_exec($ch);curl_close($ch); $d=json_decode($r,true);$lines=[];foreach(($d["data"]["result"]??[])as $s){foreach(($s["values"]??[])as $v){$lines[]=["ts"=>date("H:i:s",(int)($v[0]/1e9)),"msg"=>substr($v[1],0,200)];}} echo json_encode(["query"=>$_GET["q"]??"error","count"=>count($lines),"lines"=>array_slice($lines,0,(int)$limit)]);break; case "reboot_s95": $ch=curl_init("https://api.hetzner.cloud/v1/servers/121486089/actions/reboot"); curl_setopt_array($ch,[CURLOPT_POST=>1,CURLOPT_RETURNTRANSFER=>1,CURLOPT_HTTPHEADER=>["Authorization: Bearer REDACTED_HETZNER","Content-Type: application/json"],CURLOPT_TIMEOUT=>15]); echo curl_exec($ch);curl_close($ch);break; default: echo json_encode(["service"=>"Blade IA Power Pack","v"=>"1.0","actions"=>["providers","metrics","secrets","blacklist?ip=X","cf_purge","logs?q=error&limit=20","reboot_s95"]]); }