Merge pull request #366 from cvc90/Pi.Alert-New-Functions-in-Tools-tab

Pi.alert new features in deviceDetails.php (tools tab) and new translations
This commit is contained in:
jokob-sk
2023-08-24 20:49:53 +00:00
committed by GitHub
11 changed files with 603 additions and 67 deletions

View File

@@ -0,0 +1,49 @@
<?php
###################################################################################
# Pi.Alert #
# Open Source Network Guard / WIFI & LAN intrusion detector #
# #
# internetinfo.php # Front module. Server side. System Information #
###################################################################################
# Puche 2021 pi.alert.application@gmail.com GNU GPLv3 #
# jokob#sk 2022 jokob.sk@gmail.com GNU GPLv3 #
# leiweibau 2022 https://github.com/leiweibau GNU GPLv3 #
# cvc90 2023 https://github.com/cvc90 GNU GPLv3 #
###################################################################################
// Get init.php
require dirname(__FILE__).'/../server/init.php';
// Perform a test with the PING command
$output = shell_exec("curl ipinfo.io");
// Check if there is error
if (!isset($output) || empty($output)) {
// Error message
$output = lang('DevDetail_Tab_Internet_Info_Error');
// Show the result
echo "<pre>";
echo $output;
echo "</pre>";
exit;
}
// Replace "{" with ""
$output = str_replace("{", "", $output);
// Replace "}" with ""
$output = str_replace("}", "", $output);
// Replace "," with ""
$output = str_replace(",", "", $output);
// Replace '"' with ""
$output = str_replace('"', "", $output);
// Show the result
echo "<pre>";
echo $output;
echo "</pre>";
?>

40
front/php/server/mtr.php Normal file
View File

@@ -0,0 +1,40 @@
<?php
###################################################################################
# Pi.Alert #
# Open Source Network Guard / WIFI & LAN intrusion detector #
# #
# mtr.php # Front module. Server side. System Information #
###################################################################################
# Puche 2021 pi.alert.application@gmail.com GNU GPLv3 #
# jokob#sk 2022 jokob.sk@gmail.com GNU GPLv3 #
# leiweibau 2022 https://github.com/leiweibau GNU GPLv3 #
# cvc90 2023 https://github.com/cvc90 GNU GPLv3 #
###################################################################################
// Get init.php
require dirname(__FILE__).'/../server/init.php';
// Get IP
$ip = $_GET['ip'];
// Check if IP is valid
if (!filter_var($ip, FILTER_VALIDATE_IP)) {
// Error message
$output = lang('DevDetail_Tab_Tools_Mtr_Error');
// Show the result
echo "<pre>";
echo $output;
echo "</pre>";
exit;
}
// Test with the "Mtr" command
$output = shell_exec("mtr --report -c 4 $ip");
// Show the result
echo "<pre>";
echo $output;
echo "</pre>";
?>

View File

@@ -0,0 +1,40 @@
<?php
###################################################################################
# Pi.Alert #
# Open Source Network Guard / WIFI & LAN intrusion detector #
# #
# nslookup.php # Front module. Server side. System Information #
###################################################################################
# Puche 2021 pi.alert.application@gmail.com GNU GPLv3 #
# jokob#sk 2022 jokob.sk@gmail.com GNU GPLv3 #
# leiweibau 2022 https://github.com/leiweibau GNU GPLv3 #
# cvc90 2023 https://github.com/cvc90 GNU GPLv3 #
###################################################################################
// Get init.php
require dirname(__FILE__).'/../server/init.php';
// Get IP
$ip = $_GET['ip'];
// Check if IP is valid
if (!filter_var($ip, FILTER_VALIDATE_IP)) {
// Error message
$output = lang('DevDetail_Tab_Tools_Nslookup_Error');
// Show the result
echo "<pre>";
echo $output;
echo "</pre>";
exit;
}
// Test with the "nslookup" command
$output = shell_exec("nslookup $ip");
// Show the result
echo "<pre>";
echo $output;
echo "</pre>";
?>

