⚙ Settings rework

This commit is contained in:
jokob-sk
2024-07-07 23:11:30 +10:00
parent 55440090fe
commit 6ea3d14480
54 changed files with 1006 additions and 708 deletions

View File

@@ -824,12 +824,12 @@ function initializeCombos () {
initializeCombo ( '#dropdownDevices', 'getDevices', 'txtFromDevice', false);
// Initiate dropdown
// function initSettingDropdown(settingKey, // Identifier for the setting
// valuesArray, // Array of values to be pre-selected in the dropdown
// targetLocation, // ID of the HTML element where dropdown should be rendered (will be replaced)
// callbackToGenerateEntries, // Callback function to generate entries based on options
// targetField, // Target field or element where selected value should be applied or updated
// nameTransformer) // callback to transform name
// initSettingDropdown(settingKey, // Identifier for the setting
// valuesArray, // Array of values to be pre-selected in the dropdown
// targetLocation, // ID of the HTML element where dropdown should be rendered (will be replaced)
// callbackToGenerateEntries, // Callback function to generate entries based on options
// targetField, // Target field or element where selected value should be applied or updated
// nameTransformer) // callback to transform name
initSettingDropdown("NEWDEV_dev_Icon", [], "dropdownIcon_tmp", genListWithInputSet, 'txtIcon', atob )

View File

@@ -124,8 +124,10 @@ function cacheSettings()
settingsData.forEach((set) => {
resolvedOptions = createArray(set.Options)
resolvedOptionsOld = resolvedOptions
setPlugObj = {};
options_params = [];
resolved = ""
// proceed only if first option item contains something to resolve
if( !set.Code_Name.includes("__metadata") &&
@@ -158,7 +160,12 @@ function cacheSettings()
}
}
console.log(resolved);
console.log(resolvedOptionsOld);
console.log(resolvedOptions);
setCache(`pia_set_${set.Code_Name}`, set.Value)
setCache(`pia_set_opt_${set.Code_Name}`, resolvedOptions)
});
}).then(() => handleSuccess('cacheSettings', resolve())).catch(() => handleFailure('cacheSettings', reject("cacheSettings already completed"))); // handle AJAX synchronization
@@ -179,6 +186,7 @@ function getSettingOptions (key) {
if (result == "")
{
console.log(`Setting options with key "${key}" not found`)
result = []
}
return result;
@@ -743,10 +751,14 @@ function isRandomMAC(mac)
// ---------------------------------------------------------
// Generate an array object from a string representation of an array
function createArray(input) {
// Is already array, return
if (Array.isArray(input)) {
return input;
}
// Empty array
if (input === '[]') {
return [];
}
}
// Regex pattern for brackets
const patternBrackets = /(^\s*\[)|(\]\s*$)/g;

View File

@@ -6,6 +6,7 @@
// --------------------------------------------------
// Read data and place intotarget location, callback processies the results
function readData(sqlQuery, processDataCallback, valuesArray, targetLocation, targetField, nameTransformer) {
var apiUrl = `php/server/dbHelper.php?action=read&rawSql=${encodeURIComponent(sqlQuery)}`;
$.get(apiUrl, function(data) {
// Process the JSON data using the provided callback function

View File

@@ -201,6 +201,13 @@
}
}
// -------------------------------------------------------------------
// Utility function to check if the value is already Base64
function isBase64(value) {
const base64Regex = /^(?:[A-Za-z0-9+\/]{4})*?(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$/;
return base64Regex.test(value);
}
// -------------------------------------------------------------------
// Validation
// -------------------------------------------------------------------
@@ -245,35 +252,37 @@ function settingsCollectedCorrectly(settingsArray, settingsJSON_DB) {
// -------------------------------------------------------------------
// ---------------------------------------------------------
// Add item to list
function addList(element, clearInput = true)
{
const fromId = $(element).attr('my-input-from');
const toId = $(element).attr('my-input-to');
const toId = $(element).attr('my-input-to');
const input = $(`#${fromId}`).val();
console.log(`fromId | toId | input : ${fromId} | ${toId} | ${input}`);
const newOption = $("<option class='interactable-option'></option>").attr("value", input).text(input);
input = $(`#${fromId}`).val();
console.log(input);
console.log(toId);
console.log($(`#${toId}`));
$(`#${toId}`).append($("<option ></option>").attr("value", input).text(input));
const el = $(`#${toId}`).append(newOption);
// clear input
if (clearInput)
{
$(`#${fromId}`).val("");
}
// Initialize interaction options only for the newly added option
initListInteractionOptions(newOption);
settingsChanged();
}
// ---------------------------------------------------------
function removeFromList(element)
{
settingsChanged();
$(`#${$(element).attr('my-input')}`).find("option:last").remove();
$(`#${$(element).attr('my-input-to')}`).find("option:last").remove();
}
// ---------------------------------------------------------
@@ -320,7 +329,7 @@ function removeOptionItem(option) {
function removeAllOptions(element)
{
settingsChanged();
$(`#${$(element).attr('my-input')}`).empty();
$(`#${$(element).attr('my-input-to')}`).empty();
}
@@ -331,12 +340,14 @@ function removeAllOptions(element)
let clickCounter = 0;
// Function to initialize list interaction options
function initListInteractionOptions(selectorId) {
// Select all options within the specified selector
const $options = $(`#${selectorId} option`);
// Add class to make options interactable
$options.addClass('interactable-option');
function initListInteractionOptions(element) {
if(element)
{
$options = $(element);
} else
{
$options = $(`.interactable-option`);
}
// Attach click event listener to options
$options.on('click', function() {
@@ -350,8 +361,6 @@ function initListInteractionOptions(selectorId) {
// Perform action based on click count
if (clickCounter === 1) {
// Single-click action
// btoa(iconHtml.replace(/"/g, "'") <-- encode
// atob() <--- decode
showModalFieldInput(
`<i class="fa-regular fa-pen-to-square"></i> ${getString('Gen_Update_Value')}`,
getString('settings_update_item_warning'),
@@ -371,6 +380,7 @@ function initListInteractionOptions(selectorId) {
clickCounter = 0;
}, 300); // Adjust delay as needed
});
}
@@ -490,39 +500,165 @@ function getParam(targetId, key, skipCache = false) {
}
// ---------------------------------------------------------
// generate a list of options for a input select
function generateOptions(pluginsData, set, input, isMultiSelect = false, isValueSource = true)
{
multi = isMultiSelect ? "multiple" : "";
// ---------------------------------------------------------
// generate a list of options for a input select
function generateOptions(pluginsData, set, input, dataType, isMultiSelect = false, editable = false, transformers = []) {
let multi = isMultiSelect ? "multiple" : "";
let valuesArray = createArray(set['Value']);
let settingKey = set['Code_Name'];
// editable ? classNames += " interactable-option" : classNames = ""
// generate different ID depending on if it's the source for the value to be saved or only used as an input
// isValueSource ? id = settingKey : id = settingKey + '_input';
// optionsArray = getSettingOptions(set['Code_Name'] )
valuesArray = createArray(set['Value']);
// create unique ID
var targetLocation = set['Code_Name'] + "_initSettingDropdown";
// execute AJAX callabck + SQL query resolution
initSettingDropdown(set['Code_Name'] , valuesArray, targetLocation, generateDropdownOptions);
// generate different ID depending on if it's the source for the value to be saved or only used as an input
isValueSource ? id = set['Code_Name'] : id = set['Code_Name'] + '_input';
// main selection dropdown wrapper
input += `
<select onChange="settingsChanged()" my-data-type="${dataType}" my-editable="${editable}" class="form-control" name="${settingKey}" id="${settingKey}" ${multi}>
`;
// main selection dropdown wrapper
input += `
<select onChange="settingsChanged()"
my-data-type="${set['Type']}"
class="form-control"
name="${set['Code_Name']}"
id="${id}"
${multi}>
// if available transformers are applied
valuesArray = valuesArray.map(value => applyTransformers(value, transformers));
<option id="${targetLocation}" temporary="temporary"></option>
// get all options
optionsArray = createArray(getSettingOptions(settingKey))
// loop over all options and select the ones selected in the valuesArray (saved by the user)
if(optionsArray.length > 0 )
{
// check if needs to be processed ASYNC
if(isSQLQuery(optionsArray[0]))
{
// create temporary placeholder
targetLocation = settingKey + "_temp_"
input += `<option value="" id="${targetLocation}" ></option>`;
// callback to the DB
readData(optionsArray[0], generateDropdownOptions, valuesArray, targetLocation, settingKey);
} else // sync processing
{
optionsArray.forEach(option => {
let selected = valuesArray.includes(option) ? 'selected' : '';
input += `<option value="${option}" ${selected}>${option}</option>`;
});
}
} else // this is an interactable list with default and user-defined values
{
// generates [1x 📝 | 2x 🚮]
valuesArray.forEach(option => {
input += `<option class="interactable-option" value="${option}">${option}</option>`;
});
}
</select>`;
return input;
input += `</select>`;
// add values from the setting options - execute AJAX callback + SQL query resolution
// initSettingDropdown(settingKey, valuesArray, targetLocation, generateDropdownOptions);
return input;
}
// ------------------------------------------------------------
// Function to apply transformers to a value
function applyTransformers(val, transformers) {
transformers.forEach(transformer => {
switch (transformer) {
case 'sha256':
// Implement sha256 hashing logic
if (!isSHA256(val)) {
val = CryptoJS.SHA256(val).toString(CryptoJS.enc.Hex);
}
break;
case 'base64':
// Implement base64 logic
if (!isBase64(val)) {
val = btoa(val);
}
break;
default:
console.warn(`Unknown transformer: ${transformer}`);
}
});
return val;
}
// ------------------------------------------------------------
// Function to initialize relevant variables based on HTML element
const handleElementOptions = (codeName, elementOptions, transformers, val) => {
let inputType = 'text';
let readOnly = "";
let isMultiSelect = false;
let cssClasses = '';
let placeholder = '';
let suffix = '';
let separator = '';
let editable = false;
let valRes = val;
let sourceIds = [];
let getStringKey = "";
let onClick = "alert('Not implemented');";
elementOptions.forEach(option => {
if (option.prefillValue) {
valRes = option.prefillValue === 'null' ? "" : option.prefillValue;
}
if (option.type) {
inputType = option.type;
}
if (option.readonly === "true") {
readOnly = `readonly`;
}
if (option.multiple === "true") {
isMultiSelect = true;
}
if (option.editable === "true") {
editable = true;
}
if (option.cssClasses) {
cssClasses = option.cssClasses;
}
if (option.placeholder) {
placeholder = option.placeholder;
}
if (option.suffix) {
suffix = option.suffix;
}
if (option.sourceSuffixes) {
$.each(option.sourceSuffixes, function(index, suf) {
sourceIds.push(codeName + suf)
})
}
if (option.separator) {
separator = option.separator;
}
if (option.getStringKey) {
getStringKey = option.getStringKey;
}
if (option.onClick) {
onClick = option.onClick;
}
});
if (transformers.includes('sha256')) {
inputType = 'password';
}
return {
inputType,
readOnly,
isMultiSelect,
cssClasses,
placeholder,
suffix,
sourceIds,
separator,
editable,
valRes,
getStringKey,
onClick
};
};

View File

@@ -79,7 +79,7 @@ function initDeviceSelectors() {
// -----------------------------------------------------------------------------
// Initiate dropdown
// (ASYNC) Initiate dropdown
function initSettingDropdown(settingKey, // Identifier for the setting
valuesArray, // Array of values to be pre-selected in the dropdown
targetLocation, // ID of the HTML element where dropdown should be rendered (will be replaced)
@@ -93,9 +93,15 @@ function initSettingDropdown(settingKey, // Identifier for the setting
// NOTE {value} options to replace with a setting or SQL value are handled in the cacheSettings() function
optionsArray = createArray(getSettingOptions(settingKey))
// check if the result is a SQL query
if(isSQLQuery(optionsArray[0]))
if(optionsArray.length > 0 && isSQLQuery(optionsArray[0]))
{
if (settingKey == "NEWDEV_dev_Network_Node_MAC_ADDR") {
console.log("isSQLQuery in initSettingDropdown");
}
readData(optionsArray[0], callbackToGenerateEntries, valuesArray, targetLocation, targetField, nameTransformer);
} else // this should be already an array, e.g. from a setting or pre-defined
@@ -103,16 +109,18 @@ function initSettingDropdown(settingKey, // Identifier for the setting
optionsArray.forEach(option => {
let selected = valuesArray.includes(option) ? 'selected' : '';
optionsHtml += `<option value="${option}" ${selected}>${option}</option>`;
});
});
// Replace the specified placeholder div with the resulting HTML
setTimeout(() => {
$("#" + targetLocation).replaceWith(optionsHtml);
}, 50);
}, 50);
}
}

View File

@@ -1,5 +1,5 @@
<script src="js/settings_utils.js?v=<?php include 'php/templates/version.php'; ?>"></script>
<div class="col-md-12">
@@ -102,22 +102,31 @@
// Append form groups to the column
for (let j = i * elementsPerColumn; j < Math.min((i + 1) * elementsPerColumn, columns.length); j++) {
let inputType;
const setTypeObject = JSON.parse(columns[j].Type.replace(/'/g, '"'));
// console.log(setTypeObject);
const lastElementObj = setTypeObject.elements[setTypeObject.elements.length - 1]
switch (columns[j].Type) {
case 'integer.checkbox':
case 'checkbox':
inputType = 'checkbox';
break;
case 'text.select':
inputType = 'text.select';
break;
default:
inputType = 'text';
break;
}
if (inputType === 'text.select') {
const { elementType, elementOptions = [], transformers = [] } = lastElementObj;
const {
inputType,
readOnly,
isMultiSelect,
cssClasses,
placeholder,
suffix,
sourceIds,
separator,
editable,
valRes,
getStringKey,
onClick
} = handleElementOptions('none', elementOptions, transformers, val = "");
// console.log(setTypeObject);
// console.log(inputType);
// render based on element type
if (lastElementObj.elementType === 'select') {
targetLocation = columns[j].Code_Name + "_initSettingDropdown"
@@ -147,15 +156,11 @@
}
} else {
} else if (lastElementObj.elementType === 'input'){
// Add classes specifically for checkboxes
if (inputType === 'checkbox') {
inputClass = 'checkbox';
} else {
inputClass = 'form-control';
}
inputType === 'checkbox' ? inputClass = 'checkbox' : inputClass = 'form-control';
input = `<input class="${inputClass}"
id="${columns[j].Code_Name}"

View File

@@ -306,7 +306,7 @@ function saveSettings()
$txt = $txt."# Generated: ".$timestamp." #\n";
$txt = $txt."# #\n";
$txt = $txt."# Config file for the LAN intruder detection app: #\n";
$txt = $txt."# https://github.com/jokob-sk/NetAlertX #\n";
$txt = $txt."# https://github.com/jokob-sk/NetAlertX #\n";
$txt = $txt."# #\n";
$txt = $txt."#-----------------AUTOGENERATED FILE-----------------#\n";
@@ -326,56 +326,68 @@ function saveSettings()
$txt .= "\n#---------------------------\n";
foreach ($decodedSettings as $setting) {
$settingGroup = $setting[0];
$settingKey = $setting[1];
$settingType = $setting[2];
$settingValue = $setting[3];
// sanity check
if($settingKey == "UI_LANG" && $settingValue == "")
{
$settingGroup = $setting[0];
$settingKey = $setting[1];
$dataType = $setting[2];
$settingValue = $setting[3];
// // Parse the settingType JSON
// $settingType = json_decode($settingTypeJson, true);
// Sanity check
if($settingKey == "UI_LANG" && $settingValue == "") {
echo "🔴 Error: important settings missing. Refresh the page with 🔃 on the top and try again.";
return;
}
}
if ($group == $settingGroup) {
if ($dataType == 'string' ) {
$val = encode_single_quotes($settingValue);
$txt .= $settingKey . "='" . $val . "'\n";
} elseif ($dataType == 'integer') {
$txt .= $settingKey . "=" . $settingValue . "\n";
} elseif ($dataType == 'json') {
$txt .= $settingKey . "=" . $settingValue . "\n";
} elseif ($dataType == 'boolean') {
$val = ($settingValue === true || $settingValue === 1 || strtolower($settingValue) === 'true') ? "True" : "False";
$txt .= $settingKey . "=" . $val . "\n";
} elseif ($dataType == 'array' ) {
$temp = '';
if(is_array($settingValue) == FALSE)
{
$settingValue = json_decode($settingValue);
}
// skipping __metadata entries (?)
if (count($setting) > 3 && is_array($settingValue) == true) {
foreach ($settingValue as $val) {
$temp .= "'" . encode_single_quotes($val) . "',";
}
if ($group == $settingGroup) {
if ($settingType == 'text' || $settingType == 'password' || $settingType == 'password.SHA256' || $settingType == 'readonly' || $settingType == 'text.select') {
$val = encode_single_quotes($settingValue);
$txt .= $settingKey . "='" . $val . "'\n";
} elseif ($settingType == 'integer' || $settingType == 'integer.select') {
$txt .= $settingKey . "=" . $settingValue . "\n";
} elseif ($settingType == 'boolean' || $settingType == 'integer.checkbox') {
$temp = substr_replace($temp, "", -1); // remove last comma ','
}
if ($settingValue === true || $settingValue === 1 || strtolower($settingValue) === 'true') {
$val = "True";
} else {
$val = "False";
}
$txt .= $settingKey . "=" . $val . "\n";
} elseif ($settingType == 'text.multiselect' || $settingType == 'subnets' || $settingType == 'list' || $settingType == 'list.select' || $settingType == 'list.base64') {
$temp = '';
if(is_array($settingValue) == FALSE)
{
$settingValue = json_decode($settingValue);
}
if (count($setting) > 3 && is_array($settingValue) == true) {
foreach ($settingValue as $val) {
$temp .= "'" . encode_single_quotes($val) . "',";
}
$temp = substr_replace($temp, "", -1); // remove last comma ','
}
$temp = '['.$temp.']'; // wrap brackets
$txt .= $settingKey . "=" . $temp . "\n";
} elseif ($settingType == 'json') {
$txt .= $settingKey . "=" . $settingValue . "\n";
}
}
}
$temp = '['.$temp.']'; // wrap brackets
$txt .= $settingKey . "=" . $temp . "\n";
// $temp = '';
// if (is_array($settingValue) == FALSE) {
// $settingValue = json_decode($settingValue);
// }
// if (count($setting) > 3 && is_array($settingValue) == true) {
// foreach ($settingValue as $val) {
// $temp .= "'" . encode_single_quotes($val) . "',";
// }
// $temp = substr_replace($temp, "", -1); // remove last comma ','
// }
// $temp = '[' . $temp . ']'; // wrap brackets
// $txt .= $settingKey . "=" . $temp . "\n";
} else {
$txt .= $settingKey . "='⭕Not handled⭕'\n";
}
}
}
}

View File

@@ -39,7 +39,7 @@
{
"function": "RUN",
"events": ["run"],
"type": "text.select",
"type": {"dataType":"string", "elements": [{"elementType" : "select", "elementOptions" : [] ,"transformers": []}]},
"default_value": "disabled",
"options": [
@@ -66,7 +66,7 @@
},
{
"function": "RUN_SCHD",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "*/5 * * * *",
"options": [],
"localized": ["name", "description"],
@@ -85,7 +85,7 @@
},
{
"function": "text_example",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"maxLength": 50,
"default_value": "",
"options": [],
@@ -105,7 +105,7 @@
},
{
"function": "boolean_example",
"type": "boolean",
"type": {"dataType":"boolean", "elements": [{"elementType" : "input", "elementOptions" : [{"type":"checkbox"}] ,"transformers": []}]},
"default_value": false,
"options": [],
"localized": ["name", "description"],
@@ -124,7 +124,7 @@
},
{
"function": "list_example",
"type": "list",
"type": {"dataType": "array","elements": [ {"elementType": "input","elementOptions": [{ "placeholder": "Enter value" },{ "suffix": "_in" },{ "cssClasses": "col-sm-10" },{ "prefillValue": "null" }],"transformers": [] }, {"elementType": "button","elementOptions": [{ "sourceSuffixes": ["_in"] },{ "separator": "" },{ "cssClasses": "col-sm-12" },{ "onClick": "addList(this, false)" },{ "getStringKey": "Gen_Add" }],"transformers": [] }, {"elementType": "button","elementOptions": [{ "sourceSuffixes": [] },{ "separator": "" },{ "cssClasses": "col-sm-6" },{ "onClick": "removeAllOptions(this)" },{ "getStringKey": "Gen_Remove_All" }],"transformers": []},{"elementType": "button","elementOptions": [{ "sourceSuffixes": [] },{ "separator": "" },{ "cssClasses": "col-sm-6" },{ "onClick": "removeFromList(this)" },{ "getStringKey": "Gen_Remove_Last" }],"transformers": []}, {"elementType": "select","elementOptions": [{ "multiple": "true" },{ "readonly": "true" },{ "editable": "true" }],"transformers": [] }]},
"default_value": ["existing_entry_1", "existing_entry_2"],
"options": [],
"localized": ["name", "description"],
@@ -143,7 +143,7 @@
},
{
"function": "multiselect_example_from_setting",
"type": "text.multiselect",
"type": {"dataType":"array", "element": "select", "elementOptions" : ["multiple"] ,"transformers": []},
"maxLength": 50,
"default_value": [],
"options": ["{value}"],
@@ -170,7 +170,7 @@
},
{
"function": "CMD",
"type": "readonly",
"type": {"dataType":"string", "element": "input", "elementOptions" : ["readonly"] ,"transformers": []},
"default_value": "python3 /app/front/plugins/<plugin folder>/rename_me.py",
"options": [],
"localized": ["name", "description"],
@@ -189,7 +189,7 @@
},
{
"function": "RUN_TIMEOUT",
"type": "integer",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type": "number"}] ,"transformers": []}]},
"default_value": 30,
"options": [],
"localized": ["name", "description"],

View File

@@ -288,7 +288,7 @@
{
"function": "RUN",
"events": ["test"],
"type": "text.select",
"type": {"dataType":"string", "elements": [{"elementType" : "select", "elementOptions" : [] ,"transformers": []}]},
"default_value": "disabled",
"options": ["disabled", "on_notification"],
"localized": ["name", "description"],
@@ -315,7 +315,7 @@
},
{
"function": "CMD",
"type": "readonly",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{"readonly": "true"}] ,"transformers": []}]},
"default_value": "python3 /app/front/plugins/_publisher_apprise/apprise.py",
"options": [],
"localized": ["name", "description"],
@@ -342,7 +342,7 @@
},
{
"function": "RUN_TIMEOUT",
"type": "integer",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type": "number"}] ,"transformers": []}]},
"default_value": 10,
"options": [],
"localized": ["name", "description"],
@@ -373,7 +373,7 @@
},
{
"function": "HOST",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "",
"options": [],
"localized": ["name", "description"],
@@ -400,7 +400,7 @@
},
{
"function": "URL",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "",
"options": [],
"localized": ["name", "description"],
@@ -427,7 +427,7 @@
},
{
"function": "PAYLOAD",
"type": "text.select",
"type": {"dataType":"string", "elements": [{"elementType" : "select", "elementOptions" : [] ,"transformers": []}]},
"default_value": "html",
"options": ["html", "text"],
"localized": ["name", "description"],
@@ -454,7 +454,7 @@
},
{
"function": "SIZE",
"type": "integer",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type": "number"}] ,"transformers": []}]},
"default_value": 1024,
"options": [],
"localized": ["name", "description"],

View File

@@ -288,7 +288,7 @@
{
"function": "RUN",
"events": ["test"],
"type": "text.select",
"type": {"dataType":"string", "elements": [{"elementType" : "select", "elementOptions" : [] ,"transformers": []}]},
"default_value": "disabled",
"options": ["disabled", "on_notification"],
"localized": ["name", "description"],
@@ -315,7 +315,7 @@
},
{
"function": "CMD",
"type": "readonly",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{"readonly": "true"}] ,"transformers": []}]},
"default_value": "python3 /app/front/plugins/_publisher_email/email_smtp.py",
"options": [],
"localized": ["name", "description"],
@@ -342,7 +342,7 @@
},
{
"function": "RUN_TIMEOUT",
"type": "integer",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type": "number"}] ,"transformers": []}]},
"default_value": 20,
"options": [],
"localized": ["name", "description"],
@@ -373,7 +373,7 @@
},
{
"function": "SERVER",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "",
"options": [],
"localized": ["name", "description"],
@@ -400,7 +400,7 @@
},
{
"function": "PORT",
"type": "integer",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type": "number"}] ,"transformers": []}]},
"default_value": 587,
"options": [],
"localized": ["name", "description"],
@@ -427,7 +427,7 @@
},
{
"function": "SKIP_LOGIN",
"type": "boolean",
"type": {"dataType":"boolean", "elements": [{"elementType" : "input", "elementOptions" : [{"type":"checkbox"}] ,"transformers": []}]},
"default_value": false,
"options": [],
"localized": ["name", "description"],
@@ -454,7 +454,7 @@
},
{
"function": "USER",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "",
"options": [],
"localized": ["name", "description"],
@@ -481,7 +481,7 @@
},
{
"function": "PASS",
"type": "password",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{"type":"password"}] ,"transformers": []}]},
"default_value": "",
"options": [],
"localized": ["name", "description"],
@@ -508,7 +508,7 @@
},
{
"function": "SKIP_TLS",
"type": "boolean",
"type": {"dataType":"boolean", "elements": [{"elementType" : "input", "elementOptions" : [{"type":"checkbox"}] ,"transformers": []}]},
"default_value": false,
"options": [],
"localized": ["name", "description"],
@@ -535,7 +535,7 @@
},
{
"function": "FORCE_SSL",
"type": "boolean",
"type": {"dataType":"boolean", "elements": [{"elementType" : "input", "elementOptions" : [{"type":"checkbox"}] ,"transformers": []}]},
"default_value": false,
"options": [],
"localized": ["name", "description"],
@@ -562,7 +562,7 @@
},
{
"function": "REPORT_TO",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "user@gmail.com",
"options": [],
"localized": ["name", "description"],
@@ -589,7 +589,7 @@
},
{
"function": "REPORT_FROM",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "NetAlertX <user@gmail.com>",
"options": [],
"localized": ["name", "description"],

View File

@@ -56,6 +56,19 @@ def main():
# Retrieve new notifications
new_notifications = notifications.getNew()
# mylog('verbose', [f'[{pluginName}] new_notifications: ', new_notifications])
# mylog('verbose', [f'[{pluginName}] SMTP_SERVER: ', get_setting_value("SMTP_SERVER")])
# mylog('verbose', [f'[{pluginName}] SMTP_PORT: ', get_setting_value("SMTP_PORT")])
# mylog('verbose', [f'[{pluginName}] SMTP_SKIP_LOGIN: ', get_setting_value("SMTP_SKIP_LOGIN")])
# mylog('verbose', [f'[{pluginName}] SMTP_USER: ', get_setting_value("SMTP_USER")])
# mylog('verbose', [f'[{pluginName}] SMTP_PASS: ', get_setting_value("SMTP_PASS")])
# mylog('verbose', [f'[{pluginName}] SMTP_SKIP_TLS: ', get_setting_value("SMTP_SKIP_TLS")])
# mylog('verbose', [f'[{pluginName}] SMTP_FORCE_SSL: ', get_setting_value("SMTP_FORCE_SSL")])
# mylog('verbose', [f'[{pluginName}] SMTP_REPORT_TO: ', get_setting_value("SMTP_REPORT_TO")])
# mylog('verbose', [f'[{pluginName}] SMTP_REPORT_FROM: ', get_setting_value("SMTP_REPORT_FROM")])
# Process the new notifications (see the Notifications DB table for structure or check the /api/table_notifications.json endpoint)
for notification in new_notifications:

View File

@@ -278,7 +278,7 @@
{
"function": "RUN",
"events": ["test"],
"type": "text.select",
"type": {"dataType":"string", "elements": [{"elementType" : "select", "elementOptions" : [] ,"transformers": []}]},
"default_value": "disabled",
"options": [
"disabled",
@@ -312,7 +312,7 @@
},
{
"function": "CMD",
"type": "readonly",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{"readonly": "true"}] ,"transformers": []}]},
"default_value": "python3 /app/front/plugins/_publisher_mqtt/mqtt.py devices={devices}",
"options": [],
"localized": ["name", "description"],
@@ -339,7 +339,7 @@
},
{
"function": "RUN_SCHD",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "0 2 * * 3",
"options": [],
"localized": ["name", "description"],
@@ -374,7 +374,7 @@
},
{
"function": "RUN_TIMEOUT",
"type": "integer",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type": "number"}] ,"transformers": []}]},
"default_value": 20,
"options": [],
"localized": ["name", "description"],
@@ -405,7 +405,7 @@
},
{
"function": "BROKER",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "",
"options": [],
"localized": ["name", "description"],
@@ -432,7 +432,7 @@
},
{
"function": "PORT",
"type": "integer",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type": "number"}] ,"transformers": []}]},
"default_value": 1883,
"options": [],
"localized": ["name", "description"],
@@ -459,7 +459,7 @@
},
{
"function": "USER",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "",
"options": [],
"localized": ["name", "description"],
@@ -486,7 +486,7 @@
},
{
"function": "PASSWORD",
"type": "password",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{"type":"password"}] ,"transformers": []}]},
"default_value": "",
"options": [],
"localized": ["name", "description"],
@@ -513,7 +513,7 @@
},
{
"function": "SEND_STATS",
"type": "boolean",
"type": {"dataType":"boolean", "elements": [{"elementType" : "input", "elementOptions" : [{"type":"checkbox"}] ,"transformers": []}]},
"default_value": true,
"options": [],
"localized": ["name", "description"],
@@ -532,7 +532,7 @@
},
{
"function": "DEVICE_ID",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "netalertx",
"options": [],
"localized": ["name", "description"],
@@ -551,7 +551,7 @@
},
{
"function": "DEVICE_NAME",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "NetAlertX",
"options": [],
"localized": ["name", "description"],
@@ -570,7 +570,7 @@
},
{
"function": "SEND_DEVICES",
"type": "boolean",
"type": {"dataType":"boolean", "elements": [{"elementType" : "input", "elementOptions" : [{"type":"checkbox"}] ,"transformers": []}]},
"default_value": true,
"options": [],
"localized": ["name", "description"],
@@ -589,7 +589,7 @@
},
{
"function": "QOS",
"type": "integer.select",
"type": {"dataType":"integer", "elements": [{"elementType" : "select", "elementOptions" : [] ,"transformers": []}]},
"default_value": 0,
"options": [0, 1, 2],
"localized": ["name", "description"],
@@ -616,7 +616,7 @@
},
{
"function": "VERSION",
"type": "integer.select",
"type": {"dataType":"integer", "elements": [{"elementType" : "select", "elementOptions" : [] ,"transformers": []}]},
"default_value": 1,
"options": [1, 2],
"localized": ["name", "description"],
@@ -635,7 +635,7 @@
},
{
"function": "DELAY_SEC",
"type": "integer",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type": "number"}] ,"transformers": []}]},
"default_value": 2,
"options": [2, 3, 4, 5],
"localized": ["name", "description"],

View File

@@ -242,7 +242,7 @@
{
"function": "RUN",
"events": ["test"],
"type": "text.select",
"type": {"dataType":"string", "elements": [{"elementType" : "select", "elementOptions" : [] ,"transformers": []}]},
"default_value": "disabled",
"options": ["disabled", "on_notification"],
"localized": ["name", "description"],
@@ -269,7 +269,7 @@
},
{
"function": "CMD",
"type": "readonly",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{"readonly": "true"}] ,"transformers": []}]},
"default_value": "python3 /app/front/plugins/_publisher_ntfy/ntfy.py",
"options": [],
"localized": ["name", "description"],
@@ -296,7 +296,7 @@
},
{
"function": "RUN_TIMEOUT",
"type": "integer",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type": "number"}] ,"transformers": []}]},
"default_value": 10,
"options": [],
"localized": ["name", "description"],
@@ -327,7 +327,7 @@
},
{
"function": "HOST",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "https://ntfy.sh",
"options": [],
"localized": ["name", "description"],
@@ -354,7 +354,7 @@
},
{
"function": "TOPIC",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "",
"options": [],
"localized": ["name", "description"],
@@ -381,7 +381,7 @@
},
{
"function": "USER",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "",
"options": [],
"localized": ["name", "description"],
@@ -408,7 +408,7 @@
},
{
"function": "PASSWORD",
"type": "password",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{"type":"password"}] ,"transformers": []}]},
"default_value": "",
"options": [],
"localized": ["name", "description"],
@@ -435,7 +435,7 @@
},
{
"function": "PRIORITY",
"type": "text.select",
"type": {"dataType":"string", "elements": [{"elementType" : "select", "elementOptions" : [] ,"transformers": []}]},
"default_value": "urgent",
"options": ["urgent", "high", "default", "low", "min"],
"localized": ["name", "description"],

View File

@@ -242,7 +242,7 @@
{
"function": "RUN",
"events": ["test"],
"type": "text.select",
"type": {"dataType":"string", "elements": [{"elementType" : "select", "elementOptions" : [] ,"transformers": []}]},
"default_value": "disabled",
"options": ["disabled", "on_notification"],
"localized": ["name", "description"],
@@ -269,7 +269,7 @@
},
{
"function": "CMD",
"type": "readonly",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{"readonly": "true"}] ,"transformers": []}]},
"default_value": "python3 /app/front/plugins/_publisher_pushover/pushover.py",
"options": [],
"localized": ["name", "description"],
@@ -296,7 +296,7 @@
},
{
"function": "RUN_TIMEOUT",
"type": "integer",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type": "number"}] ,"transformers": []}]},
"default_value": 10,
"options": [],
"localized": ["name", "description"],
@@ -323,7 +323,7 @@
},
{
"function": "USER_KEY",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "USER_KEY",
"options": [],
"localized": ["name", "description"],
@@ -342,7 +342,7 @@
},
{
"function": "APP_TOKEN",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "APP_TOKEN",
"options": [],
"localized": ["name", "description"],
@@ -361,7 +361,7 @@
},
{
"function": "DEVICE_NAME",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "DEVICE_NAME",
"options": [],
"localized": ["name", "description"],

View File

@@ -242,7 +242,7 @@
{
"function": "RUN",
"events": ["test"],
"type": "text.select",
"type": {"dataType":"string", "elements": [{"elementType" : "select", "elementOptions" : [] ,"transformers": []}]},
"default_value": "disabled",
"options": ["disabled", "on_notification"],
"localized": ["name", "description"],
@@ -269,7 +269,7 @@
},
{
"function": "CMD",
"type": "readonly",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{"readonly": "true"}] ,"transformers": []}]},
"default_value": "python3 /app/front/plugins/_publisher_pushsafer/pushsafer.py",
"options": [],
"localized": ["name", "description"],
@@ -296,7 +296,7 @@
},
{
"function": "RUN_TIMEOUT",
"type": "integer",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type": "number"}] ,"transformers": []}]},
"default_value": 10,
"options": [],
"localized": ["name", "description"],
@@ -327,7 +327,7 @@
},
{
"function": "TOKEN",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "ApiKey",
"options": [],
"localized": ["name", "description"],

View File

@@ -242,7 +242,7 @@
{
"function": "RUN",
"events": ["test"],
"type": "text.select",
"type": {"dataType":"string", "elements": [{"elementType" : "select", "elementOptions" : [] ,"transformers": []}]},
"default_value": "disabled",
"options": ["disabled", "on_notification"],
"localized": ["name", "description"],
@@ -269,7 +269,7 @@
},
{
"function": "CMD",
"type": "readonly",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{"readonly": "true"}] ,"transformers": []}]},
"default_value": "python3 /app/front/plugins/_publisher_webhook/webhook.py",
"options": [],
"localized": ["name", "description"],
@@ -296,7 +296,7 @@
},
{
"function": "RUN_TIMEOUT",
"type": "integer",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type": "number"}] ,"transformers": []}]},
"default_value": 10,
"options": [],
"localized": ["name", "description"],
@@ -327,7 +327,7 @@
},
{
"function": "URL",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "",
"options": [],
"localized": ["name", "description"],
@@ -354,7 +354,7 @@
},
{
"function": "PAYLOAD",
"type": "text.select",
"type": {"dataType":"string", "elements": [{"elementType" : "select", "elementOptions" : [] ,"transformers": []}]},
"default_value": "json",
"options": ["json", "html", "text"],
"localized": ["name", "description"],
@@ -381,7 +381,7 @@
},
{
"function": "REQUEST_METHOD",
"type": "text.select",
"type": {"dataType":"string", "elements": [{"elementType" : "select", "elementOptions" : [] ,"transformers": []}]},
"default_value": "GET",
"options": ["GET", "POST", "PUT"],
"localized": ["name", "description"],
@@ -408,7 +408,7 @@
},
{
"function": "SIZE",
"type": "integer",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type": "number"}] ,"transformers": []}]},
"default_value": 1024,
"options": [],
"localized": ["name", "description"],
@@ -435,7 +435,7 @@
},
{
"function": "SECRET",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "",
"options": [],
"localized": ["name", "description"],

View File

@@ -69,7 +69,7 @@
"settings": [
{
"function": "RUN",
"type": "text.select",
"type": {"dataType":"string", "elements": [{"elementType" : "select", "elementOptions" : [] ,"transformers": []}]},
"default_value": "disabled",
"options": [
"disabled",
@@ -111,7 +111,7 @@
},
{
"function": "CMD",
"type": "readonly",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{"readonly": "true"}] ,"transformers": []}]},
"default_value": "python3 /app/front/plugins/arp_scan/script.py userSubnets={subnets}",
"options": [],
"localized": ["name", "description"],
@@ -146,7 +146,7 @@
},
{
"function": "RUN_TIMEOUT",
"type": "integer",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type": "number"}] ,"transformers": []}]},
"default_value": 300,
"options": [],
"localized": ["name", "description"],
@@ -181,7 +181,7 @@
},
{
"function": "RUN_SCHD",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "*/5 * * * *",
"options": [],
"localized": ["name", "description"],
@@ -216,7 +216,7 @@
},
{
"function": "WATCH",
"type": "text.multiselect",
"type": {"dataType":"array", "elements": [{"elementType" : "select", "elementOptions" : [{"multiple":"true"}] ,"transformers": []}]},
"default_value": ["Watched_Value1", "Watched_Value2"],
"options": [
"Watched_Value1",
@@ -256,7 +256,7 @@
},
{
"function": "REPORT_ON",
"type": "text.multiselect",
"type": {"dataType":"array", "elements": [{"elementType" : "select", "elementOptions" : [{"multiple":"true"}] ,"transformers": []}]},
"default_value": ["new"],
"options": [
"new",
@@ -296,7 +296,7 @@
},
{
"function": "ARGS",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "sudo arp-scan --ignoredups --retry=6",
"options": [],
"localized": ["name", "description"],

View File

@@ -58,7 +58,7 @@
{
"function": "RUN",
"events": ["run"],
"type": "text.select",
"type": {"dataType":"string", "elements": [{"elementType" : "select", "elementOptions" : [] ,"transformers": []}]},
"default_value": "schedule",
"options": [
"disabled",
@@ -99,7 +99,7 @@
},
{
"function": "CMD",
"type": "readonly",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{"readonly": "true"}] ,"transformers": []}]},
"default_value": "python3 /app/front/plugins/csv_backup/script.py overwrite={overwrite} location={location}",
"options": [],
"localized": ["name", "description"],
@@ -134,7 +134,7 @@
},
{
"function": "RUN_SCHD",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "0 2 * * 3",
"options": [],
"localized": ["name", "description"],
@@ -169,7 +169,7 @@
},
{
"function": "RUN_TIMEOUT",
"type": "integer",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type": "number"}] ,"transformers": []}]},
"default_value": 30,
"options": [],
"localized": ["name", "description"],
@@ -204,7 +204,7 @@
},
{
"function": "overwrite",
"type": "boolean",
"type": {"dataType":"boolean", "elements": [{"elementType" : "input", "elementOptions" : [{"type":"checkbox"}] ,"transformers": []}]},
"default_value": false,
"options": [],
"localized": ["name", "description"],
@@ -239,7 +239,7 @@
},
{
"function": "location",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "/app/config",
"options": [],
"localized": ["name", "description"],

View File

@@ -47,7 +47,7 @@
{
"function": "RUN",
"events": ["run"],
"type": "text.select",
"type": {"dataType":"string", "elements": [{"elementType" : "select", "elementOptions" : [] ,"transformers": []}]},
"default_value": "schedule",
"options": ["disabled", "once", "schedule", "always_after_scan"],
"localized": ["name", "description"],
@@ -74,7 +74,7 @@
},
{
"function": "CMD",
"type": "readonly",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{"readonly": "true"}] ,"transformers": []}]},
"default_value": "python3 /app/front/plugins/db_cleanup/script.py pluginskeephistory={pluginskeephistory} hourstokeepnewdevice={hourstokeepnewdevice} daystokeepevents={daystokeepevents} pholuskeepdays={pholuskeepdays}",
"options": [],
"localized": ["name", "description"],
@@ -109,7 +109,7 @@
},
{
"function": "RUN_SCHD",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "*/30 * * * *",
"options": [],
"localized": ["name", "description"],
@@ -144,7 +144,7 @@
},
{
"function": "RUN_TIMEOUT",
"type": "integer",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type": "number"}] ,"transformers": []}]},
"default_value": 30,
"options": [],
"localized": ["name", "description"],
@@ -179,7 +179,7 @@
},
{
"function": "NOTIFI_HIST",
"type": "integer",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type": "number"}] ,"transformers": []}]},
"default_value": 100,
"options": [],
"localized": ["name", "description"],

View File

@@ -76,7 +76,7 @@
{
"function": "RUN",
"events": ["run"],
"type": "text.select",
"type": {"dataType":"string", "elements": [{"elementType" : "select", "elementOptions" : [] ,"transformers": []}]},
"default_value": "disabled",
"options": ["disabled", "once", "schedule", "always_after_scan"],
"localized": ["name", "description"],
@@ -107,7 +107,7 @@
},
{
"function": "CMD",
"type": "readonly",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{"readonly": "true"}] ,"transformers": []}]},
"default_value": "python3 /app/front/plugins/ddns_update/script.py prev_ip={prev_ip} DDNS_UPDATE_URL={DDNS_UPDATE_URL} DDNS_USER={DDNS_USER} DDNS_PASSWORD={DDNS_PASSWORD} DDNS_DOMAIN={DDNS_DOMAIN} ",
"options": [],
"localized": ["name", "description"],
@@ -142,7 +142,7 @@
},
{
"function": "RUN_SCHD",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "*/5 * * * *",
"options": [],
"localized": ["name", "description"],
@@ -177,7 +177,7 @@
},
{
"function": "RUN_TIMEOUT",
"type": "integer",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type": "number"}] ,"transformers": []}]},
"default_value": 30,
"options": [],
"localized": ["name", "description"],
@@ -212,7 +212,7 @@
},
{
"function": "DOMAIN",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "your_domain.freeddns.org",
"options": [],
"localized": ["name", "description"],
@@ -247,7 +247,7 @@
},
{
"function": "USER",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "dynu_user",
"options": [],
"localized": ["name", "description"],
@@ -282,7 +282,7 @@
},
{
"function": "PASSWORD",
"type": "password",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{"type":"password"}] ,"transformers": []}]},
"default_value": "A0000000B0000000C0000000D0000000",
"options": [],
"localized": ["name", "description"],
@@ -317,7 +317,7 @@
},
{
"function": "UPDATE_URL",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "https://api.dynu.com/nic/update?",
"options": [],
"localized": ["name", "description"],
@@ -352,7 +352,7 @@
},
{
"function": "WATCH",
"type": "text.multiselect",
"type": {"dataType":"array", "elements": [{"elementType" : "select", "elementOptions" : [{"multiple":"true"}] ,"transformers": []}]},
"default_value": ["Watched_Value1"],
"options": [
"Watched_Value1",
@@ -388,7 +388,7 @@
},
{
"function": "REPORT_ON",
"type": "text.multiselect",
"type": {"dataType":"array", "elements": [{"elementType" : "select", "elementOptions" : [{"multiple":"true"}] ,"transformers": []}]},
"default_value": ["new", "watched-changed"],
"options": [
"new",

View File

@@ -414,7 +414,12 @@
{
"function": "RUN",
"events": ["run"],
"type": "text.select",
"type": {
"dataType": "string",
"elements": [
{ "elementType": "select", "elementOptions": [], "transformers": [] }
]
},
"default_value": "disabled",
"options": [
"disabled",
@@ -455,7 +460,12 @@
},
{
"function": "CMD",
"type": "text",
"type": {
"dataType": "string",
"elements": [
{ "elementType": "input", "elementOptions": [], "transformers": [] }
]
},
"default_value": "python3 /app/front/plugins/dhcp_leases/script.py paths={paths}",
"options": [],
"localized": ["name", "description"],
@@ -490,7 +500,63 @@
},
{
"function": "paths_to_check",
"type": "list",
"type": {
"dataType": "array",
"elements": [
{
"elementType": "input",
"elementOptions": [
{ "placeholder": "Enter value" },
{ "suffix": "_in" },
{ "cssClasses": "col-sm-10" },
{ "prefillValue": "null" }
],
"transformers": []
},
{
"elementType": "button",
"elementOptions": [
{ "sourceSuffixes": [] },
{ "separator": "" },
{ "cssClasses": "col-sm-3" },
{ "onClick": "removeAllOptions(this)" },
{ "getStringKey": "Gen_Remove_All" }
],
"transformers": []
},
{
"elementType": "button",
"elementOptions": [
{ "sourceSuffixes": [] },
{ "separator": "" },
{ "cssClasses": "col-sm-3" },
{ "onClick": "removeFromList(this)" },
{ "getStringKey": "Gen_Remove_Last" }
],
"transformers": []
},
{
"elementType": "button",
"elementOptions": [
{ "sourceSuffixes": ["_in"] },
{ "separator": "" },
{ "cssClasses": "col-sm-2" },
{ "onClick": "addList(this, false)" },
{ "getStringKey": "Gen_Add" }
],
"transformers": []
},
{
"elementType": "select",
"elementOptions": [
{ "multiple": "true" },
{ "readonly": "true" },
{ "editable": "true" }
],
"transformers": []
}
]
},
"default_value": ["/mnt/dhcp1.leases", "/mnt/dhcp2.leases"],
"options": [],
"localized": ["name", "description"],
@@ -525,7 +591,12 @@
},
{
"function": "RUN_SCHD",
"type": "text",
"type": {
"dataType": "string",
"elements": [
{ "elementType": "input", "elementOptions": [], "transformers": [] }
]
},
"default_value": "0 2 * * *",
"options": [],
"localized": ["name", "description"],
@@ -560,7 +631,16 @@
},
{
"function": "RUN_TIMEOUT",
"type": "integer",
"type": {
"dataType": "integer",
"elements": [
{
"elementType": "input",
"elementOptions": [{ "type": "number" }],
"transformers": []
}
]
},
"default_value": 5,
"options": [],
"localized": ["name", "description"],
@@ -595,7 +675,16 @@
},
{
"function": "WATCH",
"type": "text.multiselect",
"type": {
"dataType": "array",
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true" }],
"transformers": []
}
]
},
"default_value": ["Watched_Value1", "Watched_Value4"],
"options": [
"Watched_Value1",
@@ -635,7 +724,16 @@
},
{
"function": "REPORT_ON",
"type": "text.multiselect",
"type": {
"dataType": "array",
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true" }],
"transformers": []
}
]
},
"default_value": ["new", "watched-changed"],
"options": [
"new",

View File

@@ -307,7 +307,7 @@
{
"function": "RUN",
"events": ["run"],
"type": "text.select",
"type": {"dataType":"string", "elements": [{"elementType" : "select", "elementOptions" : [] ,"transformers": []}]},
"default_value": "disabled",
"options": [
"disabled",
@@ -340,7 +340,7 @@
},
{
"function": "CMD",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "python3 /app/front/plugins/dhcp_servers/script.py",
"options": [],
"localized": ["name", "description"],
@@ -367,7 +367,7 @@
},
{
"function": "RUN_SCHD",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "0 2 * * *",
"options": [],
"localized": ["name", "description"],
@@ -394,7 +394,7 @@
},
{
"function": "RUN_TIMEOUT",
"type": "integer",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type": "number"}] ,"transformers": []}]},
"default_value": 10,
"options": [],
"localized": ["name", "description"],
@@ -425,7 +425,7 @@
},
{
"function": "WATCH",
"type": "text.multiselect",
"type": {"dataType":"array", "elements": [{"elementType" : "select", "elementOptions" : [{"multiple":"true"}] ,"transformers": []}]},
"default_value": ["Watched_Value1"],
"options": [
"Watched_Value1",
@@ -457,7 +457,7 @@
},
{
"function": "REPORT_ON",
"type": "text.multiselect",
"type": {"dataType":"array", "elements": [{"elementType" : "select", "elementOptions" : [{"multiple":"true"}] ,"transformers": []}]},
"default_value": ["new", "watched-changed"],
"options": ["new", "watched-changed", "watched-not-changed"],
"localized": ["name", "description"],

View File

@@ -153,7 +153,7 @@
"string": "Device ID Parameter"
}
],
"type": "string",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "1",
"localized": ["name"]
},
@@ -164,7 +164,7 @@
"string": "Event Type Parameter"
}
],
"type": "string",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "device_down",
"localized": ["name"]
},
@@ -175,7 +175,7 @@
"string": "Repetition Count Parameter"
}
],
"type": "integer",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type": "number"}] ,"transformers": []}]},
"default_value": 3,
"localized": ["name"]
}
@@ -216,7 +216,7 @@
},
{
"function": "CMD",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "UPDATE Devices SET dev_AlertDeviceDown = {KNWN_dev_AlertDeviceDown}, dev_AlertEvents = {KNWN_dev_AlertEvents} WHERE dev_MAC in ({target_macs})",
"options": [],
"localized": ["name", "description"],
@@ -235,7 +235,7 @@
},
{
"function": "dev_Name",
"type": "readonly",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{"readonly": "true"}] ,"transformers": []}]},
"maxLength": 50,
"default_value": "(unknown)",
"options": [],
@@ -255,7 +255,7 @@
},
{
"function": "dev_Owner",
"type": "string",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"maxLength": 30,
"default_value": "House",
"override_value": {
@@ -278,7 +278,7 @@
},
{
"function": "dev_DeviceType",
"type": "string",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"maxLength": 30,
"default_value": "",
"options": [],
@@ -298,7 +298,7 @@
},
{
"function": "dev_Vendor",
"type": "readonly",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{"readonly": "true"}] ,"transformers": []}]},
"maxLength": 250,
"default_value": "",
"options": [],
@@ -318,7 +318,7 @@
},
{
"function": "dev_Favorite",
"type": "integer.checkbox",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type":"checkbox"}] ,"transformers": []}]},
"default_value": 0,
"override_value": {
"override": false
@@ -340,7 +340,7 @@
},
{
"function": "dev_Group",
"type": "string",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"maxLength": 10,
"default_value": "",
"override_value": {
@@ -363,7 +363,7 @@
},
{
"function": "dev_Comments",
"type": "string",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "",
"options": [],
"localized": ["name", "description"],
@@ -382,7 +382,7 @@
},
{
"function": "dev_FirstConnection",
"type": "readonly",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{"readonly": "true"}] ,"transformers": []}]},
"format": "date-time",
"default_value": "",
"options": [],
@@ -402,7 +402,7 @@
},
{
"function": "dev_LastConnection",
"type": "readonly",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{"readonly": "true"}] ,"transformers": []}]},
"format": "date-time",
"default_value": "",
"options": [],
@@ -422,7 +422,7 @@
},
{
"function": "dev_LastIP",
"type": "readonly",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{"readonly": "true"}] ,"transformers": []}]},
"maxLength": 50,
"default_value": "",
"options": [],
@@ -442,7 +442,7 @@
},
{
"function": "dev_StaticIP",
"type": "integer.checkbox",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type":"checkbox"}] ,"transformers": []}]},
"default_value": 1,
"override_value": {
"override": true
@@ -464,7 +464,7 @@
},
{
"function": "dev_ScanCycle",
"type": "integer.checkbox",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type":"checkbox"}] ,"transformers": []}]},
"default_value": 1,
"override_value": {
"override": true
@@ -486,7 +486,7 @@
},
{
"function": "dev_LogEvents",
"type": "integer.checkbox",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type":"checkbox"}] ,"transformers": []}]},
"default_value": 0,
"override_value": {
"override": false
@@ -508,7 +508,7 @@
},
{
"function": "dev_AlertEvents",
"type": "integer.checkbox",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type":"checkbox"}] ,"transformers": []}]},
"default_value": 0,
"override_value": {
"override": true
@@ -530,7 +530,7 @@
},
{
"function": "dev_AlertDeviceDown",
"type": "integer.checkbox",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type":"checkbox"}] ,"transformers": []}]},
"default_value": 0,
"options": [],
"localized": ["name", "description"],
@@ -549,7 +549,7 @@
},
{
"function": "dev_SkipRepeated",
"type": "integer",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type": "number"}] ,"transformers": []}]},
"default_value": 0,
"options": [],
"localized": ["name", "description"],
@@ -568,7 +568,7 @@
},
{
"function": "dev_LastNotification",
"type": "readonly",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{"readonly": "true"}] ,"transformers": []}]},
"format": "date-time",
"default_value": "",
"options": [],
@@ -588,7 +588,7 @@
},
{
"function": "dev_PresentLastScan",
"type": "integer.checkbox",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type":"checkbox"}] ,"transformers": []}]},
"default_value": 1,
"options": [],
"localized": ["name", "description"],
@@ -607,7 +607,7 @@
},
{
"function": "dev_NewDevice",
"type": "integer.checkbox",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type":"checkbox"}] ,"transformers": []}]},
"default_value": true,
"options": [],
"localized": ["name", "description"],
@@ -626,7 +626,7 @@
},
{
"function": "dev_Location",
"type": "string",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"maxLength": 250,
"default_value": "",
"options": [],
@@ -646,7 +646,7 @@
},
{
"function": "dev_Archived",
"type": "integer.checkbox",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type":"checkbox"}] ,"transformers": []}]},
"default_value": 0,
"options": [],
"localized": ["name", "description"],
@@ -665,7 +665,7 @@
},
{
"function": "dev_Network_Node_MAC_ADDR",
"type": "string",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "",
"options": [],
"localized": ["name", "description"],
@@ -684,7 +684,7 @@
},
{
"function": "dev_Network_Node_port",
"type": "readonly",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{"readonly": "true"}] ,"transformers": []}]},
"default_value": 0,
"options": [],
"localized": ["name", "description"],
@@ -703,7 +703,7 @@
},
{
"function": "dev_Icon",
"type": "string",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "",
"options": [],
"localized": ["name", "description"],

View File

@@ -63,7 +63,7 @@
{
"function": "RUN",
"events": ["run"],
"type": "text.select",
"type": {"dataType":"string", "elements": [{"elementType" : "select", "elementOptions" : [] ,"transformers": []}]},
"default_value": "disabled",
"options": ["disabled", "once", "schedule", "always_after_scan"],
"localized": ["name", "description"],
@@ -94,7 +94,7 @@
},
{
"function": "CMD",
"type": "readonly",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{"readonly": "true"}] ,"transformers": []}]},
"default_value": "python3 /app/front/plugins/internet_ip/script.py prev_ip={prev_ip} INTRNT_DIG_GET_IP_ARG={INTRNT_DIG_GET_IP_ARG}",
"options": [],
"localized": ["name", "description"],
@@ -129,7 +129,7 @@
},
{
"function": "DIG_GET_IP_ARG",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "-4 myip.opendns.com @resolver1.opendns.com",
"options": [],
"localized": ["name", "description"],
@@ -164,7 +164,7 @@
},
{
"function": "RUN_SCHD",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "*/5 * * * *",
"options": [],
"localized": ["name", "description"],
@@ -199,7 +199,7 @@
},
{
"function": "RUN_TIMEOUT",
"type": "integer",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type": "number"}] ,"transformers": []}]},
"default_value": 30,
"options": [],
"localized": ["name", "description"],
@@ -234,7 +234,7 @@
},
{
"function": "RETRIES",
"type": "integer",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type": "number"}] ,"transformers": []}]},
"default_value": 3,
"options": [],
"localized": ["name", "description"],
@@ -253,7 +253,7 @@
},
{
"function": "WATCH",
"type": "text.multiselect",
"type": {"dataType":"array", "elements": [{"elementType" : "select", "elementOptions" : [{"multiple":"true"}] ,"transformers": []}]},
"default_value": ["Watched_Value1"],
"options": [
"Watched_Value1",
@@ -289,7 +289,7 @@
},
{
"function": "REPORT_ON",
"type": "text.multiselect",
"type": {"dataType":"array", "elements": [{"elementType" : "select", "elementOptions" : [{"multiple":"true"}] ,"transformers": []}]},
"default_value": ["new", "watched-changed"],
"options": [
"new",

View File

@@ -377,7 +377,7 @@
{
"function": "RUN",
"events": ["run"],
"type": "text.select",
"type": {"dataType":"string", "elements": [{"elementType" : "select", "elementOptions" : [] ,"transformers": []}]},
"default_value": "disabled",
"options": ["disabled", "once", "schedule", "always_after_scan"],
"localized": ["name", "description"],
@@ -408,7 +408,7 @@
},
{
"function": "CMD",
"type": "readonly",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{"readonly": "true"}] ,"transformers": []}]},
"default_value": "python3 /app/front/plugins/internet_speedtest/script.py",
"options": [],
"localized": ["name", "description"],
@@ -443,7 +443,7 @@
},
{
"function": "RUN_SCHD",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "*/30 * * * *",
"options": [],
"localized": ["name", "description"],
@@ -478,7 +478,7 @@
},
{
"function": "RUN_TIMEOUT",
"type": "integer",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type": "number"}] ,"transformers": []}]},
"default_value": 60,
"options": [],
"localized": ["name", "description"],
@@ -513,7 +513,7 @@
},
{
"function": "WATCH",
"type": "text.multiselect",
"type": {"dataType":"array", "elements": [{"elementType" : "select", "elementOptions" : [{"multiple":"true"}] ,"transformers": []}]},
"default_value": [],
"options": [
"Watched_Value1",
@@ -549,7 +549,7 @@
},
{
"function": "REPORT_ON",
"type": "text.multiselect",
"type": {"dataType":"array", "elements": [{"elementType" : "select", "elementOptions" : [{"multiple":"true"}] ,"transformers": []}]},
"default_value": [],
"options": [
"new",

View File

@@ -159,7 +159,7 @@
},
{
"function": "CMD",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "UPDATE Devices SET dev_AlertDeviceDown = {KNWN_dev_AlertDeviceDown}, dev_AlertEvents = {KNWN_dev_AlertEvents} WHERE dev_MAC in ({target_macs})",
"options": [],
"localized": ["name", "description"],
@@ -178,7 +178,7 @@
},
{
"function": "dev_Name",
"type": "readonly",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{"readonly": "true"}] ,"transformers": []}]},
"maxLength": 50,
"default_value": "(unknown)",
"options": [],
@@ -198,7 +198,7 @@
},
{
"function": "dev_Owner",
"type": "string",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"maxLength": 30,
"default_value": "House",
"override_value": {
@@ -221,7 +221,7 @@
},
{
"function": "dev_DeviceType",
"type": "string",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"maxLength": 30,
"default_value": "",
"options": [],
@@ -241,7 +241,7 @@
},
{
"function": "dev_Vendor",
"type": "readonly",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{"readonly": "true"}] ,"transformers": []}]},
"maxLength": 250,
"default_value": "",
"options": [],
@@ -261,7 +261,7 @@
},
{
"function": "dev_Favorite",
"type": "integer.checkbox",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type":"checkbox"}] ,"transformers": []}]},
"default_value": 0,
"override_value": {
"override": false
@@ -283,7 +283,7 @@
},
{
"function": "dev_Group",
"type": "string",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"maxLength": 10,
"default_value": "",
"override_value": {
@@ -306,7 +306,7 @@
},
{
"function": "dev_Comments",
"type": "string",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "",
"options": [],
"localized": ["name", "description"],
@@ -325,7 +325,7 @@
},
{
"function": "dev_FirstConnection",
"type": "readonly",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{"readonly": "true"}] ,"transformers": []}]},
"format": "date-time",
"default_value": "",
"options": [],
@@ -345,7 +345,7 @@
},
{
"function": "dev_LastConnection",
"type": "readonly",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{"readonly": "true"}] ,"transformers": []}]},
"format": "date-time",
"default_value": "",
"options": [],
@@ -365,7 +365,7 @@
},
{
"function": "dev_LastIP",
"type": "readonly",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{"readonly": "true"}] ,"transformers": []}]},
"maxLength": 50,
"default_value": "",
"options": [],
@@ -385,7 +385,7 @@
},
{
"function": "dev_StaticIP",
"type": "integer.checkbox",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type":"checkbox"}] ,"transformers": []}]},
"default_value": 1,
"override_value": {
"override": true
@@ -407,7 +407,7 @@
},
{
"function": "dev_ScanCycle",
"type": "integer.checkbox",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type":"checkbox"}] ,"transformers": []}]},
"default_value": 1,
"override_value": {
"override": true
@@ -429,7 +429,7 @@
},
{
"function": "dev_LogEvents",
"type": "integer.checkbox",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type":"checkbox"}] ,"transformers": []}]},
"default_value": 0,
"override_value": {
"override": false
@@ -451,7 +451,7 @@
},
{
"function": "dev_AlertEvents",
"type": "integer.checkbox",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type":"checkbox"}] ,"transformers": []}]},
"default_value": 0,
"override_value": {
"override": true
@@ -473,7 +473,7 @@
},
{
"function": "dev_AlertDeviceDown",
"type": "integer.checkbox",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type":"checkbox"}] ,"transformers": []}]},
"default_value": 0,
"options": [],
"localized": ["name", "description"],
@@ -492,7 +492,7 @@
},
{
"function": "dev_SkipRepeated",
"type": "integer",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type": "number"}] ,"transformers": []}]},
"default_value": 0,
"options": [],
"localized": ["name", "description"],
@@ -511,7 +511,7 @@
},
{
"function": "dev_LastNotification",
"type": "readonly",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{"readonly": "true"}] ,"transformers": []}]},
"format": "date-time",
"default_value": "",
"options": [],
@@ -531,7 +531,7 @@
},
{
"function": "dev_PresentLastScan",
"type": "integer.checkbox",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type":"checkbox"}] ,"transformers": []}]},
"default_value": 1,
"options": [],
"localized": ["name", "description"],
@@ -550,7 +550,7 @@
},
{
"function": "dev_NewDevice",
"type": "integer.checkbox",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type":"checkbox"}] ,"transformers": []}]},
"default_value": true,
"options": [],
"localized": ["name", "description"],
@@ -569,7 +569,7 @@
},
{
"function": "dev_Location",
"type": "string",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"maxLength": 250,
"default_value": "",
"options": [],
@@ -589,7 +589,7 @@
},
{
"function": "dev_Archived",
"type": "integer.checkbox",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type":"checkbox"}] ,"transformers": []}]},
"default_value": 0,
"options": [],
"localized": ["name", "description"],
@@ -608,7 +608,7 @@
},
{
"function": "dev_Network_Node_MAC_ADDR",
"type": "string",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "",
"options": [],
"localized": ["name", "description"],
@@ -627,7 +627,7 @@
},
{
"function": "dev_Network_Node_port",
"type": "readonly",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{"readonly": "true"}] ,"transformers": []}]},
"default_value": 0,
"options": [],
"localized": ["name", "description"],
@@ -646,7 +646,7 @@
},
{
"function": "dev_Icon",
"type": "string",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "",
"options": [],
"localized": ["name", "description"],

View File

@@ -29,7 +29,7 @@
{
"function": "RUN",
"events": ["run"],
"type": "text.select",
"type": {"dataType":"string", "elements": [{"elementType" : "select", "elementOptions" : [] ,"transformers": []}]},
"default_value": "schedule",
"options": [
"disabled",
@@ -62,7 +62,7 @@
},
{
"function": "CMD",
"type": "readonly",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{"readonly": "true"}] ,"transformers": []}]},
"default_value": "python3 /app/front/plugins/maintenance/maintenance.py",
"options": [],
"localized": ["name", "description"],
@@ -97,7 +97,7 @@
},
{
"function": "RUN_SCHD",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "0 2 * * *",
"options": [],
"localized": ["name", "description"],
@@ -132,7 +132,7 @@
},
{
"function": "RUN_TIMEOUT",
"type": "integer",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type": "number"}] ,"transformers": []}]},
"default_value": 30,
"options": [],
"localized": ["name", "description"],
@@ -167,7 +167,7 @@
},
{
"function": "LOG_LENGTH",
"type": "integer",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type": "number"}] ,"transformers": []}]},
"default_value": 250000,
"options": [],
"localized": ["name", "description"],

View File

@@ -28,7 +28,7 @@
"settings": [
{
"function": "ignored_MACs",
"type": "list",
"type": {"dataType": "array","elements": [ {"elementType": "input","elementOptions": [{ "placeholder": "Enter value" },{ "suffix": "_in" },{ "cssClasses": "col-sm-10" },{ "prefillValue": "null" }],"transformers": [] }, {"elementType": "button","elementOptions": [{ "sourceSuffixes": ["_in"] },{ "separator": "" },{ "cssClasses": "col-sm-12" },{ "onClick": "addList(this, false)" },{ "getStringKey": "Gen_Add" }],"transformers": [] }, {"elementType": "button","elementOptions": [{ "sourceSuffixes": [] },{ "separator": "" },{ "cssClasses": "col-sm-6" },{ "onClick": "removeAllOptions(this)" },{ "getStringKey": "Gen_Remove_All" }],"transformers": []},{"elementType": "button","elementOptions": [{ "sourceSuffixes": [] },{ "separator": "" },{ "cssClasses": "col-sm-6" },{ "onClick": "removeFromList(this)" },{ "getStringKey": "Gen_Remove_Last" }],"transformers": []}, {"elementType": "select","elementOptions": [{ "multiple": "true" },{ "readonly": "true" },{ "editable": "true" }],"transformers": [] }]},
"default_value": [],
"options": [],
"localized": ["name", "description"],
@@ -47,7 +47,7 @@
},
{
"function": "ignored_IPs",
"type": "list",
"type": {"dataType": "array","elements": [ {"elementType": "input","elementOptions": [{ "placeholder": "Enter value" },{ "suffix": "_in" },{ "cssClasses": "col-sm-10" },{ "prefillValue": "null" }],"transformers": [] }, {"elementType": "button","elementOptions": [{ "sourceSuffixes": ["_in"] },{ "separator": "" },{ "cssClasses": "col-sm-12" },{ "onClick": "addList(this, false)" },{ "getStringKey": "Gen_Add" }],"transformers": [] }, {"elementType": "button","elementOptions": [{ "sourceSuffixes": [] },{ "separator": "" },{ "cssClasses": "col-sm-6" },{ "onClick": "removeAllOptions(this)" },{ "getStringKey": "Gen_Remove_All" }],"transformers": []},{"elementType": "button","elementOptions": [{ "sourceSuffixes": [] },{ "separator": "" },{ "cssClasses": "col-sm-6" },{ "onClick": "removeFromList(this)" },{ "getStringKey": "Gen_Remove_Last" }],"transformers": []}, {"elementType": "select","elementOptions": [{ "multiple": "true" },{ "readonly": "true" },{ "editable": "true" }],"transformers": [] }]},
"default_value": [],
"options": [],
"localized": ["name", "description"],
@@ -66,7 +66,7 @@
},
{
"function": "dev_MAC",
"type": "readonly",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{"readonly": "true"}] ,"transformers": []}]},
"maxLength": 50,
"default_value": "",
"options": [],
@@ -86,7 +86,7 @@
},
{
"function": "dev_Name",
"type": "readonly",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{"readonly": "true"}] ,"transformers": []}]},
"maxLength": 50,
"default_value": "(unknown)",
"options": [],
@@ -106,7 +106,7 @@
},
{
"function": "dev_Owner",
"type": "text.select",
"type": {"dataType":"string", "elements": [{"elementType" : "select", "elementOptions" : [] ,"transformers": []}]},
"maxLength": 30,
"default_value": "",
"options": ["{value}"],
@@ -133,7 +133,7 @@
},
{
"function": "dev_DeviceType",
"type": "text.select",
"type": {"dataType":"string", "elements": [{"elementType" : "select", "elementOptions" : [] ,"transformers": []}]},
"maxLength": 30,
"default_value": "",
"options": ["{value}"],
@@ -165,7 +165,7 @@
},
{
"function": "dev_Vendor",
"type": "readonly",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{"readonly": "true"}] ,"transformers": []}]},
"maxLength": 250,
"default_value": "",
"options": [],
@@ -185,7 +185,7 @@
},
{
"function": "dev_Favorite",
"type": "integer.checkbox",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type":"checkbox"}] ,"transformers": []}]},
"default_value": 0,
"options": [],
"localized": ["name", "description"],
@@ -204,7 +204,7 @@
},
{
"function": "dev_Group",
"type": "text.select",
"type": {"dataType":"string", "elements": [{"elementType" : "select", "elementOptions" : [] ,"transformers": []}]},
"maxLength": 10,
"default_value": "",
"options": ["{value}"],
@@ -231,7 +231,7 @@
},
{
"function": "dev_Comments",
"type": "string",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "",
"options": [],
"localized": ["name", "description"],
@@ -250,7 +250,7 @@
},
{
"function": "dev_FirstConnection",
"type": "readonly",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{"readonly": "true"}] ,"transformers": []}]},
"format": "date-time",
"default_value": "",
"options": [],
@@ -270,7 +270,7 @@
},
{
"function": "dev_LastConnection",
"type": "readonly",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{"readonly": "true"}] ,"transformers": []}]},
"format": "date-time",
"default_value": "",
"options": [],
@@ -290,7 +290,7 @@
},
{
"function": "dev_LastIP",
"type": "readonly",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{"readonly": "true"}] ,"transformers": []}]},
"maxLength": 50,
"default_value": "",
"options": [],
@@ -310,7 +310,7 @@
},
{
"function": "dev_StaticIP",
"type": "integer.checkbox",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type":"checkbox"}] ,"transformers": []}]},
"default_value": 0,
"options": [],
"localized": ["name", "description"],
@@ -329,7 +329,7 @@
},
{
"function": "dev_ScanCycle",
"type": "integer.checkbox",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type":"checkbox"}] ,"transformers": []}]},
"default_value": 1,
"options": [],
"localized": ["name", "description"],
@@ -348,7 +348,7 @@
},
{
"function": "dev_LogEvents",
"type": "integer.checkbox",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type":"checkbox"}] ,"transformers": []}]},
"default_value": 1,
"options": [],
"localized": ["name", "description"],
@@ -367,7 +367,7 @@
},
{
"function": "dev_AlertEvents",
"type": "integer.checkbox",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type":"checkbox"}] ,"transformers": []}]},
"default_value": 1,
"options": [],
"localized": ["name", "description"],
@@ -386,7 +386,7 @@
},
{
"function": "dev_AlertDeviceDown",
"type": "integer.checkbox",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type":"checkbox"}] ,"transformers": []}]},
"default_value": 0,
"options": [],
"localized": ["name", "description"],
@@ -405,7 +405,7 @@
},
{
"function": "dev_SkipRepeated",
"type": "text.select",
"type": {"dataType":"string", "elements": [{"elementType" : "select", "elementOptions" : [] ,"transformers": []}]},
"default_value": 0,
"options": ["{value}"],
"options_params": [
@@ -431,7 +431,7 @@
},
{
"function": "dev_LastNotification",
"type": "readonly",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{"readonly": "true"}] ,"transformers": []}]},
"format": "date-time",
"default_value": "",
"options": [],
@@ -451,7 +451,7 @@
},
{
"function": "dev_PresentLastScan",
"type": "integer.checkbox",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type":"checkbox"}] ,"transformers": []}]},
"default_value": 1,
"options": [],
"localized": ["name", "description"],
@@ -470,7 +470,7 @@
},
{
"function": "dev_NewDevice",
"type": "integer.checkbox",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type":"checkbox"}] ,"transformers": []}]},
"default_value": 1,
"options": [],
"localized": ["name", "description"],
@@ -489,7 +489,7 @@
},
{
"function": "dev_Location",
"type": "text.select",
"type": {"dataType":"string", "elements": [{"elementType" : "select", "elementOptions" : [] ,"transformers": []}]},
"maxLength": 250,
"default_value": "",
"options": ["{value}"],
@@ -516,7 +516,7 @@
},
{
"function": "dev_Archived",
"type": "integer.checkbox",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type":"checkbox"}] ,"transformers": []}]},
"default_value": 0,
"options": [],
"localized": ["name", "description"],
@@ -535,7 +535,7 @@
},
{
"function": "dev_Network_Node_MAC_ADDR",
"type": "text.select",
"type": {"dataType":"string", "elements": [{"elementType" : "select", "elementOptions" : [] ,"transformers": []}]},
"default_value": "",
"options": ["{value}"],
"options_params": [
@@ -566,7 +566,7 @@
},
{
"function": "dev_Network_Node_port",
"type": "readonly",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{"readonly": "true"}] ,"transformers": []}]},
"default_value": 0,
"options": [],
"localized": ["name", "description"],
@@ -585,7 +585,7 @@
},
{
"function": "dev_Icon",
"type": "text.select",
"type": {"dataType":"string", "elements": [{"elementType" : "select", "elementOptions" : [] ,"transformers": []}]},
"default_value": "",
"options": ["{value}"],
"options_params": [
@@ -611,7 +611,7 @@
},
{
"function": "LESS_NAME_CLEANUP",
"type": "integer.checkbox",
"type": {"dataType":"boolean", "elements": [{"elementType" : "input", "elementOptions" : [{"type":"checkbox"}] ,"transformers": []}]},
"default_value": 0,
"options": [],
"localized": ["name", "description"],
@@ -630,7 +630,7 @@
},
{
"function": "NAME_CLEANUP_REGEX",
"type": "list.base64",
"type": {"dataType":"string", "elements": [{"elementType" : "textarea", "elementOptions" : [] ,"transformers": ["base64"]}]},
"default_value": ["XC5fYWlycGxheQ==", "XC5fdGNw", "XC5sb2NhbGRvbWFpbg==", "XC5sb2NhbA==", "XC5fZXNwaG9tZWxpYg==", "XC5fZ29vZ2xlY2FzdA==", "XC5sYW4=", "XC5ob21l", "LVthLWZBLUYwLTldezMyfQ==", "Iy4q" ],
"options": [],
"localized": ["name", "description"],

View File

@@ -45,7 +45,7 @@
"settings": [
{
"function": "RUN",
"type": "text.select",
"type": {"dataType":"string", "elements": [{"elementType" : "select", "elementOptions" : [] ,"transformers": []}]},
"default_value": "disabled",
"options": [
"disabled",
@@ -87,7 +87,7 @@
},
{
"function": "CMD",
"type": "readonly",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{"readonly": "true"}] ,"transformers": []}]},
"default_value": "python3 /app/front/plugins/nmap_dev_scan/nmap_dev.py ",
"options": [],
"localized": ["name", "description"],
@@ -122,7 +122,7 @@
},
{
"function": "RUN_TIMEOUT",
"type": "integer",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type": "number"}] ,"transformers": []}]},
"default_value": 300,
"options": [],
"localized": ["name", "description"],
@@ -157,7 +157,7 @@
},
{
"function": "RUN_SCHD",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "*/5 * * * *",
"options": [],
"localized": ["name", "description"],
@@ -192,7 +192,7 @@
},
{
"function": "WATCH",
"type": "text.multiselect",
"type": {"dataType":"array", "elements": [{"elementType" : "select", "elementOptions" : [{"multiple":"true"}] ,"transformers": []}]},
"default_value": [],
"options": [
"Watched_Value1",
@@ -232,7 +232,7 @@
},
{
"function": "REPORT_ON",
"type": "text.multiselect",
"type": {"dataType":"array", "elements": [{"elementType" : "select", "elementOptions" : [{"multiple":"true"}] ,"transformers": []}]},
"default_value": ["new"],
"options": [
"new",
@@ -272,7 +272,7 @@
},
{
"function": "ARGS",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "sudo nmap -sn -PR -oX - ",
"options": [],
"localized": ["name", "description"],

View File

@@ -354,7 +354,7 @@
{
"function": "RUN",
"events": ["run"],
"type": "text.select",
"type": {"dataType":"string", "elements": [{"elementType" : "select", "elementOptions" : [] ,"transformers": []}]},
"default_value": "disabled",
"options": [
"disabled",
@@ -387,7 +387,7 @@
},
{
"function": "CMD",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "python3 /app/front/plugins/nmap_scan/script.py ips={ips} macs={macs} timeout={timeout} args={args}",
"options": [],
"localized": ["name", "description"],
@@ -414,7 +414,7 @@
},
{
"function": "ARGS",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "-p -10000",
"options": [],
"localized": ["name", "description"],
@@ -441,7 +441,7 @@
},
{
"function": "RUN_SCHD",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "0 2 * * *",
"options": [],
"localized": ["name", "description"],
@@ -468,7 +468,7 @@
},
{
"function": "RUN_TIMEOUT",
"type": "integer",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type": "number"}] ,"transformers": []}]},
"default_value": 30,
"options": [],
"localized": ["name", "description"],
@@ -495,7 +495,7 @@
},
{
"function": "WATCH",
"type": "text.multiselect",
"type": {"dataType":"array", "elements": [{"elementType" : "select", "elementOptions" : [{"multiple":"true"}] ,"transformers": []}]},
"default_value": ["Watched_Value1"],
"options": [
"Watched_Value1",
@@ -527,7 +527,7 @@
},
{
"function": "REPORT_ON",
"type": "text.multiselect",
"type": {"dataType":"array", "elements": [{"elementType" : "select", "elementOptions" : [{"multiple":"true"}] ,"transformers": []}]},
"default_value": ["new", "watched-changed"],
"options": ["new", "watched-changed", "watched-not-changed"],
"localized": ["name", "description"],

View File

@@ -29,7 +29,7 @@
"settings": [
{
"function": "INCLUDED_SECTIONS",
"type": "text.multiselect",
"type": {"dataType":"array", "elements": [{"elementType" : "select", "elementOptions" : [{"multiple":"true"}] ,"transformers": []}]},
"default_value": ["new_devices", "down_devices", "events"],
"options": [
"new_devices",
@@ -70,7 +70,7 @@
},
{
"function": "alert_down_time",
"type": "integer",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type": "number"}] ,"transformers": []}]},
"default_value": 5,
"options": [],
"localized": ["name", "description"],
@@ -89,7 +89,7 @@
},
{
"function": "new_dev_condition",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "",
"options": [],
"localized": ["name", "description"],
@@ -108,7 +108,7 @@
},
{
"function": "event_condition",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "",
"options": [],
"localized": ["name", "description"],

View File

@@ -36,7 +36,7 @@
{
"function": "RUN",
"events": ["run"],
"type": "text.select",
"type": {"dataType":"string", "elements": [{"elementType" : "select", "elementOptions" : [] ,"transformers": []}]},
"default_value": "disabled",
"options": [
"disabled",
@@ -70,7 +70,7 @@
},
{
"function": "CMD",
"type": "readonly",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{"readonly": "true"}] ,"transformers": []}]},
"default_value": "python3 /app/front/plugins/nslookup_scan/nslookup.py",
"options": [],
"localized": ["name", "description"],
@@ -105,7 +105,7 @@
},
{
"function": "RUN_SCHD",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "*/30 * * * *",
"options": [],
"localized": ["name", "description"],
@@ -140,7 +140,7 @@
},
{
"function": "RUN_TIMEOUT",
"type": "integer",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type": "number"}] ,"transformers": []}]},
"default_value": 10,
"options": [],
"localized": ["name", "description"],

View File

@@ -1,6 +1,6 @@
## Overview
PLugin functionality overview and links to external resources if relevant. Include use cases if available.
Plugin functionality overview and links to external resources if relevant. Include use cases if available.
> [!TIP]
> Some tip.
@@ -20,4 +20,6 @@ To set up the plugin correctly, make sure...
### Notes
- Additional notes, limitations, Author info.
- Additional notes, limitations, Author info.
Made with ❤ by [@FlyingToto](https://github.com/FlyingToto) 🙏

View File

@@ -39,7 +39,7 @@
{
"function": "RUN",
"events": ["run"],
"type": "text.select",
"type": {"dataType":"string", "elements": [{"elementType" : "select", "elementOptions" : [] ,"transformers": []}]},
"default_value": "disabled",
"options": [
@@ -72,7 +72,7 @@
},
{
"function": "RUN_SCHD",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "*/5 * * * *",
"options": [],
@@ -100,7 +100,7 @@
},
{
"function": "url",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"maxLength": 50,
"default_value": "",
"options": [],
@@ -120,7 +120,7 @@
},
{
"function": "sites",
"type": "list",
"type": {"dataType": "array","elements": [ {"elementType": "input","elementOptions": [{ "placeholder": "Enter value" },{ "suffix": "_in" },{ "cssClasses": "col-sm-10" },{ "prefillValue": "null" }],"transformers": [] }, {"elementType": "button","elementOptions": [{ "sourceSuffixes": ["_in"] },{ "separator": "" },{ "cssClasses": "col-sm-12" },{ "onClick": "addList(this, false)" },{ "getStringKey": "Gen_Add" }],"transformers": [] }, {"elementType": "button","elementOptions": [{ "sourceSuffixes": [] },{ "separator": "" },{ "cssClasses": "col-sm-6" },{ "onClick": "removeAllOptions(this)" },{ "getStringKey": "Gen_Remove_All" }],"transformers": []},{"elementType": "button","elementOptions": [{ "sourceSuffixes": [] },{ "separator": "" },{ "cssClasses": "col-sm-6" },{ "onClick": "removeFromList(this)" },{ "getStringKey": "Gen_Remove_Last" }],"transformers": []}, {"elementType": "select","elementOptions": [{ "multiple": "true" },{ "readonly": "true" },{ "editable": "true" }],"transformers": [] }]},
"default_value": [],
"options": [],
"localized": ["name", "description"],
@@ -139,7 +139,7 @@
},
{
"function": "username",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"maxLength": 50,
"default_value": "",
"options": [],
@@ -159,7 +159,7 @@
},
{
"function": "password",
"type": "password",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{"type":"password"}] ,"transformers": []}]},
"maxLength": 50,
"default_value": "",
"options": [],
@@ -179,7 +179,7 @@
},
{
"function": "force_overwrite",
"type": "boolean",
"type": {"dataType":"boolean", "elements": [{"elementType" : "input", "elementOptions" : [{"type":"checkbox"}] ,"transformers": []}]},
"default_value": false,
"options": [],
"localized": ["name", "description"],
@@ -198,7 +198,7 @@
},
{
"function": "CMD",
"type": "readonly",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{"readonly": "true"}] ,"transformers": []}]},
"default_value": "python3 /app/front/plugins/omada_sdn_imp/omada_sdn.py",
"options": [],
"localized": ["name", "description"],
@@ -233,7 +233,7 @@
},
{
"function": "RUN_TIMEOUT",
"type": "integer",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type": "number"}] ,"transformers": []}]},
"default_value": 30,
"options": [],
"localized": ["name", "description"],
@@ -292,7 +292,7 @@
"Watched_Value3",
"Watched_Value4"
],
"type": "text.multiselect"
"type": {"dataType":"array", "elements": [{"elementType" : "select", "elementOptions" : [{"multiple":"true"}] ,"transformers": []}]}
},
{
"default_value": ["new", "watched-changed"],
@@ -316,7 +316,7 @@
"watched-not-changed",
"missing-in-last-scan"
],
"type": "text.multiselect"
"type": {"dataType":"array", "elements": [{"elementType" : "select", "elementOptions" : [{"multiple":"true"}] ,"transformers": []}]}
}
],
"database_column_definitions": [

View File

@@ -62,7 +62,7 @@
"settings": [
{
"function": "RUN",
"type": "text.select",
"type": {"dataType":"string", "elements": [{"elementType" : "select", "elementOptions" : [] ,"transformers": []}]},
"default_value": "disabled",
"options": [
"disabled",
@@ -96,7 +96,7 @@
},
{
"function": "CMD",
"type": "readonly",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{"readonly": "true"}] ,"transformers": []}]},
"default_value": "python3 /app/front/plugins/pholus_scan/script.py userSubnets={subnets} timeoutSec={timeout}",
"options": [],
"localized": ["name", "description"],
@@ -123,7 +123,7 @@
},
{
"function": "RUN_TIMEOUT",
"type": "integer",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type": "number"}] ,"transformers": []}]},
"default_value": 300,
"options": [],
"localized": ["name", "description"],
@@ -150,7 +150,7 @@
},
{
"function": "RUN_SCHD",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "30 3 * * *",
"options": [],
"localized": ["name", "description"],
@@ -177,7 +177,7 @@
},
{
"function": "DAYS_DATA",
"type": "integer",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type": "number"}] ,"transformers": []}]},
"default_value": 30,
"options": [],
"localized": ["name", "description"],
@@ -204,7 +204,7 @@
},
{
"function": "WATCH",
"type": "text.multiselect",
"type": {"dataType":"array", "elements": [{"elementType" : "select", "elementOptions" : [{"multiple":"true"}] ,"transformers": []}]},
"default_value": ["Watched_Value1", "Watched_Value2"],
"options": [
"Watched_Value1",
@@ -236,7 +236,7 @@
},
{
"function": "REPORT_ON",
"type": "text.multiselect",
"type": {"dataType":"array", "elements": [{"elementType" : "select", "elementOptions" : [{"multiple":"true"}] ,"transformers": []}]},
"default_value": ["new"],
"options": [
"new",

View File

@@ -60,7 +60,7 @@
{
"function": "RUN",
"events": ["run"],
"type": "text.select",
"type": {"dataType":"string", "elements": [{"elementType" : "select", "elementOptions" : [] ,"transformers": []}]},
"default_value": "disabled",
"options": [
"disabled",
@@ -93,7 +93,7 @@
},
{
"function": "CMD",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "SELECT n.hwaddr AS Object_PrimaryID, {s-quote}null{s-quote} AS Object_SecondaryID, datetime() AS DateTime, na.ip AS Watched_Value1, n.lastQuery AS Watched_Value2, na.name AS Watched_Value3, n.macVendor AS Watched_Value4, {s-quote}null{s-quote} AS Extra, n.hwaddr AS ForeignKey FROM EXTERNAL_PIHOLE.Network AS n LEFT JOIN EXTERNAL_PIHOLE.Network_Addresses AS na ON na.network_id = n.id WHERE n.hwaddr NOT LIKE {s-quote}ip-%{s-quote} AND n.hwaddr is not {s-quote}00:00:00:00:00:00{s-quote} AND na.ip is not null",
"options": [],
"localized": ["name", "description"],
@@ -120,7 +120,7 @@
},
{
"function": "DB_PATH",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "/etc/pihole/pihole-FTL.db",
"options": [],
"localized": ["name", "description"],
@@ -147,7 +147,7 @@
},
{
"function": "RUN_SCHD",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "*/30 * * * *",
"options": [],
"localized": ["name", "description"],
@@ -174,7 +174,7 @@
},
{
"function": "WATCH",
"type": "text.multiselect",
"type": {"dataType":"array", "elements": [{"elementType" : "select", "elementOptions" : [{"multiple":"true"}] ,"transformers": []}]},
"default_value": ["Watched_Value1", "Watched_Value2"],
"options": [
"Watched_Value1",
@@ -206,7 +206,7 @@
},
{
"function": "REPORT_ON",
"type": "text.multiselect",
"type": {"dataType":"array", "elements": [{"elementType" : "select", "elementOptions" : [{"multiple":"true"}] ,"transformers": []}]},
"default_value": ["new"],
"options": [
"new",

View File

@@ -47,7 +47,7 @@
"settings": [
{
"function": "enable_password",
"type": "boolean",
"type": {"dataType":"boolean", "elements": [{"elementType" : "input", "elementOptions" : [{"type":"checkbox"}] ,"transformers": []}]},
"default_value": false,
"options": [],
"localized": ["name", "description"],
@@ -66,7 +66,7 @@
},
{
"function": "password",
"type": "password.SHA256",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{"type":"password"}] ,"transformers": ["sha256"]}]},
"maxLength": 50,
"default_value": "123456",
"options": [],

View File

@@ -339,7 +339,7 @@
{
"function": "RUN",
"events": ["run"],
"type": "text.select",
"type": {"dataType":"string", "elements": [{"elementType" : "select", "elementOptions" : [] ,"transformers": []}]},
"default_value": "disabled",
"options": [
"disabled",
@@ -372,7 +372,7 @@
},
{
"function": "CMD",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "python3 /app/front/plugins/snmp_discovery/script.py routers={s-quote}{routers}{s-quote}",
"options": [],
"localized": ["name", "description"],
@@ -399,7 +399,7 @@
},
{
"function": "routers",
"type": "list",
"type": {"dataType": "array","elements": [ {"elementType": "input","elementOptions": [{ "placeholder": "Enter value" },{ "suffix": "_in" },{ "cssClasses": "col-sm-10" },{ "prefillValue": "null" }],"transformers": [] }, {"elementType": "button","elementOptions": [{ "sourceSuffixes": ["_in"] },{ "separator": "" },{ "cssClasses": "col-sm-12" },{ "onClick": "addList(this, false)" },{ "getStringKey": "Gen_Add" }],"transformers": [] }, {"elementType": "button","elementOptions": [{ "sourceSuffixes": [] },{ "separator": "" },{ "cssClasses": "col-sm-6" },{ "onClick": "removeAllOptions(this)" },{ "getStringKey": "Gen_Remove_All" }],"transformers": []},{"elementType": "button","elementOptions": [{ "sourceSuffixes": [] },{ "separator": "" },{ "cssClasses": "col-sm-6" },{ "onClick": "removeFromList(this)" },{ "getStringKey": "Gen_Remove_Last" }],"transformers": []}, {"elementType": "select","elementOptions": [{ "multiple": "true" },{ "readonly": "true" },{ "editable": "true" }],"transformers": [] }]},
"default_value": [
"snmpwalk -v 2c -c public -OXsq 192.168.1.1 .1.3.6.1.2.1.3.1.1.2"
],
@@ -428,7 +428,7 @@
},
{
"function": "RUN_SCHD",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "0 2 * * *",
"options": [],
"localized": ["name", "description"],
@@ -455,7 +455,7 @@
},
{
"function": "RUN_TIMEOUT",
"type": "integer",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type": "number"}] ,"transformers": []}]},
"default_value": 5,
"options": [],
"localized": ["name", "description"],
@@ -486,7 +486,7 @@
},
{
"function": "WATCH",
"type": "text.multiselect",
"type": {"dataType":"array", "elements": [{"elementType" : "select", "elementOptions" : [{"multiple":"true"}] ,"transformers": []}]},
"default_value": ["Watched_Value1"],
"options": [
"Watched_Value1",
@@ -518,7 +518,7 @@
},
{
"function": "REPORT_ON",
"type": "text.multiselect",
"type": {"dataType":"array", "elements": [{"elementType" : "select", "elementOptions" : [{"multiple":"true"}] ,"transformers": []}]},
"default_value": ["new", "watched-changed"],
"options": [
"new",

View File

@@ -39,7 +39,7 @@
{
"function": "RUN",
"events": ["run"],
"type": "text.select",
"type": {"dataType":"string", "elements": [{"elementType" : "select", "elementOptions" : [] ,"transformers": []}]},
"default_value": "disabled",
"options": [
@@ -74,7 +74,7 @@
},
{
"function": "RUN_SCHD",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "*/5 * * * *",
"options": [],
@@ -102,7 +102,7 @@
},
{
"function": "api_token",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"maxLength": 50,
"default_value": "",
"options": [],
@@ -122,7 +122,7 @@
},
{
"function": "encryption_key",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"maxLength": 50,
"default_value": "",
"options": [],
@@ -142,7 +142,7 @@
},
{
"function": "hub_url",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"maxLength": 50,
"default_value": "",
@@ -163,7 +163,7 @@
},
{
"function": "node_name",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"maxLength": 50,
"default_value": "",
"options": [],
@@ -183,7 +183,7 @@
},
{
"function": "devices",
"type": "boolean",
"type": {"dataType":"boolean", "elements": [{"elementType" : "input", "elementOptions" : [{"type":"checkbox"}] ,"transformers": []}]},
"default_value": false,
"options": [],
"localized": ["name", "description"],
@@ -202,7 +202,7 @@
},
{
"function": "plugins",
"type": "list.select",
"type": {"dataType":"array", "elements": [{"elementType" : "select", "elementOptions" : [{"multiple":"true"}] ,"transformers": []}]},
"maxLength": 50,
"default_value": [],
"options": ["{value}"],
@@ -229,7 +229,7 @@
},
{
"function": "CMD",
"type": "readonly",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{"readonly": "true"}] ,"transformers": []}]},
"default_value": "python3 /app/front/plugins/sync/sync.py",
"options": [],
"localized": ["name", "description"],
@@ -264,7 +264,7 @@
},
{
"function": "RUN_TIMEOUT",
"type": "integer",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type": "number"}] ,"transformers": []}]},
"default_value": 30,
"options": [],
"localized": ["name", "description"],

View File

@@ -28,7 +28,7 @@
"settings": [
{
"function": "shown_cards",
"type": "text.multiselect",
"type": {"dataType":"array", "elements": [{"elementType" : "select", "elementOptions" : [{"multiple":"true"}] ,"transformers": []}]},
"maxLength": 50,
"default_value": [
"my_devices",
@@ -64,7 +64,7 @@
},
{
"function": "hide_empty",
"type": "boolean",
"type": {"dataType":"boolean", "elements": [{"elementType" : "input", "elementOptions" : [{"type":"checkbox"}] ,"transformers": []}]},
"default_value": false,
"options": [],
"localized": ["name", "description"],

View File

@@ -25,3 +25,6 @@ Allowing Un-Discoverable devices like hubs, switches or APs to be added to the n
### Known Limitations
- Un-Discoverable Devices always show as offline. That is expected as they can not be discovered by NetAlertX.
- All IPs are set to 0.0.0.0 therefore the "Random MAC" icon might show up.
Made with ❤ by [@Data-Monkey](https://github.com/Data-Monkey) 🙏

View File

@@ -60,7 +60,7 @@
{
"function": "RUN",
"events": ["run"],
"type": "text.select",
"type": {"dataType":"string", "elements": [{"elementType" : "select", "elementOptions" : [] ,"transformers": []}]},
"default_value": "disabled",
"options": ["disabled", "once", "schedule", "always_after_scan"],
"localized": ["name", "description"],
@@ -95,7 +95,7 @@
},
{
"function": "CMD",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "python3 /app/front/plugins/undiscoverables/script.py devices={devices}",
"options": [],
"localized": ["name", "description"],
@@ -130,7 +130,7 @@
},
{
"function": "RUN_TIMEOUT",
"type": "integer",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type": "number"}] ,"transformers": []}]},
"default_value": 10,
"options": [],
"localized": ["name", "description"],
@@ -165,7 +165,7 @@
},
{
"function": "WATCH",
"type": "readonly",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{"readonly": "true"}] ,"transformers": []}]},
"default_value": [],
"options": [],
"localized": ["name", "description"],
@@ -200,7 +200,7 @@
},
{
"function": "REPORT_ON",
"type": "readonly",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{"readonly": "true"}] ,"transformers": []}]},
"default_value": [],
"options": [
"new",
@@ -240,7 +240,7 @@
},
{
"function": "devices_to_import",
"type": "list",
"type": {"dataType": "array","elements": [ {"elementType": "input","elementOptions": [{ "placeholder": "Enter value" },{ "suffix": "_in" },{ "cssClasses": "col-sm-10" },{ "prefillValue": "null" }],"transformers": [] }, {"elementType": "button","elementOptions": [{ "sourceSuffixes": ["_in"] },{ "separator": "" },{ "cssClasses": "col-sm-12" },{ "onClick": "addList(this, false)" },{ "getStringKey": "Gen_Add" }],"transformers": [] }, {"elementType": "button","elementOptions": [{ "sourceSuffixes": [] },{ "separator": "" },{ "cssClasses": "col-sm-6" },{ "onClick": "removeAllOptions(this)" },{ "getStringKey": "Gen_Remove_All" }],"transformers": []},{"elementType": "button","elementOptions": [{ "sourceSuffixes": [] },{ "separator": "" },{ "cssClasses": "col-sm-6" },{ "onClick": "removeFromList(this)" },{ "getStringKey": "Gen_Remove_Last" }],"transformers": []}, {"elementType": "select","elementOptions": [{ "multiple": "true" },{ "readonly": "true" },{ "editable": "true" }],"transformers": [] }]},
"default_value": ["dummy_router"],
"options": [],
"localized": ["name", "description"],
@@ -275,7 +275,7 @@
},
{
"function": "RUN_SCHD",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "*/5 * * * *",
"options": [],
"localized": ["name", "description"],

View File

@@ -483,7 +483,7 @@
"always_after_scan",
"on_new_device"
],
"type": "text.select"
"type": {"dataType":"string", "elements": [{"elementType" : "select", "elementOptions" : [] ,"transformers": []}]}
},
{
"default_value": "python3 /app/front/plugins/unifi_import/script.py username={username} password={password} host={host} sites={sites} port={port} verifyssl={verifyssl} version={version} fullimport={fullimport}",
@@ -518,7 +518,7 @@
}
],
"options": [],
"type": "text"
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]}
},
{
"default_value": "",
@@ -545,7 +545,7 @@
}
],
"options": [],
"type": "text"
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]}
},
{
"default_value": "",
@@ -572,7 +572,7 @@
}
],
"options": [],
"type": "password"
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{"type":"password"}] ,"transformers": []}]}
},
{
"default_value": "192.168.1.1",
@@ -599,7 +599,7 @@
}
],
"options": [],
"type": "text"
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]}
},
{
"default_value": "8443",
@@ -626,7 +626,7 @@
}
],
"options": [],
"type": "text"
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]}
},
{
"default_value": "false",
@@ -653,11 +653,11 @@
}
],
"options": ["true", "false"],
"type": "text.select"
"type": {"dataType":"string", "elements": [{"elementType" : "select", "elementOptions" : [] ,"transformers": []}]}
},
{
"function": "version",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "v4",
"options": [],
"localized": ["name", "description"],
@@ -707,7 +707,7 @@
}
],
"options": [],
"type": "list"
"type": {"dataType": "array","elements": [ {"elementType": "input","elementOptions": [{ "placeholder": "Enter value" },{ "suffix": "_in" },{ "cssClasses": "col-sm-10" },{ "prefillValue": "null" }],"transformers": [] }, {"elementType": "button","elementOptions": [{ "sourceSuffixes": ["_in"] },{ "separator": "" },{ "cssClasses": "col-sm-12" },{ "onClick": "addList(this, false)" },{ "getStringKey": "Gen_Add" }],"transformers": [] }, {"elementType": "button","elementOptions": [{ "sourceSuffixes": [] },{ "separator": "" },{ "cssClasses": "col-sm-6" },{ "onClick": "removeAllOptions(this)" },{ "getStringKey": "Gen_Remove_All" }],"transformers": []},{"elementType": "button","elementOptions": [{ "sourceSuffixes": [] },{ "separator": "" },{ "cssClasses": "col-sm-6" },{ "onClick": "removeFromList(this)" },{ "getStringKey": "Gen_Remove_Last" }],"transformers": []}, {"elementType": "select","elementOptions": [{ "multiple": "true" },{ "readonly": "true" },{ "editable": "true" }],"transformers": [] }]}
},
{
"default_value": "0 2 * * *",
@@ -734,7 +734,7 @@
}
],
"options": [],
"type": "text"
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]}
},
{
"default_value": 5,
@@ -769,7 +769,7 @@
}
],
"options": [],
"type": "integer"
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type": "number"}] ,"transformers": []}]}
},
{
"default_value": ["Watched_Value1", "Watched_Value4"],
@@ -801,7 +801,7 @@
"Watched_Value3",
"Watched_Value4"
],
"type": "text.multiselect"
"type": {"dataType":"array", "elements": [{"elementType" : "select", "elementOptions" : [{"multiple":"true"}] ,"transformers": []}]}
},
{
"default_value": ["new", "watched-changed"],
@@ -833,7 +833,7 @@
"watched-not-changed",
"missing-in-last-scan"
],
"type": "text.multiselect"
"type": {"dataType":"array", "elements": [{"elementType" : "select", "elementOptions" : [{"multiple":"true"}] ,"transformers": []}]}
},
{
"default_value": "disabled",
@@ -868,7 +868,7 @@
}
],
"options": ["disabled", "once", "always"],
"type": "text.select"
"type": {"dataType":"string", "elements": [{"elementType" : "select", "elementOptions" : [] ,"transformers": []}]}
}
]
}

View File

@@ -41,7 +41,7 @@
{
"function": "RUN",
"events": ["run"],
"type": "text.select",
"type": {"dataType":"string", "elements": [{"elementType" : "select", "elementOptions" : [] ,"transformers": []}]},
"default_value": "schedule",
"options": ["disabled", "once", "schedule", "always_after_scan"],
"localized": ["name", "description"],
@@ -72,7 +72,7 @@
},
{
"function": "CMD",
"type": "readonly",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{"readonly": "true"}] ,"transformers": []}]},
"default_value": "python3 /app/front/plugins/vendor_update/script.py",
"options": [],
"localized": ["name", "description"],
@@ -107,7 +107,7 @@
},
{
"function": "RUN_SCHD",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "0 4 * * 3",
"options": [],
"localized": ["name", "description"],
@@ -142,7 +142,7 @@
},
{
"function": "RUN_TIMEOUT",
"type": "integer",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type": "number"}] ,"transformers": []}]},
"default_value": 600,
"options": [],
"localized": ["name", "description"],
@@ -177,7 +177,7 @@
},
{
"function": "WATCH",
"type": "text.multiselect",
"type": {"dataType":"array", "elements": [{"elementType" : "select", "elementOptions" : [{"multiple":"true"}] ,"transformers": []}]},
"default_value": ["Watched_Value1"],
"options": [
"Watched_Value1",
@@ -213,7 +213,7 @@
},
{
"function": "REPORT_ON",
"type": "text.multiselect",
"type": {"dataType":"array", "elements": [{"elementType" : "select", "elementOptions" : [{"multiple":"true"}] ,"transformers": []}]},
"default_value": ["new", "watched-changed"],
"options": [
"new",

View File

@@ -344,7 +344,7 @@
{
"function": "RUN",
"events": ["run"],
"type": "text.select",
"type": {"dataType":"string", "elements": [{"elementType" : "select", "elementOptions" : [] ,"transformers": []}]},
"default_value": "disabled",
"options": [
"disabled",
@@ -377,7 +377,7 @@
},
{
"function": "CMD",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "python3 /app/front/plugins/website_monitor/script.py urls={urls}",
"options": [],
"localized": ["name", "description"],
@@ -404,7 +404,7 @@
},
{
"function": "RUN_SCHD",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "0 2 * * *",
"options": [],
"localized": ["name", "description"],
@@ -431,7 +431,7 @@
},
{
"function": "API_SQL",
"type": "text",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]},
"default_value": "SELECT * FROM plugin_website_monitor",
"options": [],
"localized": ["name", "description"],
@@ -458,7 +458,7 @@
},
{
"function": "RUN_TIMEOUT",
"type": "integer",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type": "number"}] ,"transformers": []}]},
"default_value": 5,
"options": [],
"localized": ["name", "description"],
@@ -489,7 +489,7 @@
},
{
"function": "WATCH",
"type": "text.multiselect",
"type": {"dataType":"array", "elements": [{"elementType" : "select", "elementOptions" : [{"multiple":"true"}] ,"transformers": []}]},
"default_value": ["Watched_Value1"],
"options": [
"Watched_Value1",
@@ -521,7 +521,7 @@
},
{
"function": "REPORT_ON",
"type": "text.multiselect",
"type": {"dataType":"array", "elements": [{"elementType" : "select", "elementOptions" : [{"multiple":"true"}] ,"transformers": []}]},
"default_value": ["new", "watched-changed"],
"options": [
"new",
@@ -553,7 +553,7 @@
},
{
"function": "urls_to_check",
"type": "list",
"type": {"dataType": "array","elements": [ {"elementType": "input","elementOptions": [{ "placeholder": "Enter value" },{ "suffix": "_in" },{ "cssClasses": "col-sm-10" },{ "prefillValue": "null" }],"transformers": [] }, {"elementType": "button","elementOptions": [{ "sourceSuffixes": ["_in"] },{ "separator": "" },{ "cssClasses": "col-sm-12" },{ "onClick": "addList(this, false)" },{ "getStringKey": "Gen_Add" }],"transformers": [] }, {"elementType": "button","elementOptions": [{ "sourceSuffixes": [] },{ "separator": "" },{ "cssClasses": "col-sm-6" },{ "onClick": "removeAllOptions(this)" },{ "getStringKey": "Gen_Remove_All" }],"transformers": []},{"elementType": "button","elementOptions": [{ "sourceSuffixes": [] },{ "separator": "" },{ "cssClasses": "col-sm-6" },{ "onClick": "removeFromList(this)" },{ "getStringKey": "Gen_Remove_Last" }],"transformers": []}, {"elementType": "select","elementOptions": [{ "multiple": "true" },{ "readonly": "true" },{ "editable": "true" }],"transformers": [] }]},
"default_value": ["https://google.com", "https://duck.com"],
"options": [],
"localized": ["name", "description"],
@@ -580,7 +580,7 @@
},
{
"function": "SQL_internet_ip",
"type": "readonly",
"type": {"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{"readonly": "true"}] ,"transformers": []}]},
"default_value": "SELECT dev_LastIP FROM Devices WHERE dev_MAC = 'Internet'",
"options": [],
"localized": ["name", "description"],

View File

@@ -30,7 +30,7 @@
"settings": [
{
"function": "AppEvents_hist",
"type": "integer",
"type": {"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type": "number"}] ,"transformers": []}]},
"default_value": 5000,
"options": [],
"localized": ["name", "description"],

View File

@@ -374,9 +374,9 @@ $settingsJSON_DB = json_encode($settings, JSON_HEX_TAG | JSON_HEX_AMP | JSON_HEX
// go thru all settings and collect settings per settings prefix
settingsData.forEach((set) => {
let val = set['Value'];
const val = set['Value'];
const codeName = set['Code_Name'];
const setType = set['Type'].toLowerCase();
const setType = set['Type'];
const isMetadata = codeName.includes('__metadata');
// is this isn't a metadata entry, get corresponding metadata object from the dummy setting
const setObj = isMetadata ? {} : JSON.parse(getSetting(`${codeName}__metadata`));
@@ -414,7 +414,7 @@ $settingsJSON_DB = json_encode($settings, JSON_HEX_TAG | JSON_HEX_AMP | JSON_HEX
<div class="table_cell setting_description">
${getString(codeName + '_description', set['Description'])}
</div>
<div class="table_cell setting_input input-group">
<div class="table_cell setting_input input-group col-sm-12">
`;
// OVERRIDE
@@ -452,142 +452,87 @@ $settingsJSON_DB = json_encode($settings, JSON_HEX_TAG | JSON_HEX_AMP | JSON_HEX
<div class="override-text col-xs-11" title="${getString("Setting_Override_Description")}">
${getString("Setting_Override")}
</div>
</div>`;
</div>`;
}
// INPUT
// pre-processing done, render setting based on type
let inputHtml = "";
if (setType.startsWith('text') || setType.startsWith('string') || setType.startsWith('date-time') ) {
// --- process text ---
if(setType.includes(".select"))
{
inputHtml = generateOptions(pluginsData, set, inputHtml, isMultiSelect = false)
} else if(setType.includes(".multiselect"))
{
inputHtml = generateOptions(pluginsData, set, inputHtml, isMultiSelect = true)
} else{
// if it's overridable set readonly accordingly
if(overridable)
{
override ? readonly = "" : readonly = " readonly" ;
}
inputHtml = `<input class="form-control" onChange="settingsChanged()" my-data-type="${setType}" id="${codeName}" value="${val}" ${readonly}/>`;
}
} else if (setType === 'integer') {
// --- process integer ---
inputHtml = `<input onChange="settingsChanged()" my-data-type="${setType}" class="form-control" id="${codeName}" type="number" value="${val}"/>`;
} else if (setType.startsWith('password')) {
// --- process password ---
inputHtml = `<input onChange="settingsChanged()" my-data-type="${setType}" class="form-control input" id="${codeName}" type="password" value="${val}"/>`;
} else if (setType === 'readonly') {
// --- process readonly ---
inputHtml = `<input class="form-control input" my-data-type="${setType}" id="${codeName}" value="${val}" readonly/>`;
} else if (setType === 'boolean' || setType === 'integer.checkbox') {
// --- process boolean ---
let checked = val === 'True' || val === '1' ? 'checked' : '';
// if it's overridable set readonly accordingly
if(overridable)
{
override ? disabled = "" : disabled = " disabled" ;
}
inputHtml = `<input onChange="settingsChanged()" my-data-type="${setType}" class="checkbox" id="${codeName}" type="checkbox" value="${val}" ${checked} ${disabled}/>`;
} else if (setType === 'integer.select') {
inputHtml = generateOptions(pluginsData, set, inputHtml)
} else if (setType === 'subnets') {
// --- process subnets ---
inputHtml = `
<div class="row form-group">
<div class="col-xs-5">
<input class="form-control" id="ipMask" type="text" placeholder="192.168.1.0/24"/>
</div>
<div class="col-xs-4">
<input class="form-control" id="ipInterface" type="text" placeholder="eth0" />
</div>
<div class="col-xs-3">
<button class="btn btn-primary" onclick="addInterface();initListInteractionOptions('${codeName}')">${getString("Gen_Add")}</button>
</div>
</div>
<div class="form-group">
<select class="form-control" my-data-type="${setType}" name="${codeName}" id="${codeName}" onchange="initListInteractionOptions(${codeName})" multiple readonly>`;
// Parse the setType JSON string into an object
let inputHtml = '';
const setTypeObject = JSON.parse(setType.replace(/'/g, '"'));
const dataType = setTypeObject.dataType;
const elements = setTypeObject.elements || [];
saved_values = createArray(val);
// Iterate through each element in elements array
elements.forEach(elementObj => {
const { elementType, elementOptions = [], transformers = [] } = elementObj;
const {
inputType,
readOnly,
isMultiSelect,
cssClasses,
placeholder,
suffix,
sourceIds,
separator,
editable,
valRes,
getStringKey,
onClick
} = handleElementOptions(codeName, elementOptions, transformers, val);
saved_values.forEach(saved_val => {
inputHtml += `<option value="${saved_val}" >${saved_val}</option>`;
});
// Generate HTML based on dataType and elementType
switch (elementType) {
case 'select':
inputHtml = generateOptions(pluginsData, set, inputHtml, dataType, isMultiSelect, editable, transformers);
break;
inputHtml += `</select>
</div>
<div class="col-xs-12">
<button class="btn btn-primary" my-input="${codeName}" onclick="removeFromList(this)">
${getString("Gen_Remove_Last")}
</button>
<button class="btn btn-primary" my-input="${codeName}" onclick="removeAllOptions(this)">
${getString("Gen_Remove_All")}
</button>
</div>`;
} else if (setType.startsWith('list')) {
// --- process list ---
case 'input':
let checked = val === 'True' || val === '1' ? 'checked' : '';
inputType === 'checkbox' ? inputClass = 'checkbox' : inputClass = 'form-control';
inputHtml += `
<div class="row form-group">
<div class="col-xs-9">`
inputHtml += `
<input
class="${inputClass} ${cssClasses}"
onChange="settingsChanged()"
my-data-type="${dataType}"
id="${codeName}${suffix}"
type="${inputType}"
value="${valRes}"
${readOnly}
${checked}
placeholder="${placeholder}"
/>`;
break;
if(setType.includes(".select")) // not tested
{
inputHtml += generateOptions(pluginsData, set, inputHtml, isMultiSelect = false, isValueSource = false)
case 'button':
inputHtml += `
<button
class="btn btn-primary ${cssClasses}"
my-input-from="${sourceIds}"
my-input-to="${codeName}"
onclick="${onClick}">
${getString(getStringKey)}
</button>`;
break;
case 'textarea':
inputHtml += `
<textarea
class="form-control input"
my-data-type="${dataType}"
id="${codeName}"
${readOnly}>
${val}
</textarea>`;
break;
default:
console.warn(`Unknown element type: ${elementType}`);
}
else if(setType.includes(".multiselect"))
{
inputHtml += generateOptions(pluginsData, set, inputHtml, isMultiSelect = true)
}
else
{
inputHtml += `
<input class="form-control" type="text" id="${codeName}_input" placeholder="Enter value"/>
`;
}
inputHtml += `</div>
<div class="col-xs-3">
<button class="btn btn-primary" my-input-from="${codeName}_input" my-input-to="${codeName}" onclick="addList(this, false);initListInteractionOptions('${codeName}')">${getString("Gen_Add")}</button>
</div>
</div>
<div class="form-group">
<select class="form-control" my-data-type="${setType}" name="${codeName}" id="${codeName}" multiple readonly>`;
let saved_values = createArray(val);
saved_values.forEach(saved_val => {
inputHtml += `<option value="${saved_val}" >${saved_val}</option>`;
});
inputHtml += '</select></div>' +
`<div>
<button class="btn btn-primary" my-input="${codeName}" onclick="removeFromList(this)">
${getString("Gen_Remove_Last")}
</button>
<button class="btn btn-primary" my-input="${codeName}" onclick="removeAllOptions(this)">
${getString("Gen_Remove_All")}
</button>
</div>`;
} else if (setType === 'json') {
// --- process json ---
inputHtml = `<textarea class="form-control input" my-data-type="${setType}" id="${codeName}" readonly>${JSON.stringify(val, null, 2)}</textarea>`;
}
});
// EVENTS
// process events (e.g. run ascan, or test a notification) if associated with the setting
@@ -617,21 +562,14 @@ $settingsJSON_DB = json_encode($settings, JSON_HEX_TAG | JSON_HEX_AMP | JSON_HEX
`
// generate settings in the correct prefix (group) section
$(`#${prefix} .panel-body`).append(setHtml);
// init remove and edit listitem click gestures
if(['subnets'].includes(setType) || setType.startsWith('list'))
{
initListInteractionOptions(codeName)
}
$(`#${prefix} .panel-body`).append(setHtml);
}
});
}
// init finished
initListInteractionOptions() // init remove and edit listitem click gestures
setupSmoothScrolling()
hideSpinner()
@@ -666,49 +604,78 @@ $settingsJSON_DB = json_encode($settings, JSON_HEX_TAG | JSON_HEX_AMP | JSON_HEX
var settingsArray = [];
// collect values for each of the different input form controls
const noConversion = ['text', 'integer', 'string', 'password', 'readonly', 'text.select', 'integer.select', 'text.multiselect'];
// get settings to determine setting type to store values appropriately
$.get('api/table_settings.json?nocache=' + Date.now(), function(res) {
// loop through the settings definitions from the json
res["data"].forEach(set => {
prefix = set["Group"]
setType = set["Type"]
prefix = set["Group"]
setType = set["Type"]
setCodeName = set["Code_Name"]
if (noConversion.includes(setType)) {
const setTypeObject = JSON.parse(setType.replace(/'/g, '"'));
// console.log(setTypeObject);
settingsArray.push([prefix, setCodeName, setType, $('#'+setCodeName).val()]);
const lastElementObj = setTypeObject.elements[setTypeObject.elements.length - 1];
const { elementType, elementOptions = [], transformers = [] } = lastElementObj;
const {
inputType,
readOnly,
isMultiSelect,
cssClasses,
placeholder,
suffix,
sourceIds,
separator,
editable,
valRes,
getStringKey,
onClick
} = handleElementOptions('none', elementOptions, transformers, val = "");
} else if (setType === 'boolean' || setType === 'integer.checkbox') {
let value;
if (setTypeObject.dataType === "string" ||
(setTypeObject.dataType === "integer" && (inputType === "number" || inputType === "text"))) {
const temp = $(`#${setCodeName}`).is(':checked') ? 1 : 0;
settingsArray.push([prefix, setCodeName, setType, temp]);
} else if (setType.startsWith('list') || setType === 'subnets') {
value = $('#' + setCodeName).val();
value = applyTransformers(value, transformers);
settingsArray.push([prefix, setCodeName, setTypeObject.dataType, value]);
} else if (inputType === 'checkbox') {
value = $(`#${setCodeName}`).is(':checked') ? 1 : 0;
value = applyTransformers(value, transformers);
settingsArray.push([prefix, setCodeName, setTypeObject.dataType, value]);
} else if (setTypeObject.dataType === "array" ) {
// make sure to collect all if set as "editable" or selected only otherwise
$(`#${setCodeName}`).attr("my-editable") == "true" ? additionalSelector = "" : additionalSelector = ":selected"
const temps = [];
$(`#${setCodeName} option`).each(function (i, selected) {
const vl = $(selected).val();
$(`#${setCodeName} option${additionalSelector}`).each(function() {
const vl = $(this).val();
if (vl !== '') {
temps.push(vl);
}
});
});
value = JSON.stringify(temps);
value = applyTransformers(value, transformers);
settingsArray.push([prefix, setCodeName, setTypeObject.dataType, value]);
} else if (setTypeObject.dataType === "json") {
settingsArray.push([prefix, setCodeName, setType, JSON.stringify(temps)]);
} else if (setType === 'json') {
const temps = $('#'+setCodeName).val();
settingsArray.push([prefix, setCodeName, setType, temps]);
} else if (setType === 'password.SHA256') {
// save value as SHA256 if value isn't SHA256 already
var temps = $('#'+setCodeName).val();
if(temps != "" && !isSHA256(temps))
{
temps = CryptoJS.SHA256(temps).toString(CryptoJS.enc.Hex);
}
settingsArray.push([prefix, setCodeName, setType, temps]);
value = $('#' + setCodeName).val();
value = applyTransformers(value, transformers);
value = JSON.stringify(value, null, 2)
settingsArray.push([prefix, setCodeName, setTypeObject.dataType, value]);
} else {
value = $('#' + setCodeName).val();
value = applyTransformers(value, transformers);
settingsArray.push([prefix, setCodeName, setTypeObject.dataType, value]);
}
});
@@ -716,8 +683,9 @@ $settingsJSON_DB = json_encode($settings, JSON_HEX_TAG | JSON_HEX_AMP | JSON_HEX
if(settingsCollectedCorrectly(settingsArray, settingsJSON_DB))
{
// console.log(settingsArray);
console.log(settingsArray);
console.log( JSON.stringify(settingsArray));
// return;
// trigger a save settings event in the backend
$.ajax({
method: "POST",
@@ -734,7 +702,7 @@ $settingsJSON_DB = json_encode($settings, JSON_HEX_TAG | JSON_HEX_AMP | JSON_HEX
window.onbeforeunload = null;
// Reloads the current page
setTimeout("clearCache()", 5000);
// setTimeout("clearCache()", 5000);
} else{
// something went wrong
// write_notification(data, 'interrupt')