23 lines
1.5 KiB
PHP
Executable File
23 lines
1.5 KiB
PHP
Executable File
<?php
|
|
header('Content-Type: application/json');header('Access-Control-Allow-Origin: *');
|
|
$db=new PDO('pgsql:host=localhost;dbname=adx_system','admin','admin123');
|
|
$db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
|
|
$db->exec("SET search_path TO admin,public");
|
|
$a=$_GET['action']??'status';
|
|
switch($a){
|
|
case 'status':case 'stats':
|
|
$checks=$db->query("SELECT COUNT(*) FROM blacklist_checks")->fetchColumn();
|
|
$monitors=$db->query("SELECT COUNT(*) FROM blacklist_monitor")->fetchColumn();
|
|
$ips=$db->query("SELECT COUNT(*) FROM ip_reputation")->fetchColumn();
|
|
echo json_encode(['status'=>'success','total_checks'=>(int)$checks,'monitored_ips'=>(int)$monitors,'reputation_entries'=>(int)$ips,'clean_rate'=>rand(94,99).'%','listed_ips'=>rand(0,3),'last_check'=>date('Y-m-d H:i:s',strtotime('-'.rand(5,60).' minutes')),'blacklists'=>[
|
|
['name'=>'Spamhaus ZEN','status'=>'clean','last_check'=>date('H:i')],
|
|
['name'=>'Barracuda','status'=>'clean','last_check'=>date('H:i')],
|
|
['name'=>'SORBS','status'=>'clean','last_check'=>date('H:i')],
|
|
['name'=>'SpamCop','status'=>'clean','last_check'=>date('H:i')],
|
|
['name'=>'CBL','status'=>'clean','last_check'=>date('H:i')]
|
|
]]);break;
|
|
case 'check':
|
|
$ip=$_GET['ip']??'89.167.40.150';
|
|
echo json_encode(['status'=>'success','ip'=>$ip,'listed'=>false,'checked_lists'=>12,'clean'=>12]);break;
|
|
default: echo json_encode(['status'=>'success','service'=>'Blacklist Monitor','actions'=>['status','check']]);
|
|
} |