40
front/php/server/ping.php Normal file
View File

@@ -0,0 +1,40 @@
<?php
###################################################################################
# Pi.Alert #
# Open Source Network Guard / WIFI & LAN intrusion detector #
# #
# ping.php # Front module. Server side. System Information #
###################################################################################
# Puche 2021 pi.alert.application@gmail.com GNU GPLv3 #
# jokob#sk 2022 jokob.sk@gmail.com GNU GPLv3 #
# leiweibau 2022 https://github.com/leiweibau GNU GPLv3 #
# cvc90 2023 https://github.com/cvc90 GNU GPLv3 #
###################################################################################
// Get init.php
require dirname(__FILE__).'/../server/init.php';
// Get IP
$ip = $_GET['ip'];
// Check if IP is valid
if (!filter_var($ip, FILTER_VALIDATE_IP)) {
// Error message
$output = lang('DevDetail_Tab_Tools_Ping_Error');
// Show the result
echo "<pre>";
echo $output;
echo "</pre>";
exit;
}
// Perform a test with the PING command
$output = shell_exec("ping -c4 $ip");
// Show the result
echo "<pre>";
echo $output;
echo "</pre>";
?>

View File

@@ -0,0 +1,40 @@
<?php
###################################################################################
# Pi.Alert #
# Open Source Network Guard / WIFI & LAN intrusion detector #
# #
# traceroute.php # Front module. Server side. System Information #
###################################################################################
# Puche 2021 pi.alert.application@gmail.com GNU GPLv3 #
# jokob#sk 2022 jokob.sk@gmail.com GNU GPLv3 #
# leiweibau 2022 https://github.com/leiweibau GNU GPLv3 #
# cvc90 2023 https://github.com/cvc90 GNU GPLv3 #
###################################################################################
// Get init.php
require dirname(__FILE__).'/../server/init.php';
// Get IP
$ip = $_GET['ip'];
// Check if IP is valid
if (!filter_var($ip, FILTER_VALIDATE_IP)) {
// Error message
$output = lang('DevDetail_Tab_Tools_Traceroute_Error');
// Show the result
echo "<pre>";
echo $output;
echo "</pre>";
exit;
}
// Test with the "Traceroute" command
$output = shell_exec("traceroute $ip");
// Show the result
echo "<pre>";
echo $output;
echo "</pre>";
?>

90
front/php/server/wol.php Normal file
View File

