public
nobgit
read
NobMail
Based on mailcow: dockerized
Languages
Repository composition by tracked source files.
PHP
49%
JavaScript
35%
HTML
9%
CSS
4%
Shell
2%
Python
1%
Lua
0%
Perl
0%
Ruby
0%
SCSS
0%
Create file
Wiki Documentation
Clone
https://nobgit.com/orgs/nobgit/nobmail.git
ssh://[email protected]:2222/orgs/nobgit/nobmail.git
Commit
[Web] Add rspamd-stats route to API
f3c72832
data/web/inc/functions.inc.php | 14 ++++++++++++++
data/web/json_api.php | 4 ++++
2 files changed, 18 insertions(+)
Diff
diff --git a/data/web/inc/functions.inc.php b/data/web/inc/functions.inc.php
index f386782a..8bf8d59f 100644
--- a/data/web/inc/functions.inc.php
+++ b/data/web/inc/functions.inc.php
@@ -1673,6 +1673,20 @@ function get_logs($application, $lines = false) {
curl_close($curl);
return false;
}
+ if ($application == "rspamd-stats") {
+ $curl = curl_init();
+ curl_setopt($curl, CURLOPT_UNIX_SOCKET_PATH, '/var/lib/rspamd/rspamd.sock');
+ curl_setopt($curl, CURLOPT_URL,"http://rspamd/stat");
+ curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
+ $stats = curl_exec($curl);
+ if (!curl_errno($curl)) {
+ $data_array = json_decode($stats, true);
+ curl_close($curl);
+ return $data_array;
+ }
+ curl_close($curl);
+ return false;
+ }
return false;
}
function getGUID() {
diff --git a/data/web/json_api.php b/data/web/json_api.php
index f0053680..38f59dc6 100644
--- a/data/web/json_api.php
+++ b/data/web/json_api.php
@@ -707,6 +707,10 @@ if (isset($_SESSION['mailcow_cc_role']) || isset($_SESSION['pending_mailcow_cc_u
}
echo (isset($logs) && !empty($logs)) ? json_encode($logs, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT) : '{}';
break;
+ case "rspamd-stats":
+ $logs = get_logs('rspamd-stats');
+ echo (isset($logs) && !empty($logs)) ? json_encode($logs, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT) : '{}';
+ break;
// return no route found if no case is matched
default:
http_response_code(404);