mirror of
https://github.com/jokob-sk/NetAlertX.git
synced 2025-12-07 09:36:05 -08:00
Maintenance
The source of a used GIF added to README. The source of the used Fonts added to README. Another used tool was added to the "Powered by" section. More translation work was done and the technique used to do the manual Nmap-scans was changed to include a loading animation. A speedtest has been added to the detailed view of the "Internet" device. This is also located under the "Nmap" tab.
This commit is contained in:
39
README.md
39
README.md
@@ -44,6 +44,7 @@ In charge of:
|
|||||||
described
|
described
|
||||||
- Store the information in the DB
|
- Store the information in the DB
|
||||||
- Report the changes detected by e-mail
|
- Report the changes detected by e-mail
|
||||||
|
- Optional speedtest for Device "Internet"
|
||||||
|
|
||||||
| ![Report 1][report1] | ![Report 2][report2] |
|
| ![Report 1][report1] | ![Report 2][report2] |
|
||||||
| -------------------- | -------------------- |
|
| -------------------- | -------------------- |
|
||||||
@@ -61,6 +62,7 @@ A web frontal that allows:
|
|||||||
- Down alerts
|
- Down alerts
|
||||||
- IP's
|
- IP's
|
||||||
- manuel nmap scans
|
- manuel nmap scans
|
||||||
|
- Optional speedtest for Device "Internet"
|
||||||
- ...
|
- ...
|
||||||
|
|
||||||
| ![Screen 1][screen1] | ![Screen 2][screen2] |
|
| ![Screen 1][screen1] | ![Screen 2][screen2] |
|
||||||
@@ -114,26 +116,33 @@ Linux distributions.
|
|||||||
### [Versions History](docs/VERSIONS_HISTORY.md)
|
### [Versions History](docs/VERSIONS_HISTORY.md)
|
||||||
|
|
||||||
### Powered by:
|
### Powered by:
|
||||||
| Product | Objetive |
|
| Product | Objetive |
|
||||||
| ------------ | -------------------------------------- |
|
| ------------- | ------------------------------------------------------- |
|
||||||
| Python | Programming language for the Back |
|
| Python | Programming language for the Back |
|
||||||
| PHP | Programming language for the Front-end |
|
| PHP | Programming language for the Front-end |
|
||||||
| JavaScript | Programming language for the Front-end |
|
| JavaScript | Programming language for the Front-end |
|
||||||
| Bootstrap | Front-end framework |
|
| Bootstrap | Front-end framework |
|
||||||
| Admin.LTE | Bootstrap template |
|
| Admin.LTE | Bootstrap template |
|
||||||
| FullCalendar | Calendar component |
|
| FullCalendar | Calendar component |
|
||||||
| Sqlite | DB engine |
|
| Sqlite | DB engine |
|
||||||
| Lighttpd | Webserver |
|
| Lighttpd | Webserver |
|
||||||
| arp-scan | Scan network using arp commands |
|
| arp-scan | Scan network using arp commands |
|
||||||
| Pi.hole | DNS Server with Ad-block |
|
| Pi.hole | DNS Server with Ad-block |
|
||||||
| dnsmasq | DHCP Server |
|
| dnsmasq | DHCP Server |
|
||||||
| nmap | Network Scanner |
|
| nmap | Network Scanner |
|
||||||
| zip | Filecompression Tool |
|
| zip | Filecompression Tool |
|
||||||
|
| speedtest-cli | Python SpeedTest https://github.com/sivel/speedtest-cli |
|
||||||
|
|
||||||
### License
|
### License
|
||||||
GPL 3.0
|
GPL 3.0
|
||||||
[Read more here](LICENSE.txt)
|
[Read more here](LICENSE.txt)
|
||||||
|
|
||||||
|
Source of the animated GIF (Loading Animation)
|
||||||
|
https://commons.wikimedia.org/wiki/File:Loading_Animation.gif
|
||||||
|
|
||||||
|
Source of the selfhosted Fonts
|
||||||
|
https://github.com/adobe-fonts/source-sans
|
||||||
|
|
||||||
### Contact
|
### Contact
|
||||||
pi.alert.application@gmail.com
|
pi.alert.application@gmail.com
|
||||||
|
|
||||||
|
|||||||
2013
back/speedtest-cli
Normal file
2013
back/speedtest-cli
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,3 +1,3 @@
|
|||||||
VERSION = '3.02_leiweibau'
|
VERSION = '3.5_leiweibau'
|
||||||
VERSION_YEAR = '2022'
|
VERSION_YEAR = '2022'
|
||||||
VERSION_DATE = '2022-06-23'
|
VERSION_DATE = '2022-07-07'
|
||||||
|
|||||||
@@ -523,4 +523,11 @@
|
|||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
padding-right: 15px;
|
padding-right: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ajax_scripts_loading {
|
||||||
|
background-image: url('../img/Loading_Animation.gif');
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-position: center;
|
||||||
|
height: 50px;
|
||||||
}
|
}
|
||||||
@@ -432,6 +432,32 @@
|
|||||||
|
|
||||||
|
|
||||||
<div class="tab-pane fade" id="panNmap">
|
<div class="tab-pane fade" id="panNmap">
|
||||||
|
|
||||||
|
<?php
|
||||||
|
if ($_REQUEST['mac'] == 'Internet') {
|
||||||
|
?>
|
||||||
|
<h4 class="">Online Speedtest</h4>
|
||||||
|
<div style="width:100%; text-align: center; margin-bottom: 50px;">
|
||||||
|
<button type="button" id="speedtestcli" class="btn btn-default pa-btn" style="margin: auto;" onclick="speedtestcli()">Start Speedtest</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
function speedtestcli() {
|
||||||
|
$( "#scanoutput" ).empty();
|
||||||
|
$.ajax({
|
||||||
|
method: "POST",
|
||||||
|
url: "./php/server/speedtestcli.php",
|
||||||
|
beforeSend: function() { $('#scanoutput').addClass("ajax_scripts_loading"); },
|
||||||
|
complete: function() { $('#scanoutput').removeClass("ajax_scripts_loading"); },
|
||||||
|
success: function(data, textStatus) {
|
||||||
|
$("#scanoutput").html(data);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<?php
|
||||||
|
}
|
||||||
|
?>
|
||||||
<h4 class="">Nmap Scans</h4>
|
<h4 class="">Nmap Scans</h4>
|
||||||
<div style="width:100%; text-align: center;">
|
<div style="width:100%; text-align: center;">
|
||||||
<script>
|
<script>
|
||||||
@@ -455,20 +481,21 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div id="scanoutput" style="margin-top: 30px;"></div>
|
<div id="scanoutput" style="margin-top: 30px;"></div>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
function manualnmapscan(targetip, mode) {
|
function manualnmapscan(targetip, mode) {
|
||||||
var xhttp = new XMLHttpRequest();
|
$( "#scanoutput" ).empty();
|
||||||
xhttp.onreadystatechange = function() {
|
$.ajax({
|
||||||
if (this.readyState == 4 && this.status == 200) {
|
method: "POST",
|
||||||
document.getElementById("scanoutput").innerHTML = this.responseText;
|
url: "./php/server/nmap_scan.php",
|
||||||
|
data: { scan: targetip, mode: mode },
|
||||||
|
beforeSend: function() { $('#scanoutput').addClass("ajax_scripts_loading"); },
|
||||||
|
complete: function() { $('#scanoutput').removeClass("ajax_scripts_loading"); },
|
||||||
|
success: function(data, textStatus) {
|
||||||
|
$("#scanoutput").html(data);
|
||||||
}
|
}
|
||||||
};
|
})
|
||||||
xhttp.open("POST", "./php/server/nmap_scan.php", true);
|
|
||||||
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
|
|
||||||
xhttp.send("scan=" + targetip + '&mode=' + mode);
|
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
BIN
front/img/Loading_Animation.gif
Normal file
BIN
front/img/Loading_Animation.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 813 B |
@@ -8,18 +8,22 @@
|
|||||||
// Puche 2021 pi.alert.application@gmail.com GNU GPLv3
|
// Puche 2021 pi.alert.application@gmail.com GNU GPLv3
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
foreach (glob("../../../db/setting_language*") as $filename) {
|
||||||
|
$pia_lang_selected = str_replace('setting_language_','',basename($filename));
|
||||||
|
}
|
||||||
|
if (strlen($pia_lang_selected) == 0) {$pia_lang_selected = 'en_us';}
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// External files
|
// External files
|
||||||
require 'db.php';
|
require 'db.php';
|
||||||
require 'util.php';
|
require 'util.php';
|
||||||
|
require '../templates/language/'.$pia_lang_selected.'.php';
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// Action selector
|
// Action selector
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// Set maximum execution time to 15 seconds
|
// Set maximum execution time to 15 seconds
|
||||||
ini_set ('max_execution_time','15');
|
ini_set ('max_execution_time','30');
|
||||||
|
|
||||||
// Open DB
|
// Open DB
|
||||||
OpenDB();
|
OpenDB();
|
||||||
@@ -135,6 +139,7 @@ function getDeviceData() {
|
|||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
function setDeviceData() {
|
function setDeviceData() {
|
||||||
global $db;
|
global $db;
|
||||||
|
global $pia_lang;
|
||||||
|
|
||||||
// sql
|
// sql
|
||||||
$sql = 'UPDATE Devices SET
|
$sql = 'UPDATE Devices SET
|
||||||
@@ -159,9 +164,9 @@ function setDeviceData() {
|
|||||||
|
|
||||||
// check result
|
// check result
|
||||||
if ($result == TRUE) {
|
if ($result == TRUE) {
|
||||||
echo "Device updated successfully";
|
echo $pia_lang['BackDevices_DBTools_UpdDev'];
|
||||||
} else {
|
} else {
|
||||||
echo "Error updating device\n\n$sql \n\n". $db->lastErrorMsg();
|
echo $pia_lang['BackDevices_DBTools_UpdDevError']."\n\n$sql \n\n". $db->lastErrorMsg();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -171,6 +176,7 @@ function setDeviceData() {
|
|||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
function deleteDevice() {
|
function deleteDevice() {
|
||||||
global $db;
|
global $db;
|
||||||
|
global $pia_lang;
|
||||||
|
|
||||||
// sql
|
// sql
|
||||||
$sql = 'DELETE FROM Devices WHERE dev_MAC="' . $_REQUEST['mac'] .'"';
|
$sql = 'DELETE FROM Devices WHERE dev_MAC="' . $_REQUEST['mac'] .'"';
|
||||||
@@ -179,9 +185,9 @@ function deleteDevice() {
|
|||||||
|
|
||||||
// check result
|
// check result
|
||||||
if ($result == TRUE) {
|
if ($result == TRUE) {
|
||||||
echo "Device deleted successfully";
|
echo $pia_lang['BackDevices_DBTools_DelDev_a'];
|
||||||
} else {
|
} else {
|
||||||
echo "Error deleting device\n\n$sql \n\n". $db->lastErrorMsg();
|
echo $pia_lang['BackDevices_DBTools_DelDevError_a']."\n\n$sql \n\n". $db->lastErrorMsg();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -190,6 +196,7 @@ function deleteDevice() {
|
|||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
function deleteAllWithEmptyMACs() {
|
function deleteAllWithEmptyMACs() {
|
||||||
global $db;
|
global $db;
|
||||||
|
global $pia_lang;
|
||||||
|
|
||||||
// sql
|
// sql
|
||||||
$sql = 'DELETE FROM Devices WHERE dev_MAC=""';
|
$sql = 'DELETE FROM Devices WHERE dev_MAC=""';
|
||||||
@@ -198,9 +205,9 @@ function deleteAllWithEmptyMACs() {
|
|||||||
|
|
||||||
// check result
|
// check result
|
||||||
if ($result == TRUE) {
|
if ($result == TRUE) {
|
||||||
echo "Devices deleted successfully";
|
echo $pia_lang['BackDevices_DBTools_DelDev_b'];
|
||||||
} else {
|
} else {
|
||||||
echo "Error deleting devices\n\n$sql \n\n". $db->lastErrorMsg();
|
echo $pia_lang['BackDevices_DBTools_DelDevError_b']."\n\n$sql \n\n". $db->lastErrorMsg();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -209,6 +216,7 @@ function deleteAllWithEmptyMACs() {
|
|||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
function deleteUnknownDevices() {
|
function deleteUnknownDevices() {
|
||||||
global $db;
|
global $db;
|
||||||
|
global $pia_lang;
|
||||||
|
|
||||||
// sql
|
// sql
|
||||||
$sql = 'DELETE FROM Devices WHERE dev_Name="(unknown)"';
|
$sql = 'DELETE FROM Devices WHERE dev_Name="(unknown)"';
|
||||||
@@ -217,9 +225,9 @@ function deleteUnknownDevices() {
|
|||||||
|
|
||||||
// check result
|
// check result
|
||||||
if ($result == TRUE) {
|
if ($result == TRUE) {
|
||||||
echo "Devices deleted successfully";
|
echo $pia_lang['BackDevices_DBTools_DelDev_b'];
|
||||||
} else {
|
} else {
|
||||||
echo "Error deleting devices\n\n$sql \n\n". $db->lastErrorMsg();
|
echo $pia_lang['BackDevices_DBTools_DelDevError_b']."\n\n$sql \n\n". $db->lastErrorMsg();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -230,6 +238,7 @@ function deleteUnknownDevices() {
|
|||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
function deleteAllDevices() {
|
function deleteAllDevices() {
|
||||||
global $db;
|
global $db;
|
||||||
|
global $pia_lang;
|
||||||
|
|
||||||
// sql
|
// sql
|
||||||
$sql = 'DELETE FROM Devices';
|
$sql = 'DELETE FROM Devices';
|
||||||
@@ -238,9 +247,9 @@ function deleteAllDevices() {
|
|||||||
|
|
||||||
// check result
|
// check result
|
||||||
if ($result == TRUE) {
|
if ($result == TRUE) {
|
||||||
echo "Devices deleted successfully";
|
echo $pia_lang['BackDevices_DBTools_DelDev_b'];
|
||||||
} else {
|
} else {
|
||||||
echo "Error deleting devices\n\n$sql \n\n". $db->lastErrorMsg();
|
echo $pia_lang['BackDevices_DBTools_DelDevError_b']."\n\n$sql \n\n". $db->lastErrorMsg();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -249,6 +258,7 @@ function deleteAllDevices() {
|
|||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
function deleteEvents() {
|
function deleteEvents() {
|
||||||
global $db;
|
global $db;
|
||||||
|
global $pia_lang;
|
||||||
|
|
||||||
// sql
|
// sql
|
||||||
$sql = 'DELETE FROM Events';
|
$sql = 'DELETE FROM Events';
|
||||||
@@ -257,9 +267,9 @@ function deleteEvents() {
|
|||||||
|
|
||||||
// check result
|
// check result
|
||||||
if ($result == TRUE) {
|
if ($result == TRUE) {
|
||||||
echo "Events deleted successfully";
|
echo $pia_lang['BackDevices_DBTools_DelEvents'];
|
||||||
} else {
|
} else {
|
||||||
echo "Error deleting Events\n\n$sql \n\n". $db->lastErrorMsg();
|
echo $pia_lang['BackDevices_DBTools_DelEventsError']."\n\n$sql \n\n". $db->lastErrorMsg();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -270,10 +280,11 @@ function PiaBackupDBtoArchive() {
|
|||||||
// prepare fast Backup
|
// prepare fast Backup
|
||||||
$file = '../../../db/pialert.db';
|
$file = '../../../db/pialert.db';
|
||||||
$newfile = '../../../db/pialert.db.latestbackup';
|
$newfile = '../../../db/pialert.db.latestbackup';
|
||||||
|
global $pia_lang;
|
||||||
|
|
||||||
// copy files as a fast Backup
|
// copy files as a fast Backup
|
||||||
if (!copy($file, $newfile)) {
|
if (!copy($file, $newfile)) {
|
||||||
echo "The original database could not be saved.";
|
echo $pia_lang['BackDevices_Backup_CopError'];
|
||||||
} else {
|
} else {
|
||||||
// Create archive with actual date
|
// Create archive with actual date
|
||||||
$Pia_Archive_Name = 'pialertdb_'.date("Ymd_His").'.zip';
|
$Pia_Archive_Name = 'pialertdb_'.date("Ymd_His").'.zip';
|
||||||
@@ -281,11 +292,11 @@ function PiaBackupDBtoArchive() {
|
|||||||
exec('zip -j '.$Pia_Archive_Path.$Pia_Archive_Name.' ../../../db/pialert.db', $output);
|
exec('zip -j '.$Pia_Archive_Path.$Pia_Archive_Name.' ../../../db/pialert.db', $output);
|
||||||
// chheck if archive exists
|
// chheck if archive exists
|
||||||
if (file_exists($Pia_Archive_Path.$Pia_Archive_Name) && filesize($Pia_Archive_Path.$Pia_Archive_Name) > 0) {
|
if (file_exists($Pia_Archive_Path.$Pia_Archive_Name) && filesize($Pia_Archive_Path.$Pia_Archive_Name) > 0) {
|
||||||
echo 'The backup executed successfully with the new archive: ('.$Pia_Archive_Name.')';
|
echo $pia_lang['BackDevices_Backup_okay'].': ('.$Pia_Archive_Name.')';
|
||||||
unlink($newfile);
|
unlink($newfile);
|
||||||
echo("<meta http-equiv='refresh' content='1'>");
|
echo("<meta http-equiv='refresh' content='1'>");
|
||||||
} else {
|
} else {
|
||||||
echo 'The backup executed partially successfully. The archive could not be created or is empty. (pialert.db.latestbackup)';
|
echo $pia_lang['BackDevices_Backup_Failed'].' (pialert.db.latestbackup)';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -298,21 +309,22 @@ function PiaRestoreDBfromArchive() {
|
|||||||
// prepare fast Backup
|
// prepare fast Backup
|
||||||
$file = '../../../db/pialert.db';
|
$file = '../../../db/pialert.db';
|
||||||
$oldfile = '../../../db/pialert.db.prerestore';
|
$oldfile = '../../../db/pialert.db.prerestore';
|
||||||
|
global $pia_lang;
|
||||||
|
|
||||||
// copy files as a fast Backup
|
// copy files as a fast Backup
|
||||||
if (!copy($file, $oldfile)) {
|
if (!copy($file, $oldfile)) {
|
||||||
echo 'The original database could not be saved.';
|
echo $pia_lang['BackDevices_Restore_CopError'];
|
||||||
} else {
|
} else {
|
||||||
// extract latest archive and overwrite the actual pialert.db
|
// extract latest archive and overwrite the actual pialert.db
|
||||||
$Pia_Archive_Path = '../../../db/';
|
$Pia_Archive_Path = '../../../db/';
|
||||||
exec('/bin/ls -Art '.$Pia_Archive_Path.'*.zip | /bin/tail -n 1 | /usr/bin/xargs -n1 /bin/unzip -o -d ../../../db/', $output);
|
exec('/bin/ls -Art '.$Pia_Archive_Path.'*.zip | /bin/tail -n 1 | /usr/bin/xargs -n1 /bin/unzip -o -d ../../../db/', $output);
|
||||||
// check if the pialert.db exists
|
// check if the pialert.db exists
|
||||||
if (file_exists($file)) {
|
if (file_exists($file)) {
|
||||||
echo 'Restore executed successfully';
|
echo $pia_lang['BackDevices_Restore_okay'];
|
||||||
unlink($oldfile);
|
unlink($oldfile);
|
||||||
echo("<meta http-equiv='refresh' content='1'>");
|
echo("<meta http-equiv='refresh' content='1'>");
|
||||||
} else {
|
} else {
|
||||||
echo 'Restore Failed. Please restore the backup manually.';
|
echo $pia_lang['BackDevices_Restore_Failed'];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -323,13 +335,14 @@ function PiaRestoreDBfromArchive() {
|
|||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
function PiaEnableDarkmode() {
|
function PiaEnableDarkmode() {
|
||||||
$file = '../../../db/setting_darkmode';
|
$file = '../../../db/setting_darkmode';
|
||||||
|
global $pia_lang;
|
||||||
|
|
||||||
if (file_exists($file)) {
|
if (file_exists($file)) {
|
||||||
echo 'Darkmode Disabled';
|
echo $pia_lang['BackDevices_darkmode_disabled'];
|
||||||
unlink($file);
|
unlink($file);
|
||||||
echo("<meta http-equiv='refresh' content='1'>");
|
echo("<meta http-equiv='refresh' content='1'>");
|
||||||
} else {
|
} else {
|
||||||
echo 'Darkmode Enabled';
|
echo $pia_lang['BackDevices_darkmode_enabled'];
|
||||||
$darkmode = fopen($file, 'w');
|
$darkmode = fopen($file, 'w');
|
||||||
echo("<meta http-equiv='refresh' content='1'>");
|
echo("<meta http-equiv='refresh' content='1'>");
|
||||||
}
|
}
|
||||||
@@ -341,13 +354,14 @@ function PiaEnableDarkmode() {
|
|||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
function PiaToggleArpScan() {
|
function PiaToggleArpScan() {
|
||||||
$file = '../../../db/setting_stoparpscan';
|
$file = '../../../db/setting_stoparpscan';
|
||||||
|
global $pia_lang;
|
||||||
|
|
||||||
if (file_exists($file)) {
|
if (file_exists($file)) {
|
||||||
echo 'Arp-Scan Enabled';
|
echo $pia_lang['BackDevices_Arpscan_enabled'];
|
||||||
unlink($file);
|
unlink($file);
|
||||||
echo("<meta http-equiv='refresh' content='1'>");
|
echo("<meta http-equiv='refresh' content='1'>");
|
||||||
} else {
|
} else {
|
||||||
echo 'Arp-Scan Disabled';
|
echo $pia_lang['BackDevices_Arpscan_disabled'];
|
||||||
$startarpscan = fopen($file, 'w');
|
$startarpscan = fopen($file, 'w');
|
||||||
echo("<meta http-equiv='refresh' content='1'>");
|
echo("<meta http-equiv='refresh' content='1'>");
|
||||||
}
|
}
|
||||||
|
|||||||
10
front/php/server/speedtestcli.php
Normal file
10
front/php/server/speedtestcli.php
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
<?php
|
||||||
|
exec('../../../back/speedtest-cli --secure --simple', $output);
|
||||||
|
|
||||||
|
echo '<h4>Speedtest Results</h4>';
|
||||||
|
echo '<pre style="border: none;">';
|
||||||
|
foreach($output as $line){
|
||||||
|
echo $line . "\n";
|
||||||
|
}
|
||||||
|
echo '</pre>';
|
||||||
|
?>
|
||||||
@@ -205,5 +205,27 @@ $pia_lang['Maintenance_Tool_restore_text'] = 'Das neuste Backup kann über diese
|
|||||||
$pia_lang['Maintenance_Tool_restore_noti'] = 'DB Wiederherstellung';
|
$pia_lang['Maintenance_Tool_restore_noti'] = 'DB Wiederherstellung';
|
||||||
$pia_lang['Maintenance_Tool_restore_noti_text'] = 'Sind Sie sicher, dass Sie die Datenbank aus der neusten Sicherung wiederherstellen möchten? Prüfen Sie, dass gerade keine Scans stattfinden.';
|
$pia_lang['Maintenance_Tool_restore_noti_text'] = 'Sind Sie sicher, dass Sie die Datenbank aus der neusten Sicherung wiederherstellen möchten? Prüfen Sie, dass gerade keine Scans stattfinden.';
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////
|
||||||
|
// Maintenance Page
|
||||||
|
//////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
$pia_lang['BackDevices_Arpscan_disabled'] = 'Automatischer Arp-Scan deaktiviert';
|
||||||
|
$pia_lang['BackDevices_Arpscan_enabled'] = 'Automatischer Arp-Scan aktiviert';
|
||||||
|
$pia_lang['BackDevices_darkmode_disabled'] = 'Heller Modus aktiviert';
|
||||||
|
$pia_lang['BackDevices_darkmode_enabled'] = 'Dunkler Modus aktiviert';
|
||||||
|
$pia_lang['BackDevices_Restore_CopError'] = 'Die originale Datenbank konnte nicht kopiert werden.';
|
||||||
|
$pia_lang['BackDevices_Restore_okay'] = 'Die Wiederherstellung wurde erfolgreich ausgeführt';
|
||||||
|
$pia_lang['BackDevices_Restore_Failed'] = 'Die Wiederherstellung ist fehlgeschlagen. Stellen Sie das Backup manuell her.';
|
||||||
|
$pia_lang['BackDevices_Backup_CopError'] = 'Die originale Datenbank konnte nicht gesichert werden.';
|
||||||
|
$pia_lang['BackDevices_Backup_okay'] = 'Das Backup wurde erfolgreich beendet';
|
||||||
|
$pia_lang['BackDevices_Backup_Failed'] = 'Das Backup wurde teilweise ausgeführt. Das Archiv ist entweder leer oder nicht vorhanden.';
|
||||||
|
$pia_lang['BackDevices_DBTools_DelDev_a'] = 'Gerät erfolgreich gelöscht';
|
||||||
|
$pia_lang['BackDevices_DBTools_DelDev_b'] = 'Geräte erfolgreich gelöscht';
|
||||||
|
$pia_lang['BackDevices_DBTools_DelEvents'] = 'Events deleted successfully';
|
||||||
|
$pia_lang['BackDevices_DBTools_DelEventsError'] = 'Fehler beim Löschen der Ereignisse';
|
||||||
|
$pia_lang['BackDevices_DBTools_DelDevError_a'] = 'Fehler beim Löschen des Gerätes';
|
||||||
|
$pia_lang['BackDevices_DBTools_DelDevError_b'] = 'Fehler beim Löschen der Geräte';
|
||||||
|
$pia_lang['BackDevices_DBTools_UpdDev'] = 'Gerät erfolgreich aktualisiert';
|
||||||
|
$pia_lang['BackDevices_DBTools_UpdDevError'] = 'EFehler beim Aktualisieren des Gerätes';
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|||||||
@@ -204,5 +204,28 @@ $pia_lang['Maintenance_Tool_restore'] = 'DB Restore';
|
|||||||
$pia_lang['Maintenance_Tool_restore_text'] = 'The latest backup can be restored via the button, but older backups can only be restored manually. After the restore, make an integrity check on the database for safety, in case the db was currently in write access when the backup was created.';
|
$pia_lang['Maintenance_Tool_restore_text'] = 'The latest backup can be restored via the button, but older backups can only be restored manually. After the restore, make an integrity check on the database for safety, in case the db was currently in write access when the backup was created.';
|
||||||
$pia_lang['Maintenance_Tool_restore_noti'] = 'DB Restore';
|
$pia_lang['Maintenance_Tool_restore_noti'] = 'DB Restore';
|
||||||
$pia_lang['Maintenance_Tool_restore_noti_text'] = 'Are you sure you want to exectute the the DB Restore? Be sure that no scan is currently running.';
|
$pia_lang['Maintenance_Tool_restore_noti_text'] = 'Are you sure you want to exectute the the DB Restore? Be sure that no scan is currently running.';
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////
|
||||||
|
// Maintenance Page
|
||||||
|
//////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
$pia_lang['BackDevices_Arpscan_disabled'] = 'Arp-Scan Disabled';
|
||||||
|
$pia_lang['BackDevices_Arpscan_enabled'] = 'Arp-Scan Enabled';
|
||||||
|
$pia_lang['BackDevices_darkmode_disabled'] = 'Darkmode Disabled';
|
||||||
|
$pia_lang['BackDevices_darkmode_enabled'] = 'Darkmode Enabled';
|
||||||
|
$pia_lang['BackDevices_Restore_CopError'] = 'The original database could not be saved.';
|
||||||
|
$pia_lang['BackDevices_Restore_okay'] = 'Restore executed successfully.';
|
||||||
|
$pia_lang['BackDevices_Restore_Failed'] = 'Restore Failed. Please restore the backup manually.';
|
||||||
|
$pia_lang['BackDevices_Backup_CopError'] = 'The original database could not be saved.';
|
||||||
|
$pia_lang['BackDevices_Backup_okay'] = 'The backup executed successfully with the new archive';
|
||||||
|
$pia_lang['BackDevices_Backup_Failed'] = 'The backup executed partially successfully. The archive could not be created or is empty.';
|
||||||
|
$pia_lang['BackDevices_DBTools_DelDev_a'] = 'Device deleted successfully';
|
||||||
|
$pia_lang['BackDevices_DBTools_DelDev_b'] = 'Devices deleted successfully';
|
||||||
|
$pia_lang['BackDevices_DBTools_DelEvents'] = 'Events deleted successfully';
|
||||||
|
$pia_lang['BackDevices_DBTools_DelEventsError'] = 'Error deleting Events';
|
||||||
|
$pia_lang['BackDevices_DBTools_DelDevError_a'] = 'Error deleting Device';
|
||||||
|
$pia_lang['BackDevices_DBTools_DelDevError_b'] = 'Error deleting Devices';
|
||||||
|
$pia_lang['BackDevices_DBTools_UpdDev'] = 'Device updated successfully';
|
||||||
|
$pia_lang['BackDevices_DBTools_UpdDevError'] = 'Error updating device';
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user