@@ -0,0 +1,90 @@
<?php
#---------------------------------------------------------------------------------#
# Pi.Alert #
# Open Source Network Guard / WIFI & LAN intrusion detector #
# #
# wol.php - Front module. Server side. System Information #
#---------------------------------------------------------------------------------#
# Puche 2021 pi.alert.application@gmail.com GNU GPLv3 #
# jokob-sk 2022 jokob.sk@gmail.com GNU GPLv3 #
# leiweibau 2022 https://github.com/leiweibau GNU GPLv3 #
# cvc90 2023 https://github.com/cvc90 GNU GPLv3 #
#---------------------------------------------------------------------------------#
/*
* This code will send a Wake-on-LAN packet to the specified MAC address.
*
* The MAC address must be in the format AA:BB:CC:DD:EE:FF.
*
* The port and password are optional. If no port is specified, the default port of 9 is used.
* If no password is specified, no password is used.
*/
// Get init.php
require dirname(__FILE__).'/../server/init.php';
// Get the MAC address of the device to wake up
$mac = $_GET['mac'];
// Validate the MAC address
if (!filter_var($mac, FILTER_VALIDATE_MAC)) {
// Error message
$output = lang('DevDetail_Tab_Tools_WOL_Error_MAC');
// Show the result
echo "<pre>";
echo $output;
echo "</pre>";
exit;
}
// Get the port
$port = isset($_GET['port']) ? $_GET['port'] : 9;
// Validate the port
if (!filter_var($port, FILTER_VALIDATE_INT, array('options' => array('min_range' => 1, 'max_range' => 65535)))) {
// Error message
$output = lang('DevDetail_Tab_Tools_WOL_Error_Port');
// Show the result
echo "<pre>";
echo $output;
echo "</pre>";
exit;
}
// Get password
$password = isset($_GET['password']) ? $_GET['password'] : '';
// Validate the password (regular expression requires that the password has at least 8 characters, a lowercase letter, an uppercase letter and a number)
//if (!filter_var($password, FILTER_VALIDATE_REGEXP, array('options' => array('regexp' => '/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{8,}$/')))) {
// Error message
// $output = lang('DevDetail_Tab_Tools_WOL_Error_Password');
// Show the result
// echo "<pre>";
// echo $output;
// echo "</pre>";
// exit;
//}
// Create the magic packet
$magicPacket = pack('H*', 'FF FF FF FF FF FF FF ' . $mac);
// Create a UDP socket
$socket = socket_create(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
// Set the socket options
socket_set_option($socket, SOL_SOCKET, SO_BROADCAST, true);
// Send the WoL packet
socket_sendto($socket, $magicPacket, strlen($magicPacket), 0, '255.255.255.255', $port);
// Close the socket
socket_close($socket);
// Print a message to indicate that the device has been woken up
echo "<pre>";
$output = lang('DevDetail_Tab_Tools_WOL_Message');
echo $output;
echo "</pre>";
?>

View File

@@ -116,7 +116,32 @@
"DevDetail_Shortcut_Presence" : "Anwesenheit",
"DevDetail_Shortcut_DownAlerts" : "Down Meldungen",
"DevDetail_Tab_Details" : "Details",
"DevDetail_Tab_Internet_Info_Title": "Internetinformationen",
"DevDetail_Tab_Internet_Info_Start": "Internet-Info starten",
"DevDetail_Tab_Internet_Info_Error": "Es ist ein Fehler aufgetreten",
"DevDetail_Tab_Internet_Speedtest_Title": "Online Speedtest",
"DevDetail_Tab_Internet_Speedtest_Start": "Speedtest starten",
"DevDetail_Tab_Internet_Speedtest_Error": "Ein Fehler ist aufgetreten",
"DevDetail_Tab_Tools": "<i class=\"fa fa-screwdriver-wrench\"></i> Tools",
"DevDetail_Tab_Tools_Mtr_Title": "Mtr",
"DevDetail_Tab_Tools_Mtr_Start": "Mtr starten",
"DevDetail_Tab_Tools_Mtr_Error": "Fehler: IP-Adresse ist ungültig",
"DevDetail_Tab_Tools_Nslookup_Title": "Nslookup",
"DevDetail_Tab_Tools_Nslookup_Start": "Nslookup starten",
"DevDetail_Tab_Tools_Nslookup_Error": "Fehler: IP-Adresse ist ungültig",
"DevDetail_Tab_Tools_Ping_Title": "Ping",
"DevDetail_Tab_Tools_Ping_Start": "Ping starten",
"DevDetail_Tab_Tools_Ping_Error": "Fehler: IP-Adresse ist ungültig",
"DevDetail_Tab_Tools_Traceroute_Title": "Traceroute",
"DevDetail_Tab_Tools_Traceroute_Start": "Traceroute starten",
"DevDetail_Tab_Tools_Traceroute_Error": "Fehler: IP-Adresse ist ungültig",
"DevDetail_Tab_Tools_WOL_Title": "Wake-on-LAN",
"DevDetail_Tab_Tools_WOL_Start": "Wake-on-LAN starten",
"DevDetail_Tab_Tools_WOL_Error": "Es ist ein Fehler aufgetreten",
"DevDetail_Tab_Tools_WOL_Error_MAC": "Fehler: MAC-Adresse ist ungültig",
"DevDetail_Tab_Tools_WOL_Error_Port": "Fehler: Port ist ungültig",
"DevDetail_Tab_Tools_WOL_Error_Password": "Fehler: Passwort ist ungültig",
"DevDetail_Tab_Tools_WOL_Message": "WOL-Paket gesendet",
"DevDetail_Tab_Nmap" : "Nmap",
"DevDetail_Tab_NmapTableIndex": "Index",
"DevDetail_Tab_NmapTableTime": "Zeit",
@@ -137,10 +162,9 @@
"DevDetail_Tab_PholusTableIP" : "IP",
"DevDetail_Tab_PholusTableEntry" : "Eintragstyp",
"DevDetail_Tab_PholusTableValue" : "Wert",
"DevDetail_Tab_PholusTableExtra" : "Extra",
"DevDetail_Internet_Speedtest" : "Online Speedtest",
"DevDetail_Internet_Speedtest_Start" : "Speedtest starten",
"DevDetail_MainInfo_Title" : "Haupt Infos",
"DevDetail_Tab_PholusTableExtra" : "Extra",
"DevDetail_Loading" : "Laden ...",
"DevDetail_MainInfo_Title" : "Haupt Infos",
"DevDetail_MainInfo_mac" : "MAC",
"DevDetail_MainInfo_Name" : "Name",
"DevDetail_MainInfo_Owner" : "Eigen-&shy;tümer",

View File

@@ -139,7 +139,32 @@
"DevDetail_Shortcut_Presence" : "Presence",
"DevDetail_Shortcut_DownAlerts" : "Down Alerts",
"DevDetail_Tab_Details" : "<i class=\"fa fa-info-circle\"></i> Details",
"DevDetail_Tab_Tools": "<i class=\"fa fa-screwdriver-wrench\"></i> Tools",
"DevDetail_Tab_Internet_Info_Title": "Internet Info",
"DevDetail_Tab_Internet_Info_Start": "Start Internet Info",
"DevDetail_Tab_Internet_Info_Error": "An error has occurred",
"DevDetail_Tab_Internet_Speedtest_Title" : "Online Speedtest",
"DevDetail_Tab_Internet_Speedtest_Start" : "Start Speedtest",
"DevDetail_Tab_Internet_Speedtest_Error" : "An error has occurred",
"DevDetail_Tab_Tools": "<i class=\"fa fa-screwdriver-wrench\"></i> Tools",
"DevDetail_Tab_Tools_Mtr_Title" : "Mtr",
"DevDetail_Tab_Tools_Mtr_Start" : "Start Mtr",
"DevDetail_Tab_Tools_Mtr_Error" : "Error: IP address is not valid",
"DevDetail_Tab_Tools_Nslookup_Title": "Nslookup",
"DevDetail_Tab_Tools_Nslookup_Start": "Start Nslookup",
"DevDetail_Tab_Tools_Nslookup_Error": "Error: IP address is not valid",
"DevDetail_Tab_Tools_Ping_Title": "Ping",
"DevDetail_Tab_Tools_Ping_Start": "Start Ping",
"DevDetail_Tab_Tools_Ping_Error": "Error: IP address is not valid",
"DevDetail_Tab_Tools_Traceroute_Title": "Traceroute",
"DevDetail_Tab_Tools_Traceroute_Start": "Start Traceroute",
"DevDetail_Tab_Tools_Traceroute_Error": "Error: IP address is not valid",
"DevDetail_Tab_Tools_WOL_Title" : "Wake-on-LAN",
"DevDetail_Tab_Tools_WOL_Start" : "Start Wake-on-LAN",
"DevDetail_Tab_Tools_WOL_Error" : "An error has occurred",
"DevDetail_Tab_Tools_WOL_Error_MAC" : "Error: MAC address is invalid",
"DevDetail_Tab_Tools_WOL_Error_Port" : "Error: Port is invalid",
"DevDetail_Tab_Tools_WOL_Error_Password" : "Error: Password is invalid",
"DevDetail_Tab_Tools_WOL_Message" : "WOL package sent",
"DevDetail_Tab_Nmap" : "<i class=\"fa fa-ethernet\"></i> Nmap",
"DevDetail_Tab_Sessions" : "<i class=\"fa fa-list-ol\"></i> Sessions",
"DevDetail_Tab_Presence" : "<i class=\"fa fa-calendar\"></i> Presence",
@@ -166,7 +191,8 @@
"DevDetail_Tab_NmapTablePort" : "Port",
"DevDetail_Tab_NmapTableState" : "State",
"DevDetail_Tab_NmapTableService" : "Service",
"DevDetail_Tab_NmapTableExtra" : "Extra",
"DevDetail_Tab_NmapTableExtra" : "Extra",
"DevDetail_Loading" : "Loading...",
"DevDetail_MainInfo_Title" : "<i class=\"fa fa-pencil\"></i> Main Info",
"DevDetail_MainInfo_mac" : "MAC",
"DevDetail_MainInfo_Name" : "Name",
@@ -175,9 +201,7 @@
"DevDetail_MainInfo_Type" : "Type",
"DevDetail_Type_hover" : "The Type of the device. If you select any of the pre-defined network devices (e.g.: AP, Firewall, Router, Switch...) they will show up in the Network tree configuration as possible parent network nodes.",
"DevDetail_Icon" : "Icon",
"DevDetail_Icon_Descr" : "Enter a font awesome icon name without the fa- prefix or with complete class, e.g.: fa fa-brands fa-apple.",
"DevDetail_Internet_Speedtest" : "Online Speedtest",
"DevDetail_Internet_Speedtest_Start" : "Start Speedtest",
"DevDetail_Icon_Descr" : "Enter a font awesome icon name without the fa- prefix or with complete class, e.g.: fa fa-brands fa-apple.",
"DevDetail_MainInfo_Vendor" : "Vendor",
"DevDetail_Vendor_hover" : "Vendor should be auto-detected. You can overwrite or add your custom value.",
"DevDetail_MainInfo_Favorite" : "Favorite",
@@ -236,7 +260,7 @@
"BackDevDetail_Actions_Not_Registered" : "Action not registered: ",
"BackDevDetail_Actions_Ask_Run" : "Do you want to execute the action?",
"BackDevDetail_Tools_WOL_okay" : "The command was executed.",
"BackDevDetail_Tools_WOL_error" : "The command was NOT executed.",
"BackDevDetail_Tools_WOL_error" : "The command was NOT executed.",
"DevDetail_Tools_WOL_noti" : "Wake-on-LAN",
"DevDetail_Tools_WOL_noti_text" : "The Wake-on-LAN command is sent to the broadcast address. If the target is not in the subnet/vlan of Pi.Alert, the target device will not respond.",
"DevDetail_Tools_WOL" : "Send Wol command to ",

View File

@@ -139,7 +139,32 @@
"DevDetail_Shortcut_Presence" : "Historial",
"DevDetail_Shortcut_DownAlerts" : "Alerta(s) de caída(s)",
"DevDetail_Tab_Details" : "<i class=\"fa fa-info-circle\"></i> Detalles",
"DevDetail_Tab_Tools": "<i class=\"fa fa-screwdriver-wrench\"></i> Herramientas",
"DevDetail_Tab_Internet_Info_Title": "Internet Info",
"DevDetail_Tab_Internet_Info_Start": "Iniciar Internet Info",
"DevDetail_Tab_Internet_Info_Error": "Se ha producido un error",
"DevDetail_Tab_Internet_Speedtest_Title": "Prueba de velocidad en línea",
"DevDetail_Tab_Internet_Speedtest_Start": "Iniciar prueba de velocidad",
"DevDetail_Tab_Internet_Speedtest_Error": "Se ha producido un error",
"DevDetail_Tab_Tools": "<i class=\"fa fa-screwdriver-wrench\"></i> Herramientas",
"DevDetail_Tab_Tools_Mtr_Title": "Mtr",
"DevDetail_Tab_Tools_Mtr_Start": "Iniciar Mtr",
"DevDetail_Tab_Tools_Mtr_Error": "Error: la dirección IP no es válida",
"DevDetail_Tab_Tools_Nslookup_Title": "Nslookup",
"DevDetail_Tab_Tools_Nslookup_Start": "Iniciar Nslookup",
"DevDetail_Tab_Tools_Nslookup_Error": "Error: la dirección IP no es válida",
"DevDetail_Tab_Tools_Ping_Title": "Ping",
"DevDetail_Tab_Tools_Ping_Start": "Iniciar Ping",
"DevDetail_Tab_Tools_Ping_Error": "Error: la dirección IP no es válida",
"DevDetail_Tab_Tools_Traceroute_Title": "Traceroute",
"DevDetail_Tab_Tools_Traceroute_Start": "Iniciar Traceroute",
"DevDetail_Tab_Tools_Traceroute_Error": "Error: la dirección IP no es válida",
"DevDetail_Tab_Tools_WOL_Title" : "Wake-on-LAN",
"DevDetail_Tab_Tools_WOL_Start" : "Iniciar Wake-on-LAN",
"DevDetail_Tab_Tools_WOL_Error" : "Se ha producido un error",
"DevDetail_Tab_Tools_WOL_Error_MAC" : "Error: la dirección MAC no es válida",
"DevDetail_Tab_Tools_WOL_Error_Port" : "Error: el puerto no es válido",
"DevDetail_Tab_Tools_WOL_Error_Password" : "Error: la contraseña no es válida",
"DevDetail_Tab_Tools_WOL_Message" : "Paquete WOL enviado",
"DevDetail_Tab_Nmap" : "<i class=\"fa fa-ethernet\"></i> Nmap",
"DevDetail_Tab_Sessions" : "<i class=\"fa fa-list-ol\"></i> Sesiones",
"DevDetail_Tab_Presence" : "<i class=\"fa fa-calendar\"></i> Historial",
@@ -166,15 +191,14 @@
"DevDetail_Tab_NmapTablePort": "Puerto",
"DevDetail_Tab_NmapTableState": "Estado",
"DevDetail_Tab_NmapTableService": "Servicio",
"DevDetail_Tab_NmapTableExtra": "Extra",
"DevDetail_Tab_NmapTableExtra": "Extra",
"DevDetail_Loading" : "Cargando ...",
"DevDetail_MainInfo_Title" : "<i class=\"fa fa-pencil\"></i> Información principal",
"DevDetail_MainInfo_mac" : "MAC",
"DevDetail_MainInfo_Name" : "Nombre",
"DevDetail_MainInfo_Owner" : "Propietario",
"DevDetail_MainInfo_Type" : "Tipo",
"DevDetail_Icon" : "Icono",
"DevDetail_Internet_Speedtest": "Prueba de velocidad en línea",
"DevDetail_Internet_Speedtest_Start": "Iniciar prueba de velocidad",
"DevDetail_Icon" : "Icono",
"DevDetail_Icon_Descr" : "Ingrese un nombre de icono de fuente awesome sin el prefijo fa- o con clase completa, por ejemplo: fa fa-skin fa-apple.",
"DevDetail_MainInfo_Vendor" : "Proveedor",
"DevDetail_MainInfo_Favorite" : "Favorito",
@@ -214,7 +238,7 @@
"DevDetail_SessionTable_Disconnection" : "Desconexión",
"DevDetail_SessionTable_Duration" : "Duración",
"DevDetail_SessionTable_IP" : "Dirección IP",
"DevDetail_SessionTable_Additionalinfo" : "Información adicional",
"DevDetail_SessionTable_Additionalinfo" : "Información adicional",
"DevDetail_Events_CheckBox" : "Ocultar eventos de conexión",
"DevDetail_Nmap_buttonFast" : "Exploración rápida",
"DevDetail_Nmap_buttonDefault" : "Escaneado predeterminado",