Last active 1725213315 Unlisted

https://github.com/jokob-sk/NetAlertX/issues/766

gioxx's Avatar gioxx revised this gist 1725213315. Go to revision

1 file changed, 8146 insertions

plugins.json(file created)

@@ -0,0 +1,8146 @@
1 + {
2 + "data":[
3 + {
4 + "code_name":"arp_scan",
5 + "unique_prefix":"ARPSCAN",
6 + "execution_order":"Layer_2",
7 + "plugin_type":"device_scanner",
8 + "enabled":true,
9 + "data_source":"script",
10 + "mapped_to_table":"CurrentScan",
11 + "data_filters":[
12 + {
13 + "compare_column":"Object_PrimaryID",
14 + "compare_operator":"==",
15 + "compare_field_id":"txtMacFilter",
16 + "compare_js_template":"'{value}'.toString()",
17 + "compare_use_quotes":true
18 + }
19 + ],
20 + "show_ui":true,
21 + "localized":[
22 + "display_name",
23 + "description",
24 + "icon"
25 + ],
26 + "display_name":[
27 + {
28 + "language_code":"en_us",
29 + "string":"Arp-Scan (Network scan)"
30 + },
31 + {
32 + "language_code":"es_es",
33 + "string":"Arp-Scan (Escaneo de red)"
34 + },
35 + {
36 + "language_code":"de_de",
37 + "string":"ARP-Scan (Netzwerkscan)"
38 + }
39 + ],
40 + "icon":[
41 + {
42 + "language_code":"en_us",
43 + "string":"<i class=\"fa-solid fa-search\"><\/i>"
44 + },
45 + {
46 + "language_code":"es_es",
47 + "string":"<i class=\"fa-solid fa-search\"><\/i>"
48 + },
49 + {
50 + "language_code":"de_de",
51 + "string":"<i class=\"fa-solid fa-search\"><\/i>"
52 + }
53 + ],
54 + "description":[
55 + {
56 + "language_code":"en_us",
57 + "string":"This plugin is to execute an arp-scan on the local network"
58 + },
59 + {
60 + "language_code":"es_es",
61 + "string":"Este plugin es para ejecutar un escaneo arp en la red local."
62 + },
63 + {
64 + "language_code":"de_de",
65 + "string":"Dieses Plugin wird genutzt, um einen ARP-Scan auf dem lokalen Netzwerk durchzuführen"
66 + }
67 + ],
68 + "params":[
69 + {
70 + "name":"subnets",
71 + "type":"setting",
72 + "value":"SCAN_SUBNETS",
73 + "base64":true
74 + }
75 + ],
76 + "settings":[
77 + {
78 + "function":"RUN",
79 + "type":{
80 + "dataType":"string",
81 + "elements":[
82 + {
83 + "elementType":"select",
84 + "elementOptions":[
85 +
86 + ],
87 + "transformers":[
88 +
89 + ]
90 + }
91 + ]
92 + },
93 + "default_value":"disabled",
94 + "options":[
95 + "disabled",
96 + "once",
97 + "schedule",
98 + "always_after_scan",
99 + "on_new_device"
100 + ],
101 + "localized":[
102 + "name",
103 + "description"
104 + ],
105 + "events":[
106 + "run"
107 + ],
108 + "name":[
109 + {
110 + "language_code":"en_us",
111 + "string":"When to run"
112 + },
113 + {
114 + "language_code":"es_es",
115 + "string":"Cuando ejecutar"
116 + },
117 + {
118 + "language_code":"de_de",
119 + "string":"Wann ausführen"
120 + }
121 + ],
122 + "description":[
123 + {
124 + "language_code":"en_us",
125 + "string":"Specify when your Network-discovery scan will run. Typical setting would be <code>schedule<\/code> and then you specify a cron-like schedule in the <a href=\"#ARPSCAN_RUN_SCHD\"><code>ARPSCAN_RUN_SCHD<\/code>setting<\/a>. ⚠ Use the same schedule if you have multiple <i class=\"fa-solid fa-magnifying-glass-plus\"><\/i> Device scanners enabled. <br/><br/> Depends on the <a onclick=\"toggleAllSettings()\" href=\"#SCAN_SUBNETS\"><code>SCAN_SUBNETS<\/code> setting<\/a>."
126 + },
127 + {
128 + "language_code":"es_es",
129 + "string":"Especifique cuándo se ejecutará su análisis de descubrimiento de red. La configuración típica sería <code>schedule<\/code> y luego se especifica una programación similar a cron en la configuración <a href=\"#ARPSCAN_RUN_SCHD\"><code>ARPSCAN_RUN_SCHD<\/code><\/a> "
130 + },
131 + {
132 + "language_code":"de_de",
133 + "string":"Auswählen wann der Netzwerkscan laufen soll. Typischerweise wird <code>schedule<\/code> ausgewählt und ein cron-Intervall in der <a href=\"#ARPSCAN_RUN_SCHD\"><code>ARPSCAN_RUN_SCHD<\/code>Einstellung<\/a> gesetzt."
134 + }
135 + ],
136 + "value":"schedule"
137 + },
138 + {
139 + "function":"CMD",
140 + "type":{
141 + "dataType":"string",
142 + "elements":[
143 + {
144 + "elementType":"input",
145 + "elementOptions":[
146 + {
147 + "readonly":"true"
148 + }
149 + ],
150 + "transformers":[
151 +
152 + ]
153 + }
154 + ]
155 + },
156 + "default_value":"python3 /app/front/plugins/arp_scan/script.py userSubnets={subnets}",
157 + "options":[
158 +
159 + ],
160 + "localized":[
161 + "name",
162 + "description"
163 + ],
164 + "name":[
165 + {
166 + "language_code":"en_us",
167 + "string":"Command"
168 + },
169 + {
170 + "language_code":"es_es",
171 + "string":"Comando"
172 + },
173 + {
174 + "language_code":"de_de",
175 + "string":"Befehl"
176 + }
177 + ],
178 + "description":[
179 + {
180 + "language_code":"en_us",
181 + "string":"Command to run. This should not be changed"
182 + },
183 + {
184 + "language_code":"es_es",
185 + "string":"Comando para ejecutar. Esto no debe ser cambiado"
186 + },
187 + {
188 + "language_code":"de_de",
189 + "string":"Auszuführender Befehl. Dieser sollte nicht geändert werden"
190 + }
191 + ],
192 + "value":"python3 /app/front/plugins/arp_scan/script.py userSubnets={subnets}"
193 + },
194 + {
195 + "function":"RUN_TIMEOUT",
196 + "type":{
197 + "dataType":"integer",
198 + "elements":[
199 + {
200 + "elementType":"input",
201 + "elementOptions":[
202 + {
203 + "type":"number"
204 + }
205 + ],
206 + "transformers":[
207 +
208 + ]
209 + }
210 + ]
211 + },
212 + "default_value":300,
213 + "options":[
214 +
215 + ],
216 + "localized":[
217 + "name",
218 + "description"
219 + ],
220 + "name":[
221 + {
222 + "language_code":"en_us",
223 + "string":"Run timeout"
224 + },
225 + {
226 + "language_code":"es_es",
227 + "string":"Tiempo límite de ejecución"
228 + },
229 + {
230 + "language_code":"de_de",
231 + "string":"Zeitlimit"
232 + }
233 + ],
234 + "description":[
235 + {
236 + "language_code":"en_us",
237 + "string":"Maximum time in seconds to wait for the script to finish. If this time is exceeded the script is aborted."
238 + },
239 + {
240 + "language_code":"es_es",
241 + "string":"Tiempo máximo en segundos para esperar a que finalice el script. Si se supera este tiempo, se cancela el script."
242 + },
243 + {
244 + "language_code":"de_de",
245 + "string":"Maximale Zeit in Sekunden, die auf den Abschluss des Skripts gewartet werden soll. Bei Überschreitung dieser Zeit wird das Skript abgebrochen."
246 + }
247 + ],
248 + "value":300
249 + },
250 + {
251 + "function":"RUN_SCHD",
252 + "type":{
253 + "dataType":"string",
254 + "elements":[
255 + {
256 + "elementType":"input",
257 + "elementOptions":[
258 +
259 + ],
260 + "transformers":[
261 +
262 + ]
263 + }
264 + ]
265 + },
266 + "default_value":"*/5 * * * *",
267 + "options":[
268 +
269 + ],
270 + "localized":[
271 + "name",
272 + "description"
273 + ],
274 + "name":[
275 + {
276 + "language_code":"en_us",
277 + "string":"Schedule"
278 + },
279 + {
280 + "language_code":"es_es",
281 + "string":"Schedule"
282 + },
283 + {
284 + "language_code":"de_de",
285 + "string":"Zeitplan"
286 + }
287 + ],
288 + "description":[
289 + {
290 + "language_code":"en_us",
291 + "string":"Only enabled if you select <code>schedule<\/code> in the <a href=\"#ARPSCAN_RUN\"><code>ARPSCAN_RUN<\/code> setting<\/a>. Make sure you enter the schedule in the correct cron-like format (e.g. validate at <a href=\"https://crontab.guru/\" target=\"_blank\">crontab.guru<\/a>). For example entering <code>*/3 * * * *<\/code> will run the scan every 3 minutes. Will be run NEXT time the time passes. <br/> It's recommended to use the same schedule interval for all plugins responsible for discovering new devices."
292 + },
293 + {
294 + "language_code":"es_es",
295 + "string":"Solo está habilitado si selecciona <code>schedule<\/code> en la configuración <a href=\"#ARPSCAN_RUN\"><code>ARPSCAN_RUN<\/code><\/a>. Asegúrese de ingresar la programación en el formato similar a cron correcto (por ejemplo, valide en <a href=\"https://crontab.guru/\" target=\"_blank\">crontab.guru<\/a>). Por ejemplo, ingresar <code>*/3 * * * *<\/code> ejecutará el escaneo cada 3 minutos. Se ejecutará la PRÓXIMA vez que pase el tiempo. <br/> Se recomienda utilizar el mismo intervalo de programación para todos los complementos que analizan su red."
296 + },
297 + {
298 + "language_code":"de_de",
299 + "string":"Nur aktiv, wenn <code>schedule<\/code> in der <a href=\"#ARPSCAN_RUN\"><code>ARPSCAN_RUN<\/code> Einstellung<\/a> ausgewählt wurde. Sichergehen, dass das Intervall in einem korrekten cron-ähnlichen Format angegeben wurde (z.B. auf <a href=\"https://crontab.guru/\" target=\"_blank\">crontab.guru<\/a> testen). <code>*/3 * * * *<\/code> würde den Scan alle 3 Minuten starten. Wird erst beim NÄCHSTEN Intervall ausgeführt. <br/>Es wird empfohlen, das Intervall aller Plugins, welche nach neuen Geräten suchen, auf den gleichen Wert zu setzen."
300 + }
301 + ],
302 + "value":"*/5 * * * *"
303 + },
304 + {
305 + "function":"WATCH",
306 + "type":{
307 + "dataType":"array",
308 + "elements":[
309 + {
310 + "elementType":"select",
311 + "elementOptions":[
312 + {
313 + "multiple":"true"
314 + }
315 + ],
316 + "transformers":[
317 +
318 + ]
319 + }
320 + ]
321 + },
322 + "default_value":[
323 + "Watched_Value1",
324 + "Watched_Value2"
325 + ],
326 + "options":[
327 + "Watched_Value1",
328 + "Watched_Value2",
329 + "Watched_Value3",
330 + "Watched_Value4"
331 + ],
332 + "localized":[
333 + "name",
334 + "description"
335 + ],
336 + "name":[
337 + {
338 + "language_code":"en_us",
339 + "string":"Watched"
340 + },
341 + {
342 + "language_code":"es_es",
343 + "string":"Watched"
344 + },
345 + {
346 + "language_code":"de_de",
347 + "string":"Überwacht"
348 + }
349 + ],
350 + "description":[
351 + {
352 + "language_code":"en_us",
353 + "string":"Send a notification if selected values change. Use <code>CTRL + Click<\/code> to select/deselect. <ul> <li><code>Watched_Value1<\/code> is IP<\/li><li><code>Watched_Value2<\/code> is Vendor<\/li><li><code>Watched_Value3<\/code> is Interface <\/li><li><code>Watched_Value4<\/code> is N/A <\/li><\/ul>"
354 + },
355 + {
356 + "language_code":"es_es",
357 + "string":"Envía una notificación si los valores seleccionados cambian. Utilice <code>CTRL + clic<\/code> para seleccionar/deseleccionar. <ul> <li><code>Valor_observado1<\/code> es IP<\/li><li><code>Valor_observado2<\/code> es Proveedor<\/li><li><code>Valor_observado3<\/code> es Interfaz <\/li><li><code>Valor_observado4<\/code> es N/A <\/li><\/ul>"
358 + },
359 + {
360 + "language_code":"de_de",
361 + "string":"Sende eine Benachrichtigung, wenn ein ausgwählter Wert sich ändert. <code>STRG + klicken<\/code> zum aus-/abwählen. <ul> <li><code>Watched_Value1<\/code> ist die IP<\/li><li><code>Watched_Value2<\/code> ist der Hersteller<\/li><li><code>Watched_Value3<\/code> ist das Interface <\/li><li><code>Watched_Value4<\/code> ist nicht in Verwendung <\/li><\/ul>"
362 + }
363 + ],
364 + "value":[
365 + "Watched_Value1",
366 + "Watched_Value2"
367 + ]
368 + },
369 + {
370 + "function":"REPORT_ON",
371 + "type":{
372 + "dataType":"array",
373 + "elements":[
374 + {
375 + "elementType":"select",
376 + "elementOptions":[
377 + {
378 + "multiple":"true"
379 + }
380 + ],
381 + "transformers":[
382 +
383 + ]
384 + }
385 + ]
386 + },
387 + "default_value":[
388 + "new"
389 + ],
390 + "options":[
391 + "new",
392 + "watched-changed",
393 + "watched-not-changed",
394 + "missing-in-last-scan"
395 + ],
396 + "localized":[
397 + "name",
398 + "description"
399 + ],
400 + "name":[
401 + {
402 + "language_code":"en_us",
403 + "string":"Report on"
404 + },
405 + {
406 + "language_code":"es_es",
407 + "string":"Informar sobre"
408 + },
409 + {
410 + "language_code":"de_de",
411 + "string":"Benachrichtige wenn"
412 + }
413 + ],
414 + "description":[
415 + {
416 + "language_code":"en_us",
417 + "string":"When should notification be sent out."
418 + },
419 + {
420 + "language_code":"es_es",
421 + "string":"Cuándo debe enviarse una notificación."
422 + },
423 + {
424 + "language_code":"de_de",
425 + "string":"Wann Benachrichtigungen gesendet werden sollen."
426 + }
427 + ],
428 + "value":[
429 + "new"
430 + ]
431 + },
432 + {
433 + "function":"ARGS",
434 + "type":{
435 + "dataType":"string",
436 + "elements":[
437 + {
438 + "elementType":"input",
439 + "elementOptions":[
440 +
441 + ],
442 + "transformers":[
443 +
444 + ]
445 + }
446 + ]
447 + },
448 + "default_value":"sudo arp-scan --ignoredups --retry=6",
449 + "options":[
450 +
451 + ],
452 + "localized":[
453 + "name",
454 + "description"
455 + ],
456 + "name":[
457 + {
458 + "language_code":"en_us",
459 + "string":"Arguments"
460 + }
461 + ],
462 + "description":[
463 + {
464 + "language_code":"en_us",
465 + "string":"Arguments to run arps-scan with. Recommended and tested only with the setting: <br/> <code>sudo arp-scan --ignoredups --retry=6<\/code>."
466 + }
467 + ],
468 + "value":"sudo arp-scan --ignoredups --retry=6"
469 + }
470 + ],
471 + "database_column_definitions":[
472 + {
473 + "column":"Object_PrimaryID",
474 + "mapped_to_column":"cur_MAC",
475 + "css_classes":"col-sm-2",
476 + "show":true,
477 + "type":"device_name_mac",
478 + "default_value":"",
479 + "options":[
480 +
481 + ],
482 + "localized":[
483 + "name"
484 + ],
485 + "name":[
486 + {
487 + "language_code":"en_us",
488 + "string":"MAC"
489 + },
490 + {
491 + "language_code":"es_es",
492 + "string":"MAC"
493 + },
494 + {
495 + "language_code":"de_de",
496 + "string":"MAC"
497 + }
498 + ]
499 + },
500 + {
501 + "column":"Watched_Value1",
502 + "mapped_to_column":"cur_IP",
503 + "css_classes":"col-sm-2",
504 + "show":true,
505 + "type":"device_ip",
506 + "default_value":"",
507 + "options":[
508 +
509 + ],
510 + "localized":[
511 + "name"
512 + ],
513 + "name":[
514 + {
515 + "language_code":"en_us",
516 + "string":"IP"
517 + },
518 + {
519 + "language_code":"es_es",
520 + "string":"IP"
521 + },
522 + {
523 + "language_code":"de_de",
524 + "string":"IP"
525 + }
526 + ]
527 + },
528 + {
529 + "column":"Watched_Value2",
530 + "mapped_to_column":"cur_Vendor",
531 + "css_classes":"col-sm-2",
532 + "show":true,
533 + "type":"label",
534 + "default_value":"",
535 + "options":[
536 +
537 + ],
538 + "localized":[
539 + "name"
540 + ],
541 + "name":[
542 + {
543 + "language_code":"en_us",
544 + "string":"Vendor"
545 + },
546 + {
547 + "language_code":"es_es",
548 + "string":"Proveedor"
549 + },
550 + {
551 + "language_code":"de_de",
552 + "string":"Hersteller"
553 + }
554 + ]
555 + },
556 + {
557 + "column":"Dummy",
558 + "mapped_to_column":"cur_ScanMethod",
559 + "mapped_to_column_data":{
560 + "value":"arp-scan"
561 + },
562 + "css_classes":"col-sm-2",
563 + "show":true,
564 + "type":"label",
565 + "default_value":"",
566 + "options":[
567 +
568 + ],
569 + "localized":[
570 + "name"
571 + ],
572 + "name":[
573 + {
574 + "language_code":"en_us",
575 + "string":"Scan method"
576 + },
577 + {
578 + "language_code":"es_es",
579 + "string":"Método de escaneo"
580 + },
581 + {
582 + "language_code":"de_de",
583 + "string":"Scanmethode"
584 + }
585 + ]
586 + },
587 + {
588 + "column":"DateTimeCreated",
589 + "css_classes":"col-sm-2",
590 + "show":true,
591 + "type":"label",
592 + "default_value":"",
593 + "options":[
594 +
595 + ],
596 + "localized":[
597 + "name"
598 + ],
599 + "name":[
600 + {
601 + "language_code":"en_us",
602 + "string":"Created"
603 + },
604 + {
605 + "language_code":"es_es",
606 + "string":"Creado"
607 + },
608 + {
609 + "language_code":"de_de",
610 + "string":"Erstellt"
611 + }
612 + ]
613 + },
614 + {
615 + "column":"DateTimeChanged",
616 + "css_classes":"col-sm-2",
617 + "show":true,
618 + "type":"label",
619 + "default_value":"",
620 + "options":[
621 +
622 + ],
623 + "localized":[
624 + "name"
625 + ],
626 + "name":[
627 + {
628 + "language_code":"en_us",
629 + "string":"Changed"
630 + },
631 + {
632 + "language_code":"es_es",
633 + "string":"Cambiado"
634 + },
635 + {
636 + "language_code":"de_de",
637 + "string":"Geändert"
638 + }
639 + ]
640 + },
641 + {
642 + "column":"Status",
643 + "css_classes":"col-sm-1",
644 + "show":true,
645 + "type":"replace",
646 + "default_value":"",
647 + "options":[
648 + {
649 + "equals":"watched-not-changed",
650 + "replacement":"<div style='text-align:center'><i class='fa-solid fa-square-check'><\/i><div><\/div>"
651 + },
652 + {
653 + "equals":"watched-changed",
654 + "replacement":"<div style='text-align:center'><i class='fa-solid fa-triangle-exclamation'><\/i><\/div>"
655 + },
656 + {
657 + "equals":"new",
658 + "replacement":"<div style='text-align:center'><i class='fa-solid fa-circle-plus'><\/i><\/div>"
659 + },
660 + {
661 + "equals":"missing-in-last-scan",
662 + "replacement":"<div style='text-align:center'><i class='fa-solid fa-question'><\/i><\/div>"
663 + }
664 + ],
665 + "localized":[
666 + "name"
667 + ],
668 + "name":[
669 + {
670 + "language_code":"en_us",
671 + "string":"Status"
672 + },
673 + {
674 + "language_code":"es_es",
675 + "string":"Estado"
676 + },
677 + {
678 + "language_code":"de_de",
679 + "string":"Status"
680 + }
681 + ]
682 + }
683 + ]
684 + },
685 + {
686 + "code_name":"internet_ip",
687 + "unique_prefix":"INTRNT",
688 + "plugin_type":"device_scanner",
689 + "execution_order":"Layer_3",
690 + "enabled":true,
691 + "mapped_to_table":"CurrentScan",
692 + "data_filters":[
693 + {
694 + "compare_column":"Object_PrimaryID",
695 + "compare_operator":"==",
696 + "compare_field_id":"txtMacFilter",
697 + "compare_js_template":"'{value}'.toString()",
698 + "compare_use_quotes":true
699 + }
700 + ],
701 + "data_source":"script",
702 + "show_ui":true,
703 + "localized":[
704 + "display_name",
705 + "description",
706 + "icon"
707 + ],
708 + "display_name":[
709 + {
710 + "language_code":"en_us",
711 + "string":"Internet check"
712 + },
713 + {
714 + "language_code":"en_us",
715 + "string":"Internet-Check"
716 + }
717 + ],
718 + "icon":[
719 + {
720 + "language_code":"en_us",
721 + "string":"<i class=\"fa-solid fa-globe\"><\/i>"
722 + },
723 + {
724 + "language_code":"de_de",
725 + "string":"<i class=\"fa-solid fa-globe\"><\/i>"
726 + }
727 + ],
728 + "description":[
729 + {
730 + "language_code":"en_us",
731 + "string":"A plugin to check your internet connectivity and IP."
732 + },
733 + {
734 + "language_code":"de_de",
735 + "string":"Ein Plugin zur Prüfung der Internetverbindung und externen IP."
736 + }
737 + ],
738 + "params":[
739 + {
740 + "name":"prev_ip",
741 + "type":"sql",
742 + "value":"SELECT dev_LastIP FROM Devices WHERE dev_MAC = 'Internet' "
743 + },
744 + {
745 + "name":"INTRNT_DIG_GET_IP_ARG",
746 + "type":"setting",
747 + "value":"INTRNT_DIG_GET_IP_ARG",
748 + "base64":true
749 + }
750 + ],
751 + "settings":[
752 + {
753 + "function":"RUN",
754 + "events":[
755 + "run"
756 + ],
757 + "type":{
758 + "dataType":"string",
759 + "elements":[
760 + {
761 + "elementType":"select",
762 + "elementOptions":[
763 +
764 + ],
765 + "transformers":[
766 +
767 + ]
768 + }
769 + ]
770 + },
771 + "default_value":"disabled",
772 + "options":[
773 + "disabled",
774 + "once",
775 + "schedule",
776 + "always_after_scan"
777 + ],
778 + "localized":[
779 + "name",
780 + "description"
781 + ],
782 + "name":[
783 + {
784 + "language_code":"en_us",
785 + "string":"When to run"
786 + },
787 + {
788 + "language_code":"es_es",
789 + "string":"Cuándo ejecutar"
790 + },
791 + {
792 + "language_code":"de_de",
793 + "string":"Wann ausführen"
794 + }
795 + ],
796 + "description":[
797 + {
798 + "language_code":"en_us",
799 + "string":"When the plugin should run. An hourly or daily <code>SCHEDULE<\/code> is a good option."
800 + },
801 + {
802 + "language_code":"de_de",
803 + "string":"Wann das Plugin ausgeführt werden soll. Eine stündliche oder tägliche <code>SCHEDULE<\/code> wird empfohlen."
804 + }
805 + ],
806 + "value":"schedule"
807 + },
808 + {
809 + "function":"CMD",
810 + "type":{
811 + "dataType":"string",
812 + "elements":[
813 + {
814 + "elementType":"input",
815 + "elementOptions":[
816 + {
817 + "readonly":"true"
818 + }
819 + ],
820 + "transformers":[
821 +
822 + ]
823 + }
824 + ]
825 + },
826 + "default_value":"python3 /app/front/plugins/internet_ip/script.py prev_ip={prev_ip} INTRNT_DIG_GET_IP_ARG={INTRNT_DIG_GET_IP_ARG}",
827 + "options":[
828 +
829 + ],
830 + "localized":[
831 + "name",
832 + "description"
833 + ],
834 + "name":[
835 + {
836 + "language_code":"en_us",
837 + "string":"Command"
838 + },
839 + {
840 + "language_code":"es_es",
841 + "string":"Comando"
842 + },
843 + {
844 + "language_code":"de_de",
845 + "string":"Befehl"
846 + }
847 + ],
848 + "description":[
849 + {
850 + "language_code":"en_us",
851 + "string":"Command to run. This can not be changed"
852 + },
853 + {
854 + "language_code":"es_es",
855 + "string":"Comando a ejecutar. Esto no se puede cambiar"
856 + },
857 + {
858 + "language_code":"de_de",
859 + "string":"Befehl zum Ausführen. Dies kann nicht geändert werden"
860 + }
861 + ],
862 + "value":"python3 /app/front/plugins/internet_ip/script.py prev_ip={prev_ip} INTRNT_DIG_GET_IP_ARG={INTRNT_DIG_GET_IP_ARG}"
863 + },
864 + {
865 + "function":"DIG_GET_IP_ARG",
866 + "type":{
867 + "dataType":"string",
868 + "elements":[
869 + {
870 + "elementType":"input",
871 + "elementOptions":[
872 +
873 + ],
874 + "transformers":[
875 +
876 + ]
877 + }
878 + ]
879 + },
880 + "default_value":"-4 myip.opendns.com @resolver1.opendns.com",
881 + "options":[
882 +
883 + ],
884 + "localized":[
885 + "name",
886 + "description"
887 + ],
888 + "name":[
889 + {
890 + "language_code":"en_us",
891 + "string":"Internet IP discovery"
892 + },
893 + {
894 + "language_code":"es_es",
895 + "string":"Descubrir de IP de Internet"
896 + },
897 + {
898 + "language_code":"de_de",
899 + "string":"Erkennung externer IP (\"Internet IP\")"
900 + }
901 + ],
902 + "description":[
903 + {
904 + "language_code":"en_us",
905 + "string":"Change the <a href=\"https://linux.die.net/man/1/dig\" target=\"_blank\">dig utility<\/a> arguments if you have issues resolving your Internet IP. Arguments are added at the end of the following command: <code>dig +short <\/code>. Tested with: <br/> <ul> <li><code>@ns1.google.com -t txt o-o.myaddr.l.google.com<\/code><\/li><li> <code>-4 myip.opendns.com @resolver1.opendns.com<\/code><\/li><\/ul>"
906 + },
907 + {
908 + "language_code":"es_es",
909 + "string":"Cambie los argumentos de la <a href=\"https://linux.die.net/man/1/dig\" target=\"_blank\">utilidad de dig<\/a> si tiene problemas para resolver su IP de Internet. Los argumentos se agregan al final del siguiente comando: <code>dig +short <\/code>."
910 + },
911 + {
912 + "language_code":"de_de",
913 + "string":"Ändere die Argumente des <a href=\"https://linux.die.net/man/1/dig\" target=\"_blank\">dig Dienstprogramms<\/a>, wenn Probleme beim Auflösen der externen IP auftreten. Argumente werden an das Ende des folgenden Befehls angehängt: <code>dig +short <\/code>."
914 + }
915 + ],
916 + "value":"-4 myip.opendns.com @resolver1.opendns.com"
917 + },
918 + {
919 + "function":"RUN_SCHD",
920 + "type":{
921 + "dataType":"string",
922 + "elements":[
923 + {
924 + "elementType":"input",
925 + "elementOptions":[
926 +
927 + ],
928 + "transformers":[
929 +
930 + ]
931 + }
932 + ]
933 + },
934 + "default_value":"*/5 * * * *",
935 + "options":[
936 +
937 + ],
938 + "localized":[
939 + "name",
940 + "description"
941 + ],
942 + "name":[
943 + {
944 + "language_code":"en_us",
945 + "string":"Schedule"
946 + },
947 + {
948 + "language_code":"es_es",
949 + "string":"Schedule"
950 + },
951 + {
952 + "language_code":"de_de",
953 + "string":"Zeitplan"
954 + }
955 + ],
956 + "description":[
957 + {
958 + "language_code":"en_us",
959 + "string":"Only enabled if you select <code>schedule<\/code> in the <a href=\"#INTRNT_RUN\"><code>INTRNT_RUN<\/code> setting<\/a>. Make sure you enter the schedule in the correct cron-like format (e.g. validate at <a href=\"https://crontab.guru/\" target=\"_blank\">crontab.guru<\/a>). For example entering <code>0 4 * * *<\/code> will run the scan after 4 am in the <a onclick=\"toggleAllSettings()\" href=\"#TIMEZONE\"><code>TIMEZONE<\/code> you set above<\/a>. Will be run NEXT time the time passes. It's recommended to use the same schedule interval for all plugins responsible for discovering new devices."
960 + },
961 + {
962 + "language_code":"es_es",
963 + "string":"Solo está habilitado si selecciona <code>schedule<\/code> en la configuración <a href=\"#INTRNT_RUN\"><code>INTRNT_RUN<\/code><\/a>. Asegúrese de ingresar la programación en el formato similar a cron correcto (por ejemplo, valide en <a href=\"https://crontab.guru/\" target=\"_blank\">crontab.guru<\/a>). Por ejemplo, ingresar <code>0 4 * * *<\/code> ejecutará el escaneo después de las 4 a.m. en el <a onclick=\"toggleAllSettings()\" href=\"#TIMEZONE\"><code>TIMEZONE<\/ código> que configuró arriba<\/a>. Se ejecutará la PRÓXIMA vez que pase el tiempo."
964 + },
965 + {
966 + "language_code":"de_de",
967 + "string":"Nur aktiv, wenn <code>schedule<\/code> in der <a href=\"#INTRNT_RUN\"><code>INTRNT_RUN<\/code>Einstellung<\/a> ausgewählt wurde. Sichergehen, dass das Intervall in einem korrekten cron-ähnlichen Format angegeben wurde (z.B. auf <a href=\"https://crontab.guru/\" target=\"_blank\">crontab.guru<\/a> testen). <code>0 4 * * *<\/code> würde den Scan täglich um 4 Uhr in der <a onclick=\"toggleAllSettings()\" href=\"#TIMEZONE\">oben ausgewählten <code>TIMEZONE<\/code><\/a> starten. Wird erst beim NÄCHSTEN Intervall ausgeführt. <br/>Es wird empfohlen, das Intervall aller Plugins, welche nach neuen Geräten suchen, auf den gleichen Wert zu setzen."
968 + }
969 + ],
970 + "value":"*/5 * * * *"
971 + },
972 + {
973 + "function":"RUN_TIMEOUT",
974 + "type":{
975 + "dataType":"integer",
976 + "elements":[
977 + {
978 + "elementType":"input",
979 + "elementOptions":[
980 + {
981 + "type":"number"
982 + }
983 + ],
984 + "transformers":[
985 +
986 + ]
987 + }
988 + ]
989 + },
990 + "default_value":30,
991 + "options":[
992 +
993 + ],
994 + "localized":[
995 + "name",
996 + "description"
997 + ],
998 + "name":[
999 + {
1000 + "language_code":"en_us",
1001 + "string":"Run timeout"
1002 + },
1003 + {
1004 + "language_code":"es_es",
1005 + "string":"Tiempo límite de ejecución"
1006 + },
1007 + {
1008 + "language_code":"de_de",
1009 + "string":"Zeitlimit"
1010 + }
1011 + ],
1012 + "description":[
1013 + {
1014 + "language_code":"en_us",
1015 + "string":"Maximum time in seconds to wait for the script to finish. If this time is exceeded the script is aborted."
1016 + },
1017 + {
1018 + "language_code":"es_es",
1019 + "string":"Tiempo máximo en segundos para esperar a que finalice el script. Si se supera este tiempo, el script se cancela."
1020 + },
1021 + {
1022 + "language_code":"de_de",
1023 + "string":"Maximale Zeit in Sekunden, die auf den Abschluss des Skripts gewartet werden soll. Bei Überschreitung dieser Zeit wird das Skript abgebrochen."
1024 + }
1025 + ],
1026 + "value":30
1027 + },
1028 + {
1029 + "function":"RETRIES",
1030 + "type":{
1031 + "dataType":"integer",
1032 + "elements":[
1033 + {
1034 + "elementType":"input",
1035 + "elementOptions":[
1036 + {
1037 + "type":"number"
1038 + }
1039 + ],
1040 + "transformers":[
1041 +
1042 + ]
1043 + }
1044 + ]
1045 + },
1046 + "default_value":3,
1047 + "options":[
1048 +
1049 + ],
1050 + "localized":[
1051 + "name",
1052 + "description"
1053 + ],
1054 + "name":[
1055 + {
1056 + "language_code":"en_us",
1057 + "string":"Retries"
1058 + }
1059 + ],
1060 + "description":[
1061 + {
1062 + "language_code":"en_us",
1063 + "string":"Number of retries before Internet is marked as unreachable. Exponential backoff strategy is used between tries (1s - 1st retry, 2s - 2nd retry, etc)."
1064 + }
1065 + ],
1066 + "value":3
1067 + },
1068 + {
1069 + "function":"WATCH",
1070 + "type":{
1071 + "dataType":"array",
1072 + "elements":[
1073 + {
1074 + "elementType":"select",
1075 + "elementOptions":[
1076 + {
1077 + "multiple":"true"
1078 + }
1079 + ],
1080 + "transformers":[
1081 +
1082 + ]
1083 + }
1084 + ]
1085 + },
1086 + "default_value":[
1087 + "Watched_Value1"
1088 + ],
1089 + "options":[
1090 + "Watched_Value1",
1091 + "Watched_Value2",
1092 + "Watched_Value3",
1093 + "Watched_Value4"
1094 + ],
1095 + "localized":[
1096 + "name",
1097 + "description"
1098 + ],
1099 + "name":[
1100 + {
1101 + "language_code":"en_us",
1102 + "string":"Watched"
1103 + },
1104 + {
1105 + "language_code":"es_es",
1106 + "string":"Visto"
1107 + },
1108 + {
1109 + "language_code":"de_de",
1110 + "string":"Überwacht"
1111 + }
1112 + ],
1113 + "description":[
1114 + {
1115 + "language_code":"en_us",
1116 + "string":"Send a notification if selected values change. Use <code>CTRL + Click<\/code> to select/deselect. <ul> <li><code>Watched_Value1<\/code> is Previous IP (not recommended)<\/li><li><code>Watched_Value2<\/code> unused<\/li><li><code>Watched_Value3<\/code> unused <\/li><li><code>Watched_Value4<\/code> type <\/li><\/ul>"
1117 + },
1118 + {
1119 + "language_code":"de_de",
1120 + "string":"Sende eine Benachrichtigung, wenn ein ausgwählter Wert sich ändert. <code>STRG + klicken<\/code> zum aus-/abwählen. <ul> <li><code>Watched_Value1<\/code> ist die Vorige IP (nicht empfohlen)<\/li><li><code>Watched_Value2<\/code> ist nicht in Verwendung<\/li><li><code>Watched_Value3<\/code> ist nicht in Verwendung <\/li><li><code>Watched_Value4<\/code> ist nicht in Verwendung <\/li><\/ul>"
1121 + }
1122 + ],
1123 + "value":[
1124 + "Watched_Value1"
1125 + ]
1126 + },
1127 + {
1128 + "function":"REPORT_ON",
1129 + "type":{
1130 + "dataType":"array",
1131 + "elements":[
1132 + {
1133 + "elementType":"select",
1134 + "elementOptions":[
1135 + {
1136 + "multiple":"true"
1137 + }
1138 + ],
1139 + "transformers":[
1140 +
1141 + ]
1142 + }
1143 + ]
1144 + },
1145 + "default_value":[
1146 + "new",
1147 + "watched-changed"
1148 + ],
1149 + "options":[
1150 + "new",
1151 + "watched-changed",
1152 + "watched-not-changed",
1153 + "missing-in-last-scan"
1154 + ],
1155 + "localized":[
1156 + "name",
1157 + "description"
1158 + ],
1159 + "name":[
1160 + {
1161 + "language_code":"en_us",
1162 + "string":"Report on"
1163 + },
1164 + {
1165 + "language_code":"es_es",
1166 + "string":"Informar sobre"
1167 + },
1168 + {
1169 + "language_code":"de_de",
1170 + "string":"Benachrichtige wenn"
1171 + }
1172 + ],
1173 + "description":[
1174 + {
1175 + "language_code":"en_us",
1176 + "string":"Send a notification only on these statuses. <code>new<\/code> means a new unique (unique combination of PrimaryId and SecondaryId) object was discovered. <code>watched-changed<\/code> means that selected <code>Watched_ValueN<\/code> columns changed."
1177 + },
1178 + {
1179 + "language_code":"es_es",
1180 + "string":"Envíe una notificación solo en estos estados. <code>new<\/code> significa que se descubrió un nuevo objeto único (una combinación única de PrimaryId y SecondaryId). <code>watched-changed<\/code> significa que las columnas <code>Watched_ValueN<\/code> seleccionadas cambiaron."
1181 + },
1182 + {
1183 + "language_code":"de_de",
1184 + "string":"Benachrichtige nur bei diesen Status. <code>new<\/code> bedeutet ein neues eindeutiges (einzigartige Kombination aus PrimaryId und SecondaryId) Objekt wurde erkennt. <code>watched-changed<\/code> bedeutet eine ausgewählte <code>Watched_ValueN<\/code>-Spalte hat sich geändert."
1185 + }
1186 + ],
1187 + "value":[
1188 + "new",
1189 + "watched-changed"
1190 + ]
1191 + }
1192 + ],
1193 + "database_column_definitions":[
1194 + {
1195 + "column":"Object_PrimaryID",
1196 + "mapped_to_column":"cur_MAC",
1197 + "css_classes":"col-sm-2",
1198 + "show":true,
1199 + "type":"device_name_mac",
1200 + "default_value":"",
1201 + "options":[
1202 +
1203 + ],
1204 + "localized":[
1205 + "name"
1206 + ],
1207 + "name":[
1208 + {
1209 + "language_code":"en_us",
1210 + "string":"MAC"
1211 + },
1212 + {
1213 + "language_code":"es_es",
1214 + "string":"MAC"
1215 + },
1216 + {
1217 + "language_code":"de_de",
1218 + "string":"MAC"
1219 + }
1220 + ]
1221 + },
1222 + {
1223 + "column":"Object_SecondaryID",
1224 + "mapped_to_column":"cur_IP",
1225 + "css_classes":"col-sm-2",
1226 + "show":true,
1227 + "type":"device_ip",
1228 + "default_value":"",
1229 + "options":[
1230 +
1231 + ],
1232 + "localized":[
1233 + "name"
1234 + ],
1235 + "name":[
1236 + {
1237 + "language_code":"en_us",
1238 + "string":"IP"
1239 + },
1240 + {
1241 + "language_code":"es_es",
1242 + "string":"IP"
1243 + },
1244 + {
1245 + "language_code":"de_de",
1246 + "string":"IP"
1247 + }
1248 + ]
1249 + },
1250 + {
1251 + "column":"Watched_Value1",
1252 + "css_classes":"col-sm-2",
1253 + "show":true,
1254 + "type":"label",
1255 + "default_value":"",
1256 + "options":[
1257 +
1258 + ],
1259 + "localized":[
1260 + "name"
1261 + ],
1262 + "name":[
1263 + {
1264 + "language_code":"en_us",
1265 + "string":"Extra"
1266 + },
1267 + {
1268 + "language_code":"de_de",
1269 + "string":"Extra"
1270 + }
1271 + ]
1272 + },
1273 + {
1274 + "column":"Watched_Value2",
1275 + "css_classes":"col-sm-2",
1276 + "show":true,
1277 + "type":"textarea_readonly",
1278 + "default_value":"",
1279 + "options":[
1280 +
1281 + ],
1282 + "localized":[
1283 + "name"
1284 + ],
1285 + "name":[
1286 + {
1287 + "language_code":"en_us",
1288 + "string":"Response"
1289 + }
1290 + ]
1291 + },
1292 + {
1293 + "column":"Watched_Value3",
1294 + "css_classes":"col-sm-2",
1295 + "show":true,
1296 + "type":"label",
1297 + "default_value":"",
1298 + "options":[
1299 +
1300 + ],
1301 + "localized":[
1302 + "name"
1303 + ],
1304 + "name":[
1305 + {
1306 + "language_code":"en_us",
1307 + "string":"Retries needed"
1308 + }
1309 + ]
1310 + },
1311 + {
1312 + "column":"Watched_Value4",
1313 + "mapped_to_column":"cur_Type",
1314 + "css_classes":"col-sm-2",
1315 + "show":false,
1316 + "type":"label",
1317 + "default_value":"",
1318 + "options":[
1319 +
1320 + ],
1321 + "localized":[
1322 + "name"
1323 + ],
1324 + "name":[
1325 + {
1326 + "language_code":"en_us",
1327 + "string":"Type"
1328 + }
1329 + ]
1330 + },
1331 + {
1332 + "column":"Dummy",
1333 + "mapped_to_column":"cur_ScanMethod",
1334 + "mapped_to_column_data":{
1335 + "value":"INTRNT"
1336 + },
1337 + "css_classes":"col-sm-2",
1338 + "show":true,
1339 + "type":"label",
1340 + "default_value":"",
1341 + "options":[
1342 +
1343 + ],
1344 + "localized":[
1345 + "name"
1346 + ],
1347 + "name":[
1348 + {
1349 + "language_code":"en_us",
1350 + "string":"Scan method"
1351 + },
1352 + {
1353 + "language_code":"es_es",
1354 + "string":"Método de escaneo"
1355 + },
1356 + {
1357 + "language_code":"de_de",
1358 + "string":"Scanmethode"
1359 + }
1360 + ]
1361 + },
1362 + {
1363 + "column":"DateTimeCreated",
1364 + "css_classes":"col-sm-2",
1365 + "show":true,
1366 + "type":"label",
1367 + "default_value":"",
1368 + "options":[
1369 +
1370 + ],
1371 + "localized":[
1372 + "name"
1373 + ],
1374 + "name":[
1375 + {
1376 + "language_code":"en_us",
1377 + "string":"Created"
1378 + },
1379 + {
1380 + "language_code":"es_es",
1381 + "string":"Creado"
1382 + },
1383 + {
1384 + "language_code":"de_de",
1385 + "string":"Erstellt"
1386 + }
1387 + ]
1388 + },
1389 + {
1390 + "column":"DateTimeChanged",
1391 + "mapped_to_column":"cur_DateTime",
1392 + "css_classes":"col-sm-2",
1393 + "show":true,
1394 + "type":"label",
1395 + "default_value":"",
1396 + "options":[
1397 +
1398 + ],
1399 + "localized":[
1400 + "name"
1401 + ],
1402 + "name":[
1403 + {
1404 + "language_code":"en_us",
1405 + "string":"Changed"
1406 + },
1407 + {
1408 + "language_code":"es_es",
1409 + "string":"Cambiado"
1410 + },
1411 + {
1412 + "language_code":"de_de",
1413 + "string":"Geändert"
1414 + }
1415 + ]
1416 + },
1417 + {
1418 + "column":"Status",
1419 + "css_classes":"col-sm-1",
1420 + "show":true,
1421 + "type":"replace",
1422 + "default_value":"",
1423 + "options":[
1424 + {
1425 + "equals":"watched-not-changed",
1426 + "replacement":"<div style='text-align:center'><i class='fa-solid fa-square-check'><\/i><div><\/div>"
1427 + },
1428 + {
1429 + "equals":"watched-changed",
1430 + "replacement":"<div style='text-align:center'><i class='fa-solid fa-triangle-exclamation'><\/i><\/div>"
1431 + },
1432 + {
1433 + "equals":"new",
1434 + "replacement":"<div style='text-align:center'><i class='fa-solid fa-circle-plus'><\/i><\/div>"
1435 + },
1436 + {
1437 + "equals":"missing-in-last-scan",
1438 + "replacement":"<div style='text-align:center'><i class='fa-solid fa-question'><\/i><\/div>"
1439 + }
1440 + ],
1441 + "localized":[
1442 + "name"
1443 + ],
1444 + "name":[
1445 + {
1446 + "language_code":"en_us",
1447 + "string":"Status"
1448 + },
1449 + {
1450 + "language_code":"es_es",
1451 + "string":"Estado"
1452 + },
1453 + {
1454 + "language_code":"de_de",
1455 + "string":"Status"
1456 + }
1457 + ]
1458 + }
1459 + ]
1460 + },
1461 + {
1462 + "code_name":"nslookup_scan",
1463 + "unique_prefix":"NSLOOKUP",
1464 + "plugin_type":"other",
1465 + "execution_order":"Layer_4",
1466 + "enabled":true,
1467 + "data_source":"script",
1468 + "show_ui":true,
1469 + "localized":[
1470 + "display_name",
1471 + "description",
1472 + "icon"
1473 + ],
1474 + "display_name":[
1475 + {
1476 + "language_code":"en_us",
1477 + "string":"NSLOOKUP (Name discovery)"
1478 + }
1479 + ],
1480 + "icon":[
1481 + {
1482 + "language_code":"en_us",
1483 + "string":"<i class=\"fa-solid fa-search\"><\/i>"
1484 + }
1485 + ],
1486 + "description":[
1487 + {
1488 + "language_code":"en_us",
1489 + "string":"A plugin to discover device names."
1490 + }
1491 + ],
1492 + "params":[
1493 + {
1494 + "name":"ips",
1495 + "type":"sql",
1496 + "value":"SELECT dev_LastIP from DEVICES order by dev_MAC",
1497 + "timeoutMultiplier":true
1498 + }
1499 + ],
1500 + "settings":[
1501 + {
1502 + "function":"RUN",
1503 + "events":[
1504 + "run"
1505 + ],
1506 + "type":{
1507 + "dataType":"string",
1508 + "elements":[
1509 + {
1510 + "elementType":"select",
1511 + "elementOptions":[
1512 +
1513 + ],
1514 + "transformers":[
1515 +
1516 + ]
1517 + }
1518 + ]
1519 + },
1520 + "default_value":"disabled",
1521 + "options":[
1522 + "disabled",
1523 + "before_name_updates",
1524 + "on_new_device",
1525 + "once",
1526 + "schedule",
1527 + "always_after_scan"
1528 + ],
1529 + "localized":[
1530 + "name",
1531 + "description"
1532 + ],
1533 + "name":[
1534 + {
1535 + "language_code":"en_us",
1536 + "string":"When to run"
1537 + },
1538 + {
1539 + "language_code":"es_es",
1540 + "string":"Cuándo ejecutar"
1541 + },
1542 + {
1543 + "language_code":"de_de",
1544 + "string":"Wann laufen"
1545 + }
1546 + ],
1547 + "description":[
1548 + {
1549 + "language_code":"en_us",
1550 + "string":"When the plugin should be executed. If enabled this will execute the scan until there are no <code>(unknown)<\/code> or <code>(name not found)<\/code> devices. Setting this to <code>on_new_device<\/code> or a daily <code>schedule<\/code> is recommended.<br/><br/> Depends on the <a onclick=\"toggleAllSettings()\" href=\"#SCAN_SUBNETS\"><code>SCAN_SUBNETS<\/code> setting<\/a>."
1551 + }
1552 + ],
1553 + "value":"before_name_updates"
1554 + },
1555 + {
1556 + "function":"CMD",
1557 + "type":{
1558 + "dataType":"string",
1559 + "elements":[
1560 + {
1561 + "elementType":"input",
1562 + "elementOptions":[
1563 + {
1564 + "readonly":"true"
1565 + }
1566 + ],
1567 + "transformers":[
1568 +
1569 + ]
1570 + }
1571 + ]
1572 + },
1573 + "default_value":"python3 /app/front/plugins/nslookup_scan/nslookup.py",
1574 + "options":[
1575 +
1576 + ],
1577 + "localized":[
1578 + "name",
1579 + "description"
1580 + ],
1581 + "name":[
1582 + {
1583 + "language_code":"en_us",
1584 + "string":"Command"
1585 + },
1586 + {
1587 + "language_code":"es_es",
1588 + "string":"Comando"
1589 + },
1590 + {
1591 + "language_code":"de_de",
1592 + "string":"Befehl"
1593 + }
1594 + ],
1595 + "description":[
1596 + {
1597 + "language_code":"en_us",
1598 + "string":"Command to run. This can not be changed"
1599 + },
1600 + {
1601 + "language_code":"es_es",
1602 + "string":"Comando a ejecutar. Esto no se puede cambiar"
1603 + },
1604 + {
1605 + "language_code":"de_de",
1606 + "string":"Befehl zum Ausführen. Dies kann nicht geändert werden"
1607 + }
1608 + ],
1609 + "value":"python3 /app/front/plugins/nslookup_scan/nslookup.py"
1610 + },
1611 + {
1612 + "function":"RUN_SCHD",
1613 + "type":{
1614 + "dataType":"string",
1615 + "elements":[
1616 + {
1617 + "elementType":"input",
1618 + "elementOptions":[
1619 +
1620 + ],
1621 + "transformers":[
1622 +
1623 + ]
1624 + }
1625 + ]
1626 + },
1627 + "default_value":"*/30 * * * *",
1628 + "options":[
1629 +
1630 + ],
1631 + "localized":[
1632 + "name",
1633 + "description"
1634 + ],
1635 + "name":[
1636 + {
1637 + "language_code":"en_us",
1638 + "string":"Schedule"
1639 + },
1640 + {
1641 + "language_code":"es_es",
1642 + "string":"Schedule"
1643 + },
1644 + {
1645 + "language_code":"de_de",
1646 + "string":"Schedule"
1647 + }
1648 + ],
1649 + "description":[
1650 + {
1651 + "language_code":"en_us",
1652 + "string":"Only enabled if you select <code>schedule<\/code> in the <a href=\"#NSLOOKUP_RUN\"><code>NSLOOKUP_RUN<\/code> setting<\/a>. Make sure you enter the schedule in the correct cron-like format (e.g. validate at <a href=\"https://crontab.guru/\" target=\"_blank\">crontab.guru<\/a>). For example entering <code>0 4 * * *<\/code> will run the scan after 4 am in the <a onclick=\"toggleAllSettings()\" href=\"#TIMEZONE\"><code>TIMEZONE<\/code> you set above<\/a>. Will be run NEXT time the time passes."
1653 + },
1654 + {
1655 + "language_code":"es_es",
1656 + "string":"Solo está habilitado si selecciona <code>schedule<\/code> en la configuración <a href=\"#NSLOOKUP_RUN\"><code>NSLOOKUP_RUN<\/code><\/a>. Asegúrese de ingresar la programación en el formato similar a cron correcto (por ejemplo, valide en <a href=\"https://crontab.guru/\" target=\"_blank\">crontab.guru<\/a>). Por ejemplo, ingresar <code>0 4 * * *<\/code> ejecutará el escaneo después de las 4 a.m. en el <a onclick=\"toggleAllSettings()\" href=\"#TIMEZONE\"><code>TIMEZONE<\/ código> que configuró arriba<\/a>. Se ejecutará la PRÓXIMA vez que pase el tiempo."
1657 + },
1658 + {
1659 + "language_code":"de_de",
1660 + "string":"Nur aktiviert, wenn Sie <code>schedule<\/code> in der <a href=\"#NSLOOKUP_RUN\"><code>NSLOOKUP_RUN<\/code>-Einstellung<\/a> auswählen. Stellen Sie sicher, dass Sie den Zeitplan im richtigen Cron-ähnlichen Format eingeben (z. B. validieren unter <a href=\"https://crontab.guru/\" target=\"_blank\">crontab.guru<\/a>). Wenn Sie beispielsweise <code>0 4 * * *<\/code> eingeben, wird der Scan nach 4 Uhr morgens in der <a onclick=\"toggleAllSettings()\" href=\"#TIMEZONE\"><code>TIMEZONE<\/ ausgeführt. Code> den Sie oben festgelegt haben<\/a>. Wird das NÄCHSTE Mal ausgeführt, wenn die Zeit vergeht."
1661 + }
1662 + ],
1663 + "value":"*/30 * * * *"
1664 + },
1665 + {
1666 + "function":"RUN_TIMEOUT",
1667 + "type":{
1668 + "dataType":"integer",
1669 + "elements":[
1670 + {
1671 + "elementType":"input",
1672 + "elementOptions":[
1673 + {
1674 + "type":"number"
1675 + }
1676 + ],
1677 + "transformers":[
1678 +
1679 + ]
1680 + }
1681 + ]
1682 + },
1683 + "default_value":10,
1684 + "options":[
1685 +
1686 + ],
1687 + "localized":[
1688 + "name",
1689 + "description"
1690 + ],
1691 + "name":[
1692 + {
1693 + "language_code":"en_us",
1694 + "string":"Run timeout"
1695 + },
1696 + {
1697 + "language_code":"es_es",
1698 + "string":"Tiempo límite de ejecución"
1699 + },
1700 + {
1701 + "language_code":"de_de",
1702 + "string":"Zeitüberschreitung"
1703 + }
1704 + ],
1705 + "description":[
1706 + {
1707 + "language_code":"en_us",
1708 + "string":"Maximum time in seconds to wait for the script to finish. If this time is exceeded the script is aborted."
1709 + },
1710 + {
1711 + "language_code":"es_es",
1712 + "string":"Tiempo máximo en segundos para esperar a que finalice el script. Si se supera este tiempo, el script se cancela."
1713 + },
1714 + {
1715 + "language_code":"de_de",
1716 + "string":"Maximale Zeit in Sekunden, die auf den Abschluss des Skripts gewartet werden soll. Bei Überschreitung dieser Zeit wird das Skript abgebrochen."
1717 + }
1718 + ],
1719 + "value":10
1720 + }
1721 + ],
1722 + "database_column_definitions":[
1723 + {
1724 + "column":"Object_PrimaryID",
1725 + "css_classes":"col-sm-2",
1726 + "show":true,
1727 + "type":"device_name_mac",
1728 + "default_value":"",
1729 + "options":[
1730 +
1731 + ],
1732 + "localized":[
1733 + "name"
1734 + ],
1735 + "name":[
1736 + {
1737 + "language_code":"en_us",
1738 + "string":"MAC"
1739 + },
1740 + {
1741 + "language_code":"es_es",
1742 + "string":"MAC"
1743 + }
1744 + ]
1745 + },
1746 + {
1747 + "column":"Object_SecondaryID",
1748 + "css_classes":"col-sm-2",
1749 + "show":true,
1750 + "type":"label",
1751 + "default_value":"",
1752 + "options":[
1753 +
1754 + ],
1755 + "localized":[
1756 + "name"
1757 + ],
1758 + "name":[
1759 + {
1760 + "language_code":"en_us",
1761 + "string":"IP"
1762 + },
1763 + {
1764 + "language_code":"es_es",
1765 + "string":"IP"
1766 + }
1767 + ]
1768 + },
1769 + {
1770 + "column":"Watched_Value1",
1771 + "css_classes":"col-sm-2",
1772 + "show":true,
1773 + "type":"label",
1774 + "default_value":"",
1775 + "options":[
1776 +
1777 + ],
1778 + "localized":[
1779 + "name"
1780 + ],
1781 + "name":[
1782 + {
1783 + "language_code":"en_us",
1784 + "string":"Server"
1785 + }
1786 + ]
1787 + },
1788 + {
1789 + "column":"Watched_Value2",
1790 + "css_classes":"col-sm-2",
1791 + "show":true,
1792 + "type":"label",
1793 + "default_value":"",
1794 + "options":[
1795 +
1796 + ],
1797 + "localized":[
1798 + "name"
1799 + ],
1800 + "name":[
1801 + {
1802 + "language_code":"en_us",
1803 + "string":"Name"
1804 + }
1805 + ]
1806 + },
1807 + {
1808 + "column":"DateTimeCreated",
1809 + "css_classes":"col-sm-2",
1810 + "show":true,
1811 + "type":"label",
1812 + "default_value":"",
1813 + "options":[
1814 +
1815 + ],
1816 + "localized":[
1817 + "name"
1818 + ],
1819 + "name":[
1820 + {
1821 + "language_code":"en_us",
1822 + "string":"Created"
1823 + },
1824 + {
1825 + "language_code":"es_es",
1826 + "string":"Creado"
1827 + }
1828 + ]
1829 + },
1830 + {
1831 + "column":"DateTimeChanged",
1832 + "css_classes":"col-sm-2",
1833 + "show":true,
1834 + "type":"label",
1835 + "default_value":"",
1836 + "options":[
1837 +
1838 + ],
1839 + "localized":[
1840 + "name"
1841 + ],
1842 + "name":[
1843 + {
1844 + "language_code":"en_us",
1845 + "string":"Changed"
1846 + },
1847 + {
1848 + "language_code":"es_es",
1849 + "string":"Cambiado"
1850 + }
1851 + ]
1852 + },
1853 + {
1854 + "column":"Status",
1855 + "css_classes":"col-sm-1",
1856 + "show":true,
1857 + "type":"replace",
1858 + "default_value":"",
1859 + "options":[
1860 + {
1861 + "equals":"watched-not-changed",
1862 + "replacement":"<div style='text-align:center'><i class='fa-solid fa-square-check'><\/i><div><\/div>"
1863 + },
1864 + {
1865 + "equals":"watched-changed",
1866 + "replacement":"<div style='text-align:center'><i class='fa-solid fa-triangle-exclamation'><\/i><\/div>"
1867 + },
1868 + {
1869 + "equals":"new",
1870 + "replacement":"<div style='text-align:center'><i class='fa-solid fa-circle-plus'><\/i><\/div>"
1871 + },
1872 + {
1873 + "equals":"missing-in-last-scan",
1874 + "replacement":"<div style='text-align:center'><i class='fa-solid fa-question'><\/i><\/div>"
1875 + }
1876 + ],
1877 + "localized":[
1878 + "name"
1879 + ],
1880 + "name":[
1881 + {
1882 + "language_code":"en_us",
1883 + "string":"Status"
1884 + },
1885 + {
1886 + "language_code":"es_es",
1887 + "string":"Estado"
1888 + }
1889 + ]
1890 + }
1891 + ]
1892 + },
1893 + {
1894 + "code_name":"_publisher_email",
1895 + "unique_prefix":"SMTP",
1896 + "plugin_type":"publisher",
1897 + "enabled":true,
1898 + "data_source":"script",
1899 + "show_ui":true,
1900 + "localized":[
1901 + "display_name",
1902 + "description",
1903 + "icon"
1904 + ],
1905 + "display_name":[
1906 + {
1907 + "language_code":"en_us",
1908 + "string":"Email publisher (SMTP)"
1909 + },
1910 + {
1911 + "language_code":"es_es",
1912 + "string":"Habilitar email (SMTP)"
1913 + }
1914 + ],
1915 + "icon":[
1916 + {
1917 + "language_code":"en_us",
1918 + "string":"<i class=\"fa-solid fa-at\"><\/i>"
1919 + }
1920 + ],
1921 + "description":[
1922 + {
1923 + "language_code":"en_us",
1924 + "string":"A plugin to publish a notification via Email (SMTP) gateway."
1925 + }
1926 + ],
1927 + "params":[
1928 +
1929 + ],
1930 + "database_column_definitions":[
1931 + {
1932 + "column":"Index",
1933 + "css_classes":"col-sm-2",
1934 + "show":false,
1935 + "type":"label",
1936 + "default_value":"",
1937 + "options":[
1938 +
1939 + ],
1940 + "localized":[
1941 + "name"
1942 + ],
1943 + "name":[
1944 + {
1945 + "language_code":"en_us",
1946 + "string":"N/A"
1947 + },
1948 + {
1949 + "language_code":"es_es",
1950 + "string":"N/A"
1951 + }
1952 + ]
1953 + },
1954 + {
1955 + "column":"Plugin",
1956 + "css_classes":"col-sm-2",
1957 + "show":false,
1958 + "type":"label",
1959 + "default_value":"",
1960 + "options":[
1961 +
1962 + ],
1963 + "localized":[
1964 + "name"
1965 + ],
1966 + "name":[
1967 + {
1968 + "language_code":"en_us",
1969 + "string":"N/A"
1970 + },
1971 + {
1972 + "language_code":"es_es",
1973 + "string":"N/A"
1974 + }
1975 + ]
1976 + },
1977 + {
1978 + "column":"Object_PrimaryID",
1979 + "css_classes":"col-sm-2",
1980 + "show":false,
1981 + "type":"url",
1982 + "default_value":"",
1983 + "options":[
1984 +
1985 + ],
1986 + "localized":[
1987 + "name"
1988 + ],
1989 + "name":[
1990 + {
1991 + "language_code":"en_us",
1992 + "string":"N/A"
1993 + }
1994 + ]
1995 + },
1996 + {
1997 + "column":"Object_SecondaryID",
1998 + "css_classes":"col-sm-2",
1999 + "show":false,
2000 + "type":"label",
2001 + "default_value":"",
2002 + "options":[
2003 +
2004 + ],
2005 + "localized":[
2006 + "name"
2007 + ],
2008 + "name":[
2009 + {
2010 + "language_code":"en_us",
2011 + "string":"N/A"
2012 + },
2013 + {
2014 + "language_code":"es_es",
2015 + "string":"N/A"
2016 + }
2017 + ]
2018 + },
2019 + {
2020 + "column":"DateTimeCreated",
2021 + "css_classes":"col-sm-2",
2022 + "show":true,
2023 + "type":"label",
2024 + "default_value":"",
2025 + "options":[
2026 +
2027 + ],
2028 + "localized":[
2029 + "name"
2030 + ],
2031 + "name":[
2032 + {
2033 + "language_code":"en_us",
2034 + "string":"Sent when"
2035 + }
2036 + ]
2037 + },
2038 + {
2039 + "column":"DateTimeChanged",
2040 + "css_classes":"col-sm-2",
2041 + "show":false,
2042 + "type":"label",
2043 + "default_value":"",
2044 + "options":[
2045 +
2046 + ],
2047 + "localized":[
2048 + "name"
2049 + ],
2050 + "name":[
2051 + {
2052 + "language_code":"en_us",
2053 + "string":"Changed"
2054 + },
2055 + {
2056 + "language_code":"es_es",
2057 + "string":"Cambiado"
2058 + }
2059 + ]
2060 + },
2061 + {
2062 + "column":"Watched_Value1",
2063 + "css_classes":"col-sm-2",
2064 + "show":true,
2065 + "type":"eval",
2066 + "default_value":"",
2067 + "options":[
2068 + {
2069 + "type":"eval",
2070 + "param":"`<a href='/report.php?guid=${value}'>${value}<\/a>`"
2071 + }
2072 + ],
2073 + "localized":[
2074 + "name"
2075 + ],
2076 + "name":[
2077 + {
2078 + "language_code":"en_us",
2079 + "string":"Notification GUID"
2080 + }
2081 + ]
2082 + },
2083 + {
2084 + "column":"Watched_Value2",
2085 + "css_classes":"col-sm-8",
2086 + "show":true,
2087 + "type":"textarea_readonly",
2088 + "default_value":"",
2089 + "options":[
2090 +
2091 + ],
2092 + "localized":[
2093 + "name"
2094 + ],
2095 + "name":[
2096 + {
2097 + "language_code":"en_us",
2098 + "string":"Result"
2099 + }
2100 + ]
2101 + },
2102 + {
2103 + "column":"Watched_Value3",
2104 + "css_classes":"col-sm-2",
2105 + "show":false,
2106 + "type":"label",
2107 + "default_value":"",
2108 + "options":[
2109 +
2110 + ],
2111 + "localized":[
2112 + "name"
2113 + ],
2114 + "name":[
2115 + {
2116 + "language_code":"en_us",
2117 + "string":"N/A"
2118 + },
2119 + {
2120 + "language_code":"es_es",
2121 + "string":"N/A"
2122 + }
2123 + ]
2124 + },
2125 + {
2126 + "column":"Watched_Value4",
2127 + "css_classes":"col-sm-2",
2128 + "show":false,
2129 + "type":"label",
2130 + "default_value":"",
2131 + "options":[
2132 +
2133 + ],
2134 + "localized":[
2135 + "name"
2136 + ],
2137 + "name":[
2138 + {
2139 + "language_code":"en_us",
2140 + "string":"N/A"
2141 + },
2142 + {
2143 + "language_code":"es_es",
2144 + "string":"N/A"
2145 + }
2146 + ]
2147 + },
2148 + {
2149 + "column":"UserData",
2150 + "css_classes":"col-sm-2",
2151 + "show":false,
2152 + "type":"textbox_save",
2153 + "default_value":"",
2154 + "options":[
2155 +
2156 + ],
2157 + "localized":[
2158 + "name"
2159 + ],
2160 + "name":[
2161 + {
2162 + "language_code":"en_us",
2163 + "string":"Comments"
2164 + },
2165 + {
2166 + "language_code":"es_es",
2167 + "string":"Comentarios"
2168 + }
2169 + ]
2170 + },
2171 + {
2172 + "column":"Status",
2173 + "css_classes":"col-sm-1",
2174 + "show":false,
2175 + "type":"replace",
2176 + "default_value":"",
2177 + "options":[
2178 + {
2179 + "equals":"watched-not-changed",
2180 + "replacement":"<div style='text-align:center'><i class='fa-solid fa-square-check'><\/i><div><\/div>"
2181 + },
2182 + {
2183 + "equals":"watched-changed",
2184 + "replacement":"<div style='text-align:center'><i class='fa-solid fa-triangle-exclamation'><\/i><\/div>"
2185 + },
2186 + {
2187 + "equals":"new",
2188 + "replacement":"<div style='text-align:center'><i class='fa-solid fa-circle-plus'><\/i><\/div>"
2189 + },
2190 + {
2191 + "equals":"missing-in-last-scan",
2192 + "replacement":"<div style='text-align:center'><i class='fa-solid fa-question'><\/i><\/div>"
2193 + }
2194 + ],
2195 + "localized":[
2196 + "name"
2197 + ],
2198 + "name":[
2199 + {
2200 + "language_code":"en_us",
2201 + "string":"Status"
2202 + },
2203 + {
2204 + "language_code":"es_es",
2205 + "string":"Estado"
2206 + }
2207 + ]
2208 + },
2209 + {
2210 + "column":"Extra",
2211 + "css_classes":"col-sm-3",
2212 + "show":false,
2213 + "type":"label",
2214 + "default_value":"",
2215 + "options":[
2216 +
2217 + ],
2218 + "localized":[
2219 + "name"
2220 + ],
2221 + "name":[
2222 + {
2223 + "language_code":"en_us",
2224 + "string":"Extra"
2225 + },
2226 + {
2227 + "language_code":"es_es",
2228 + "string":"Extra"
2229 + }
2230 + ]
2231 + }
2232 + ],
2233 + "settings":[
2234 + {
2235 + "function":"RUN",
2236 + "events":[
2237 + "test"
2238 + ],
2239 + "type":{
2240 + "dataType":"string",
2241 + "elements":[
2242 + {
2243 + "elementType":"select",
2244 + "elementOptions":[
2245 +
2246 + ],
2247 + "transformers":[
2248 +
2249 + ]
2250 + }
2251 + ]
2252 + },
2253 + "default_value":"disabled",
2254 + "options":[
2255 + "disabled",
2256 + "on_notification"
2257 + ],
2258 + "localized":[
2259 + "name",
2260 + "description"
2261 + ],
2262 + "name":[
2263 + {
2264 + "language_code":"en_us",
2265 + "string":"When to run"
2266 + },
2267 + {
2268 + "language_code":"es_es",
2269 + "string":"Cuando ejecuta"
2270 + }
2271 + ],
2272 + "description":[
2273 + {
2274 + "language_code":"en_us",
2275 + "string":"Enable sending notifications via the Email (SMTP) gateway."
2276 + },
2277 + {
2278 + "language_code":"es_es",
2279 + "string":"Si está habilitado, se envía un correo electrónico con una lista de cambios a los que se ha suscrito. Complete también todas las configuraciones restantes relacionadas con la configuración de SMTP a continuación"
2280 + }
2281 + ],
2282 + "value":"disabled"
2283 + },
2284 + {
2285 + "function":"CMD",
2286 + "type":{
2287 + "dataType":"string",
2288 + "elements":[
2289 + {
2290 + "elementType":"input",
2291 + "elementOptions":[
2292 + {
2293 + "readonly":"true"
2294 + }
2295 + ],
2296 + "transformers":[
2297 +
2298 + ]
2299 + }
2300 + ]
2301 + },
2302 + "default_value":"python3 /app/front/plugins/_publisher_email/email_smtp.py",
2303 + "options":[
2304 +
2305 + ],
2306 + "localized":[
2307 + "name",
2308 + "description"
2309 + ],
2310 + "name":[
2311 + {
2312 + "language_code":"en_us",
2313 + "string":"Command"
2314 + },
2315 + {
2316 + "language_code":"es_es",
2317 + "string":"Comando"
2318 + }
2319 + ],
2320 + "description":[
2321 + {
2322 + "language_code":"en_us",
2323 + "string":"Command to run"
2324 + },
2325 + {
2326 + "language_code":"es_es",
2327 + "string":"Comando a ejecutar"
2328 + }
2329 + ],
2330 + "value":"python3 /app/front/plugins/_publisher_email/email_smtp.py"
2331 + },
2332 + {
2333 + "function":"RUN_TIMEOUT",
2334 + "type":{
2335 + "dataType":"integer",
2336 + "elements":[
2337 + {
2338 + "elementType":"input",
2339 + "elementOptions":[
2340 + {
2341 + "type":"number"
2342 + }
2343 + ],
2344 + "transformers":[
2345 +
2346 + ]
2347 + }
2348 + ]
2349 + },
2350 + "default_value":20,
2351 + "options":[
2352 +
2353 + ],
2354 + "localized":[
2355 + "name",
2356 + "description"
2357 + ],
2358 + "name":[
2359 + {
2360 + "language_code":"en_us",
2361 + "string":"Run timeout"
2362 + },
2363 + {
2364 + "language_code":"es_es",
2365 + "string":"Tiempo de espera de ejecución"
2366 + },
2367 + {
2368 + "language_code":"de_de",
2369 + "string":"Wartezeit"
2370 + }
2371 + ],
2372 + "description":[
2373 + {
2374 + "language_code":"en_us",
2375 + "string":"Maximum time in seconds to wait for the script to finish. If this time is exceeded the script is aborted."
2376 + },
2377 + {
2378 + "language_code":"es_es",
2379 + "string":"Tiempo máximo en segundos para esperar a que finalice el script. Si se supera este tiempo, el script se cancela."
2380 + }
2381 + ],
2382 + "value":20
2383 + },
2384 + {
2385 + "function":"SERVER",
2386 + "type":{
2387 + "dataType":"string",
2388 + "elements":[
2389 + {
2390 + "elementType":"input",
2391 + "elementOptions":[
2392 +
2393 + ],
2394 + "transformers":[
2395 +
2396 + ]
2397 + }
2398 + ]
2399 + },
2400 + "default_value":"",
2401 + "options":[
2402 +
2403 + ],
2404 + "localized":[
2405 + "name",
2406 + "description"
2407 + ],
2408 + "name":[
2409 + {
2410 + "language_code":"en_us",
2411 + "string":"SMTP server URL"
2412 + },
2413 + {
2414 + "language_code":"es_es",
2415 + "string":"URL del servidor SMTP"
2416 + }
2417 + ],
2418 + "description":[
2419 + {
2420 + "language_code":"en_us",
2421 + "string":"The SMTP server host URL. For example <code>smtp-relay.sendinblue.com<\/code>. To use Gmail as an SMTP server <a target=\"_blank\" href=\"https://github.com/jokob-sk/NetAlertX/blob/main/docs/SMTP.md\">follow this guide<\/a>"
2422 + },
2423 + {
2424 + "language_code":"es_es",
2425 + "string":"La URL del host del servidor SMTP. Por ejemplo, <code>smtp-relay.sendinblue.com<\/code>. Para utilizar Gmail como servidor SMTP <a target=\"_blank\" href=\"https://github.com/jokob-sk/NetAlertX/blob/main/docs/SMTP.md\">siga esta guía<\/a >"
2426 + }
2427 + ],
2428 + "value":"smtp.gmail.com"
2429 + },
2430 + {
2431 + "function":"PORT",
2432 + "type":{
2433 + "dataType":"integer",
2434 + "elements":[
2435 + {
2436 + "elementType":"input",
2437 + "elementOptions":[
2438 + {
2439 + "type":"number"
2440 + }
2441 + ],
2442 + "transformers":[
2443 +
2444 + ]
2445 + }
2446 + ]
2447 + },
2448 + "default_value":587,
2449 + "options":[
2450 +
2451 + ],
2452 + "localized":[
2453 + "name",
2454 + "description"
2455 + ],
2456 + "name":[
2457 + {
2458 + "language_code":"en_us",
2459 + "string":"SMTP server PORT"
2460 + },
2461 + {
2462 + "language_code":"es_es",
2463 + "string":"Puerto del servidor SMTP"
2464 + }
2465 + ],
2466 + "description":[
2467 + {
2468 + "language_code":"en_us",
2469 + "string":"Port number used for the SMTP connection. Set to <code>0<\/code> if you do not want to use a port when connecting to the SMTP server."
2470 + },
2471 + {
2472 + "language_code":"es_es",
2473 + "string":"Número de puerto utilizado para la conexión SMTP. Establézcalo en <code>0<\/code> si no desea utilizar un puerto al conectarse al servidor SMTP."
2474 + }
2475 + ],
2476 + "value":587
2477 + },
2478 + {
2479 + "function":"SKIP_LOGIN",
2480 + "type":{
2481 + "dataType":"boolean",
2482 + "elements":[
2483 + {
2484 + "elementType":"input",
2485 + "elementOptions":[
2486 + {
2487 + "type":"checkbox"
2488 + }
2489 + ],
2490 + "transformers":[
2491 +
2492 + ]
2493 + }
2494 + ]
2495 + },
2496 + "default_value":false,
2497 + "options":[
2498 +
2499 + ],
2500 + "localized":[
2501 + "name",
2502 + "description"
2503 + ],
2504 + "name":[
2505 + {
2506 + "language_code":"en_us",
2507 + "string":"Skip authentication"
2508 + },
2509 + {
2510 + "language_code":"es_es",
2511 + "string":"Omitir autenticación"
2512 + }
2513 + ],
2514 + "description":[
2515 + {
2516 + "language_code":"en_us",
2517 + "string":"Do not use authentication when connecting to the SMTP server."
2518 + },
2519 + {
2520 + "language_code":"es_es",
2521 + "string":"No utilice la autenticación cuando se conecte al servidor SMTP."
2522 + }
2523 + ],
2524 + "value":false
2525 + },
2526 + {
2527 + "function":"USER",
2528 + "type":{
2529 + "dataType":"string",
2530 + "elements":[
2531 + {
2532 + "elementType":"input",
2533 + "elementOptions":[
2534 +
2535 + ],
2536 + "transformers":[
2537 +
2538 + ]
2539 + }
2540 + ]
2541 + },
2542 + "default_value":"",
2543 + "options":[
2544 +
2545 + ],
2546 + "localized":[
2547 + "name",
2548 + "description"
2549 + ],
2550 + "name":[
2551 + {
2552 + "language_code":"en_us",
2553 + "string":"SMTP user"
2554 + },
2555 + {
2556 + "language_code":"es_es",
2557 + "string":"Nombre de usuario SMTP"
2558 + }
2559 + ],
2560 + "description":[
2561 + {
2562 + "language_code":"en_us",
2563 + "string":"The user name used to login into the SMTP server (sometimes a full email address)."
2564 + },
2565 + {
2566 + "language_code":"es_es",
2567 + "string":"El nombre de usuario utilizado para iniciar sesión en el servidor SMTP (a veces, una dirección de correo electrónico completa)."
2568 + }
2569 + ],
2570 + "value":"[email protected]"
2571 + },
2572 + {
2573 + "function":"PASS",
2574 + "type":{
2575 + "dataType":"string",
2576 + "elements":[
2577 + {
2578 + "elementType":"input",
2579 + "elementOptions":[
2580 + {
2581 + "type":"password"
2582 + }
2583 + ],
2584 + "transformers":[
2585 +
2586 + ]
2587 + }
2588 + ]
2589 + },
2590 + "default_value":"",
2591 + "options":[
2592 +
2593 + ],
2594 + "localized":[
2595 + "name",
2596 + "description"
2597 + ],
2598 + "name":[
2599 + {
2600 + "language_code":"en_us",
2601 + "string":"SMTP password"
2602 + },
2603 + {
2604 + "language_code":"es_es",
2605 + "string":"Contraseña de SMTP"
2606 + }
2607 + ],
2608 + "description":[
2609 + {
2610 + "language_code":"en_us",
2611 + "string":"The SMTP server password."
2612 + },
2613 + {
2614 + "language_code":"es_es",
2615 + "string":"La contraseña del servidor SMTP."
2616 + }
2617 + ],
2618 + "value":"password"
2619 + },
2620 + {
2621 + "function":"SKIP_TLS",
2622 + "type":{
2623 + "dataType":"boolean",
2624 + "elements":[
2625 + {
2626 + "elementType":"input",
2627 + "elementOptions":[
2628 + {
2629 + "type":"checkbox"
2630 + }
2631 + ],
2632 + "transformers":[
2633 +
2634 + ]
2635 + }
2636 + ]
2637 + },
2638 + "default_value":false,
2639 + "options":[
2640 +
2641 + ],
2642 + "localized":[
2643 + "name",
2644 + "description"
2645 + ],
2646 + "name":[
2647 + {
2648 + "language_code":"en_us",
2649 + "string":"Do not use TLS"
2650 + },
2651 + {
2652 + "language_code":"es_es",
2653 + "string":"No usar TLS"
2654 + }
2655 + ],
2656 + "description":[
2657 + {
2658 + "language_code":"en_us",
2659 + "string":"Disable TLS when connecting to your SMTP server."
2660 + },
2661 + {
2662 + "language_code":"es_es",
2663 + "string":"Deshabilite TLS cuando se conecte a su servidor SMTP."
2664 + }
2665 + ],
2666 + "value":false
2667 + },
2668 + {
2669 + "function":"FORCE_SSL",
2670 + "type":{
2671 + "dataType":"boolean",
2672 + "elements":[
2673 + {
2674 + "elementType":"input",
2675 + "elementOptions":[
2676 + {
2677 + "type":"checkbox"
2678 + }
2679 + ],
2680 + "transformers":[
2681 +
2682 + ]
2683 + }
2684 + ]
2685 + },
2686 + "default_value":false,
2687 + "options":[
2688 +
2689 + ],
2690 + "localized":[
2691 + "name",
2692 + "description"
2693 + ],
2694 + "name":[
2695 + {
2696 + "language_code":"en_us",
2697 + "string":"Force SSL"
2698 + },
2699 + {
2700 + "language_code":"es_es",
2701 + "string":"Forzar SSL"
2702 + }
2703 + ],
2704 + "description":[
2705 + {
2706 + "language_code":"en_us",
2707 + "string":"Force SSL when connecting to your SMTP server."
2708 + },
2709 + {
2710 + "language_code":"es_es",
2711 + "string":"Forzar SSL al conectarse a su servidor SMTP"
2712 + }
2713 + ],
2714 + "value":false
2715 + },
2716 + {
2717 + "function":"REPORT_TO",
2718 + "type":{
2719 + "dataType":"string",
2720 + "elements":[
2721 + {
2722 + "elementType":"input",
2723 + "elementOptions":[
2724 +
2725 + ],
2726 + "transformers":[
2727 +
2728 + ]
2729 + }
2730 + ]
2731 + },
2732 + "default_value":"[email protected]",
2733 + "options":[
2734 +
2735 + ],
2736 + "localized":[
2737 + "name",
2738 + "description"
2739 + ],
2740 + "name":[
2741 + {
2742 + "language_code":"en_us",
2743 + "string":"Send email to"
2744 + },
2745 + {
2746 + "language_code":"es_es",
2747 + "string":"Enviar el email a"
2748 + }
2749 + ],
2750 + "description":[
2751 + {
2752 + "language_code":"en_us",
2753 + "string":"Email address to which the notification will be send to."
2754 + },
2755 + {
2756 + "language_code":"es_es",
2757 + "string":"Dirección de correo electrónico a la que se enviará la notificación."
2758 + }
2759 + ],
2760 + "value":"[email protected]"
2761 + },
2762 + {
2763 + "function":"REPORT_FROM",
2764 + "type":{
2765 + "dataType":"string",
2766 + "elements":[
2767 + {
2768 + "elementType":"input",
2769 + "elementOptions":[
2770 +
2771 + ],
2772 + "transformers":[
2773 +
2774 + ]
2775 + }
2776 + ]
2777 + },
2778 + "default_value":"NetAlertX <[email protected]>",
2779 + "options":[
2780 +
2781 + ],
2782 + "localized":[
2783 + "name",
2784 + "description"
2785 + ],
2786 + "name":[
2787 + {
2788 + "language_code":"en_us",
2789 + "string":"Email subject"
2790 + },
2791 + {
2792 + "language_code":"es_es",
2793 + "string":"Asunto del email"
2794 + }
2795 + ],
2796 + "description":[
2797 + {
2798 + "language_code":"en_us",
2799 + "string":"Notification email subject line. Some SMTP servers need this to be an email."
2800 + },
2801 + {
2802 + "language_code":"es_es",
2803 + "string":"Asunto del correo electrónico de notificación."
2804 + }
2805 + ],
2806 + "value":"NetAlertX <[email protected]>"
2807 + }
2808 + ]
2809 + },
2810 + {
2811 + "code_name":"csv_backup",
2812 + "unique_prefix":"CSVBCKP",
2813 + "plugin_type":"system",
2814 + "enabled":true,
2815 + "data_source":"script",
2816 + "show_ui":false,
2817 + "localized":[
2818 + "display_name",
2819 + "description",
2820 + "icon"
2821 + ],
2822 + "display_name":[
2823 + {
2824 + "language_code":"en_us",
2825 + "string":"CSV backup"
2826 + },
2827 + {
2828 + "language_code":"es_es",
2829 + "string":"Backup CSV"
2830 + },
2831 + {
2832 + "language_code":"de_de",
2833 + "string":"CSV-Sicherung"
2834 + }
2835 + ],
2836 + "icon":[
2837 + {
2838 + "language_code":"en_us",
2839 + "string":"<i class=\"fa-solid fa-save\"><\/i>"
2840 + }
2841 + ],
2842 + "description":[
2843 + {
2844 + "language_code":"en_us",
2845 + "string":"A plugin to auto-generate devices.csv backups."
2846 + },
2847 + {
2848 + "language_code":"es_es",
2849 + "string":"Un Plugin para generar automáticamente copias de seguridad de devices.csv."
2850 + },
2851 + {
2852 + "language_code":"de_de",
2853 + "string":"Ein Plugin zum automatischen Generieren von devices.csv-Backups."
2854 + }
2855 + ],
2856 + "params":[
2857 + {
2858 + "name":"overwrite",
2859 + "type":"setting",
2860 + "value":"CSVBCKP_overwrite"
2861 + },
2862 + {
2863 + "name":"location",
2864 + "type":"setting",
2865 + "value":"CSVBCKP_location"
2866 + }
2867 + ],
2868 + "settings":[
2869 + {
2870 + "function":"RUN",
2871 + "events":[
2872 + "run"
2873 + ],
2874 + "type":{
2875 + "dataType":"string",
2876 + "elements":[
2877 + {
2878 + "elementType":"select",
2879 + "elementOptions":[
2880 +
2881 + ],
2882 + "transformers":[
2883 +
2884 + ]
2885 + }
2886 + ]
2887 + },
2888 + "default_value":"schedule",
2889 + "options":[
2890 + "disabled",
2891 + "once",
2892 + "schedule",
2893 + "always_after_scan",
2894 + "on_new_device"
2895 + ],
2896 + "localized":[
2897 + "name",
2898 + "description"
2899 + ],
2900 + "name":[
2901 + {
2902 + "language_code":"en_us",
2903 + "string":"When to run"
2904 + },
2905 + {
2906 + "language_code":"es_es",
2907 + "string":"Cuándo ejecutar"
2908 + },
2909 + {
2910 + "language_code":"de_de",
2911 + "string":"Wann laufen"
2912 + }
2913 + ],
2914 + "description":[
2915 + {
2916 + "language_code":"en_us",
2917 + "string":"When the backup should be created. A daily or weekly <code>SCHEDULE<\/code> is a good option."
2918 + },
2919 + {
2920 + "language_code":"es_es",
2921 + "string":"Cuándo se debe crear la copia de seguridad. Un <code>SCHEDULE<\/code> diario o semanal es una buena opción."
2922 + },
2923 + {
2924 + "language_code":"de_de",
2925 + "string":"Wann das Backup erstellt werden soll. Ein täglicher oder wöchentlicher <code>SCHEDULE<\/code> ist eine gute Option."
2926 + }
2927 + ],
2928 + "value":"schedule"
2929 + },
2930 + {
2931 + "function":"CMD",
2932 + "type":{
2933 + "dataType":"string",
2934 + "elements":[
2935 + {
2936 + "elementType":"input",
2937 + "elementOptions":[
2938 + {
2939 + "readonly":"true"
2940 + }
2941 + ],
2942 + "transformers":[
2943 +
2944 + ]
2945 + }
2946 + ]
2947 + },
2948 + "default_value":"python3 /app/front/plugins/csv_backup/script.py overwrite={overwrite} location={location}",
2949 + "options":[
2950 +
2951 + ],
2952 + "localized":[
2953 + "name",
2954 + "description"
2955 + ],
2956 + "name":[
2957 + {
2958 + "language_code":"en_us",
2959 + "string":"Command"
2960 + },
2961 + {
2962 + "language_code":"es_es",
2963 + "string":"Comando"
2964 + },
2965 + {
2966 + "language_code":"de_de",
2967 + "string":"Befehl"
2968 + }
2969 + ],
2970 + "description":[
2971 + {
2972 + "language_code":"en_us",
2973 + "string":"Command to run. This can not be changed"
2974 + },
2975 + {
2976 + "language_code":"es_es",
2977 + "string":"Comando a ejecutar. Esto no se puede cambiar"
2978 + },
2979 + {
2980 + "language_code":"de_de",
2981 + "string":"Befehl zum Ausführen. Dies kann nicht geändert werden"
2982 + }
2983 + ],
2984 + "value":"python3 /app/front/plugins/csv_backup/script.py overwrite={overwrite} location={location}"
2985 + },
2986 + {
2987 + "function":"RUN_SCHD",
2988 + "type":{
2989 + "dataType":"string",
2990 + "elements":[
2991 + {
2992 + "elementType":"input",
2993 + "elementOptions":[
2994 +
2995 + ],
2996 + "transformers":[
2997 +
2998 + ]
2999 + }
3000 + ]
3001 + },
3002 + "default_value":"0 2 * * 3",
3003 + "options":[
3004 +
3005 + ],
3006 + "localized":[
3007 + "name",
3008 + "description"
3009 + ],
3010 + "name":[
3011 + {
3012 + "language_code":"en_us",
3013 + "string":"Schedule"
3014 + },
3015 + {
3016 + "language_code":"es_es",
3017 + "string":"Schedule"
3018 + },
3019 + {
3020 + "language_code":"de_de",
3021 + "string":"Schedule"
3022 + }
3023 + ],
3024 + "description":[
3025 + {
3026 + "language_code":"en_us",
3027 + "string":"Only enabled if you select <code>schedule<\/code> in the <a href=\"#CSVBCKP_RUN\"><code>CSVBCKP_RUN<\/code> setting<\/a>. Make sure you enter the schedule in the correct cron-like format (e.g. validate at <a href=\"https://crontab.guru/\" target=\"_blank\">crontab.guru<\/a>). For example entering <code>0 4 * * *<\/code> will run the scan after 4 am in the <a onclick=\"toggleAllSettings()\" href=\"#TIMEZONE\"><code>TIMEZONE<\/code> you set above<\/a>. Will be run NEXT time the time passes."
3028 + },
3029 + {
3030 + "language_code":"es_es",
3031 + "string":"Solo está habilitado si selecciona <code>schedule<\/code> en la configuración <a href=\"#CSVBCKP_RUN\"><code>CSVBCKP_RUN<\/code><\/a>. Asegúrese de ingresar la programación en el formato similar a cron correcto (por ejemplo, valide en <a href=\"https://crontab.guru/\" target=\"_blank\">crontab.guru<\/a>). Por ejemplo, ingresar <code>0 4 * * *<\/code> ejecutará el escaneo después de las 4 a.m. en el <a onclick=\"toggleAllSettings()\" href=\"#TIMEZONE\"><code>TIMEZONE<\/ código> que configuró arriba<\/a>. Se ejecutará la PRÓXIMA vez que pase el tiempo."
3032 + },
3033 + {
3034 + "language_code":"de_de",
3035 + "string":"Nur aktiviert, wenn Sie <code>schedule<\/code> in der <a href=\"#CSVBCKP_RUN\"><code>CSVBCKP_RUN<\/code>-Einstellung<\/a> auswählen. Stellen Sie sicher, dass Sie den Zeitplan im richtigen Cron-ähnlichen Format eingeben (z. B. validieren unter <a href=\"https://crontab.guru/\" target=\"_blank\">crontab.guru<\/a>). Wenn Sie beispielsweise <code>0 4 * * *<\/code> eingeben, wird der Scan nach 4 Uhr morgens in der <a onclick=\"toggleAllSettings()\" href=\"#TIMEZONE\"><code>TIMEZONE<\/ ausgeführt. Code> den Sie oben festgelegt haben<\/a>. Wird das NÄCHSTE Mal ausgeführt, wenn die Zeit vergeht."
3036 + }
3037 + ],
3038 + "value":"0 2 * * 3"
3039 + },
3040 + {
3041 + "function":"RUN_TIMEOUT",
3042 + "type":{
3043 + "dataType":"integer",
3044 + "elements":[
3045 + {
3046 + "elementType":"input",
3047 + "elementOptions":[
3048 + {
3049 + "type":"number"
3050 + }
3051 + ],
3052 + "transformers":[
3053 +
3054 + ]
3055 + }
3056 + ]
3057 + },
3058 + "default_value":30,
3059 + "options":[
3060 +
3061 + ],
3062 + "localized":[
3063 + "name",
3064 + "description"
3065 + ],
3066 + "name":[
3067 + {
3068 + "language_code":"en_us",
3069 + "string":"Run timeout"
3070 + },
3071 + {
3072 + "language_code":"es_es",
3073 + "string":"Tiempo límite de ejecución"
3074 + },
3075 + {
3076 + "language_code":"de_de",
3077 + "string":"Zeitüberschreitung"
3078 + }
3079 + ],
3080 + "description":[
3081 + {
3082 + "language_code":"en_us",
3083 + "string":"Maximum time in seconds to wait for the script to finish. If this time is exceeded the script is aborted."
3084 + },
3085 + {
3086 + "language_code":"es_es",
3087 + "string":"Tiempo máximo en segundos para esperar a que finalice el script. Si se supera este tiempo, el script se cancela."
3088 + },
3089 + {
3090 + "language_code":"de_de",
3091 + "string":"Maximale Zeit in Sekunden, die auf den Abschluss des Skripts gewartet werden soll. Bei Überschreitung dieser Zeit wird das Skript abgebrochen."
3092 + }
3093 + ],
3094 + "value":30
3095 + },
3096 + {
3097 + "function":"overwrite",
3098 + "type":{
3099 + "dataType":"boolean",
3100 + "elements":[
3101 + {
3102 + "elementType":"input",
3103 + "elementOptions":[
3104 + {
3105 + "type":"checkbox"
3106 + }
3107 + ],
3108 + "transformers":[
3109 +
3110 + ]
3111 + }
3112 + ]
3113 + },
3114 + "default_value":false,
3115 + "options":[
3116 +
3117 + ],
3118 + "localized":[
3119 + "name",
3120 + "description"
3121 + ],
3122 + "name":[
3123 + {
3124 + "language_code":"en_us",
3125 + "string":"Overwrite file"
3126 + },
3127 + {
3128 + "language_code":"es_es",
3129 + "string":"Sobrescribir archivo"
3130 + },
3131 + {
3132 + "language_code":"de_de",
3133 + "string":"Datei überschreiben"
3134 + }
3135 + ],
3136 + "description":[
3137 + {
3138 + "language_code":"en_us",
3139 + "string":"If the <code>devices.csv<\/code> file should be always overwritten. If disabled, the date and time is added to the name."
3140 + },
3141 + {
3142 + "language_code":"es_es",
3143 + "string":"Si el archivo <code>devices.csv<\/code> siempre debe sobrescribirse. Si está deshabilitado, la fecha y la hora se agregan al nombre."
3144 + },
3145 + {
3146 + "language_code":"de_de",
3147 + "string":"Wenn die Datei <code>devices.csv<\/code> immer überschrieben werden soll. Wenn deaktiviert, werden dem Namen Datum und Uhrzeit hinzugefügt."
3148 + }
3149 + ],
3150 + "value":false
3151 + },
3152 + {
3153 + "function":"location",
3154 + "type":{
3155 + "dataType":"string",
3156 + "elements":[
3157 + {
3158 + "elementType":"input",
3159 + "elementOptions":[
3160 +
3161 + ],
3162 + "transformers":[
3163 +
3164 + ]
3165 + }
3166 + ]
3167 + },
3168 + "default_value":"/app/config",
3169 + "options":[
3170 +
3171 + ],
3172 + "localized":[
3173 + "name",
3174 + "description"
3175 + ],
3176 + "name":[
3177 + {
3178 + "language_code":"en_us",
3179 + "string":"File location"
3180 + },
3181 + {
3182 + "language_code":"es_es",
3183 + "string":"Ubicación del archivo"
3184 + },
3185 + {
3186 + "language_code":"de_de",
3187 + "string":"Speicherort"
3188 + }
3189 + ],
3190 + "description":[
3191 + {
3192 + "language_code":"en_us",
3193 + "string":"Where the <code>devices.csv<\/code> file should be saved. For example <code>/app/config<\/code>."
3194 + },
3195 + {
3196 + "language_code":"es_es",
3197 + "string":"Donde se debe guardar el archivo <code>devices.csv<\/code>. Por ejemplo <code>/app/config<\/code>."
3198 + },
3199 + {
3200 + "language_code":"de_de",
3201 + "string":"Wo die Datei <code>devices.csv<\/code> gespeichert werden soll. Zum Beispiel <code>/app/config<\/code>."
3202 + }
3203 + ],
3204 + "value":"/app/config"
3205 + }
3206 + ],
3207 + "database_column_definitions":[
3208 +
3209 + ]
3210 + },
3211 + {
3212 + "code_name":"db_cleanup",
3213 + "unique_prefix":"DBCLNP",
3214 + "plugin_type":"system",
3215 + "enabled":true,
3216 + "data_source":"script",
3217 + "show_ui":false,
3218 + "localized":[
3219 + "display_name",
3220 + "description",
3221 + "icon"
3222 + ],
3223 + "display_name":[
3224 + {
3225 + "language_code":"en_us",
3226 + "string":"DB cleanup"
3227 + }
3228 + ],
3229 + "icon":[
3230 + {
3231 + "language_code":"en_us",
3232 + "string":"<i class=\"fa-solid fa-broom\"><\/i>"
3233 + }
3234 + ],
3235 + "description":[
3236 + {
3237 + "language_code":"en_us",
3238 + "string":"A plugin to schedule database cleanup & upkeep tasks."
3239 + }
3240 + ],
3241 + "params":[
3242 + {
3243 + "name":"pluginskeephistory",
3244 + "type":"setting",
3245 + "value":"PLUGINS_KEEP_HIST"
3246 + },
3247 + {
3248 + "name":"daystokeepevents",
3249 + "type":"setting",
3250 + "value":"DAYS_TO_KEEP_EVENTS"
3251 + },
3252 + {
3253 + "name":"hourstokeepnewdevice",
3254 + "type":"setting",
3255 + "value":"HRS_TO_KEEP_NEWDEV"
3256 + }
3257 + ],
3258 + "settings":[
3259 + {
3260 + "function":"RUN",
3261 + "events":[
3262 + "run"
3263 + ],
3264 + "type":{
3265 + "dataType":"string",
3266 + "elements":[
3267 + {
3268 + "elementType":"select",
3269 + "elementOptions":[
3270 +
3271 + ],
3272 + "transformers":[
3273 +
3274 + ]
3275 + }
3276 + ]
3277 + },
3278 + "default_value":"schedule",
3279 + "options":[
3280 + "disabled",
3281 + "once",
3282 + "schedule",
3283 + "always_after_scan"
3284 + ],
3285 + "localized":[
3286 + "name",
3287 + "description"
3288 + ],
3289 + "name":[
3290 + {
3291 + "language_code":"en_us",
3292 + "string":"When to run"
3293 + },
3294 + {
3295 + "language_code":"es_es",
3296 + "string":"Cuándo ejecutar"
3297 + },
3298 + {
3299 + "language_code":"de_de",
3300 + "string":"Wann laufen"
3301 + }
3302 + ],
3303 + "description":[
3304 + {
3305 + "language_code":"en_us",
3306 + "string":"When the cleanup should be performed. An hourly or daily <code>SCHEDULE<\/code> is a good option."
3307 + }
3308 + ],
3309 + "value":"schedule"
3310 + },
3311 + {
3312 + "function":"CMD",
3313 + "type":{
3314 + "dataType":"string",
3315 + "elements":[
3316 + {
3317 + "elementType":"input",
3318 + "elementOptions":[
3319 + {
3320 + "readonly":"true"
3321 + }
3322 + ],
3323 + "transformers":[
3324 +
3325 + ]
3326 + }
3327 + ]
3328 + },
3329 + "default_value":"python3 /app/front/plugins/db_cleanup/script.py pluginskeephistory={pluginskeephistory} hourstokeepnewdevice={hourstokeepnewdevice} daystokeepevents={daystokeepevents} pholuskeepdays={pholuskeepdays}",
3330 + "options":[
3331 +
3332 + ],
3333 + "localized":[
3334 + "name",
3335 + "description"
3336 + ],
3337 + "name":[
3338 + {
3339 + "language_code":"en_us",
3340 + "string":"Command"
3341 + },
3342 + {
3343 + "language_code":"es_es",
3344 + "string":"Comando"
3345 + },
3346 + {
3347 + "language_code":"de_de",
3348 + "string":"Befehl"
3349 + }
3350 + ],
3351 + "description":[
3352 + {
3353 + "language_code":"en_us",
3354 + "string":"Command to run. This can not be changed"
3355 + },
3356 + {
3357 + "language_code":"es_es",
3358 + "string":"Comando a ejecutar. Esto no se puede cambiar"
3359 + },
3360 + {
3361 + "language_code":"de_de",
3362 + "string":"Befehl zum Ausführen. Dies kann nicht geändert werden"
3363 + }
3364 + ],
3365 + "value":"python3 /app/front/plugins/db_cleanup/script.py pluginskeephistory={pluginskeephistory} hourstokeepnewdevice={hourstokeepnewdevice} daystokeepevents={daystokeepevents} pholuskeepdays={pholuskeepdays}"
3366 + },
3367 + {
3368 + "function":"RUN_SCHD",
3369 + "type":{
3370 + "dataType":"string",
3371 + "elements":[
3372 + {
3373 + "elementType":"input",
3374 + "elementOptions":[
3375 +
3376 + ],
3377 + "transformers":[
3378 +
3379 + ]
3380 + }
3381 + ]
3382 + },
3383 + "default_value":"*/30 * * * *",
3384 + "options":[
3385 +
3386 + ],
3387 + "localized":[
3388 + "name",
3389 + "description"
3390 + ],
3391 + "name":[
3392 + {
3393 + "language_code":"en_us",
3394 + "string":"Schedule"
3395 + },
3396 + {
3397 + "language_code":"es_es",
3398 + "string":"Schedule"
3399 + },
3400 + {
3401 + "language_code":"de_de",
3402 + "string":"Schedule"
3403 + }
3404 + ],
3405 + "description":[
3406 + {
3407 + "language_code":"en_us",
3408 + "string":"Only enabled if you select <code>schedule<\/code> in the <a href=\"#DBCLNP_RUN\"><code>DBCLNP_RUN<\/code> setting<\/a>. Make sure you enter the schedule in the correct cron-like format (e.g. validate at <a href=\"https://crontab.guru/\" target=\"_blank\">crontab.guru<\/a>). For example entering <code>0 4 * * *<\/code> will run the scan after 4 am in the <a onclick=\"toggleAllSettings()\" href=\"#TIMEZONE\"><code>TIMEZONE<\/code> you set above<\/a>. Will be run NEXT time the time passes."
3409 + },
3410 + {
3411 + "language_code":"es_es",
3412 + "string":"Solo está habilitado si selecciona <code>schedule<\/code> en la configuración <a href=\"#DBCLNP_RUN\"><code>DBCLNP_RUN<\/code><\/a>. Asegúrese de ingresar la programación en el formato similar a cron correcto (por ejemplo, valide en <a href=\"https://crontab.guru/\" target=\"_blank\">crontab.guru<\/a>). Por ejemplo, ingresar <code>0 4 * * *<\/code> ejecutará el escaneo después de las 4 a.m. en el <a onclick=\"toggleAllSettings()\" href=\"#TIMEZONE\"><code>TIMEZONE<\/ código> que configuró arriba<\/a>. Se ejecutará la PRÓXIMA vez que pase el tiempo."
3413 + },
3414 + {
3415 + "language_code":"de_de",
3416 + "string":"Nur aktiviert, wenn Sie <code>schedule<\/code> in der <a href=\"#DBCLNP_RUN\"><code>DBCLNP_RUN<\/code>-Einstellung<\/a> auswählen. Stellen Sie sicher, dass Sie den Zeitplan im richtigen Cron-ähnlichen Format eingeben (z. B. validieren unter <a href=\"https://crontab.guru/\" target=\"_blank\">crontab.guru<\/a>). Wenn Sie beispielsweise <code>0 4 * * *<\/code> eingeben, wird der Scan nach 4 Uhr morgens in der <a onclick=\"toggleAllSettings()\" href=\"#TIMEZONE\"><code>TIMEZONE<\/ ausgeführt. Code> den Sie oben festgelegt haben<\/a>. Wird das NÄCHSTE Mal ausgeführt, wenn die Zeit vergeht."
3417 + }
3418 + ],
3419 + "value":"*/30 * * * *"
3420 + },
3421 + {
3422 + "function":"RUN_TIMEOUT",
3423 + "type":{
3424 + "dataType":"integer",
3425 + "elements":[
3426 + {
3427 + "elementType":"input",
3428 + "elementOptions":[
3429 + {
3430 + "type":"number"
3431 + }
3432 + ],
3433 + "transformers":[
3434 +
3435 + ]
3436 + }
3437 + ]
3438 + },
3439 + "default_value":30,
3440 + "options":[
3441 +
3442 + ],
3443 + "localized":[
3444 + "name",
3445 + "description"
3446 + ],
3447 + "name":[
3448 + {
3449 + "language_code":"en_us",
3450 + "string":"Run timeout"
3451 + },
3452 + {
3453 + "language_code":"es_es",
3454 + "string":"Tiempo límite de ejecución"
3455 + },
3456 + {
3457 + "language_code":"de_de",
3458 + "string":"Zeitüberschreitung"
3459 + }
3460 + ],
3461 + "description":[
3462 + {
3463 + "language_code":"en_us",
3464 + "string":"Maximum time in seconds to wait for the script to finish. If this time is exceeded the script is aborted."
3465 + },
3466 + {
3467 + "language_code":"es_es",
3468 + "string":"Tiempo máximo en segundos para esperar a que finalice el script. Si se supera este tiempo, el script se cancela."
3469 + },
3470 + {
3471 + "language_code":"de_de",
3472 + "string":"Maximale Zeit in Sekunden, die auf den Abschluss des Skripts gewartet werden soll. Bei Überschreitung dieser Zeit wird das Skript abgebrochen."
3473 + }
3474 + ],
3475 + "value":30
3476 + },
3477 + {
3478 + "function":"NOTIFI_HIST",
3479 + "type":{
3480 + "dataType":"integer",
3481 + "elements":[
3482 + {
3483 + "elementType":"input",
3484 + "elementOptions":[
3485 + {
3486 + "type":"number"
3487 + }
3488 + ],
3489 + "transformers":[
3490 +
3491 + ]
3492 + }
3493 + ]
3494 + },
3495 + "default_value":100,
3496 + "options":[
3497 +
3498 + ],
3499 + "localized":[
3500 + "name",
3501 + "description"
3502 + ],
3503 + "name":[
3504 + {
3505 + "language_code":"en_us",
3506 + "string":"Notifications History"
3507 + }
3508 + ],
3509 + "description":[
3510 + {
3511 + "language_code":"en_us",
3512 + "string":"How many historical entries of Notifications should be kept. This influences how many entries are also available in the Report section in the UI"
3513 + }
3514 + ],
3515 + "value":100
3516 + }
3517 + ],
3518 + "database_column_definitions":[
3519 +
3520 + ]
3521 + },
3522 + {
3523 + "code_name":"maintenance",
3524 + "unique_prefix":"MAINT",
3525 + "plugin_type":"system",
3526 + "enabled":true,
3527 + "data_source":"script",
3528 + "show_ui":false,
3529 + "localized":[
3530 + "display_name",
3531 + "description",
3532 + "icon"
3533 + ],
3534 + "display_name":[
3535 + {
3536 + "language_code":"en_us",
3537 + "string":"Maintenance"
3538 + }
3539 + ],
3540 + "icon":[
3541 + {
3542 + "language_code":"en_us",
3543 + "string":"<i class=\"fa-solid fa-wrench\"><\/i>"
3544 + }
3545 + ],
3546 + "description":[
3547 + {
3548 + "language_code":"en_us",
3549 + "string":"A plugin for maintenance tasks."
3550 + }
3551 + ],
3552 + "params":[
3553 +
3554 + ],
3555 + "settings":[
3556 + {
3557 + "function":"RUN",
3558 + "events":[
3559 + "run"
3560 + ],
3561 + "type":{
3562 + "dataType":"string",
3563 + "elements":[
3564 + {
3565 + "elementType":"select",
3566 + "elementOptions":[
3567 +
3568 + ],
3569 + "transformers":[
3570 +
3571 + ]
3572 + }
3573 + ]
3574 + },
3575 + "default_value":"schedule",
3576 + "options":[
3577 + "disabled",
3578 + "once",
3579 + "schedule",
3580 + "always_after_scan",
3581 + "on_new_device"
3582 + ],
3583 + "localized":[
3584 + "name",
3585 + "description"
3586 + ],
3587 + "name":[
3588 + {
3589 + "language_code":"en_us",
3590 + "string":"When to run"
3591 + },
3592 + {
3593 + "language_code":"es_es",
3594 + "string":"Cuándo ejecutar"
3595 + },
3596 + {
3597 + "language_code":"de_de",
3598 + "string":"Wann laufen"
3599 + }
3600 + ],
3601 + "description":[
3602 + {
3603 + "language_code":"en_us",
3604 + "string":"When the maintenance tasks should run. A daily or weekly <code>SCHEDULE<\/code> is a good option."
3605 + }
3606 + ],
3607 + "value":"schedule"
3608 + },
3609 + {
3610 + "function":"CMD",
3611 + "type":{
3612 + "dataType":"string",
3613 + "elements":[
3614 + {
3615 + "elementType":"input",
3616 + "elementOptions":[
3617 + {
3618 + "readonly":"true"
3619 + }
3620 + ],
3621 + "transformers":[
3622 +
3623 + ]
3624 + }
3625 + ]
3626 + },
3627 + "default_value":"python3 /app/front/plugins/maintenance/maintenance.py",
3628 + "options":[
3629 +
3630 + ],
3631 + "localized":[
3632 + "name",
3633 + "description"
3634 + ],
3635 + "name":[
3636 + {
3637 + "language_code":"en_us",
3638 + "string":"Command"
3639 + },
3640 + {
3641 + "language_code":"es_es",
3642 + "string":"Comando"
3643 + },
3644 + {
3645 + "language_code":"de_de",
3646 + "string":"Befehl"
3647 + }
3648 + ],
3649 + "description":[
3650 + {
3651 + "language_code":"en_us",
3652 + "string":"Command to run. This can not be changed"
3653 + },
3654 + {
3655 + "language_code":"es_es",
3656 + "string":"Comando a ejecutar. Esto no se puede cambiar"
3657 + },
3658 + {
3659 + "language_code":"de_de",
3660 + "string":"Befehl zum Ausführen. Dies kann nicht geändert werden"
3661 + }
3662 + ],
3663 + "value":"python3 /app/front/plugins/maintenance/maintenance.py"
3664 + },
3665 + {
3666 + "function":"RUN_SCHD",
3667 + "type":{
3668 + "dataType":"string",
3669 + "elements":[
3670 + {
3671 + "elementType":"input",
3672 + "elementOptions":[
3673 +
3674 + ],
3675 + "transformers":[
3676 +
3677 + ]
3678 + }
3679 + ]
3680 + },
3681 + "default_value":"0 2 * * *",
3682 + "options":[
3683 +
3684 + ],
3685 + "localized":[
3686 + "name",
3687 + "description"
3688 + ],
3689 + "name":[
3690 + {
3691 + "language_code":"en_us",
3692 + "string":"Schedule"
3693 + },
3694 + {
3695 + "language_code":"es_es",
3696 + "string":"Schedule"
3697 + },
3698 + {
3699 + "language_code":"de_de",
3700 + "string":"Schedule"
3701 + }
3702 + ],
3703 + "description":[
3704 + {
3705 + "language_code":"en_us",
3706 + "string":"Only enabled if you select <code>schedule<\/code> in the <a href=\"#MAINT_RUN\"><code>MAINT_RUN<\/code> setting<\/a>. Make sure you enter the schedule in the correct cron-like format (e.g. validate at <a href=\"https://crontab.guru/\" target=\"_blank\">crontab.guru<\/a>). For example entering <code>0 4 * * *<\/code> will run the scan after 4 am in the <a onclick=\"toggleAllSettings()\" href=\"#TIMEZONE\"><code>TIMEZONE<\/code> you set above<\/a>. Will be run NEXT time the time passes."
3707 + },
3708 + {
3709 + "language_code":"es_es",
3710 + "string":"Solo está habilitado si selecciona <code>schedule<\/code> en la configuración <a href=\"#MAINT_RUN\"><code>MAINT_RUN<\/code><\/a>. Asegúrese de ingresar la programación en el formato similar a cron correcto (por ejemplo, valide en <a href=\"https://crontab.guru/\" target=\"_blank\">crontab.guru<\/a>). Por ejemplo, ingresar <code>0 4 * * *<\/code> ejecutará el escaneo después de las 4 a.m. en el <a onclick=\"toggleAllSettings()\" href=\"#TIMEZONE\"><code>TIMEZONE<\/ código> que configuró arriba<\/a>. Se ejecutará la PRÓXIMA vez que pase el tiempo."
3711 + },
3712 + {
3713 + "language_code":"de_de",
3714 + "string":"Nur aktiviert, wenn Sie <code>schedule<\/code> in der <a href=\"#CSVBCKP_RUN\"><code>CSVBCKP_RUN<\/code>-Einstellung<\/a> auswählen. Stellen Sie sicher, dass Sie den Zeitplan im richtigen Cron-ähnlichen Format eingeben (z. B. validieren unter <a href=\"https://crontab.guru/\" target=\"_blank\">crontab.guru<\/a>). Wenn Sie beispielsweise <code>0 4 * * *<\/code> eingeben, wird der Scan nach 4 Uhr morgens in der <a onclick=\"toggleAllSettings()\" href=\"#TIMEZONE\"><code>TIMEZONE<\/ ausgeführt. Code> den Sie oben festgelegt haben<\/a>. Wird das NÄCHSTE Mal ausgeführt, wenn die Zeit vergeht."
3715 + }
3716 + ],
3717 + "value":"0 2 * * *"
3718 + },
3719 + {
3720 + "function":"RUN_TIMEOUT",
3721 + "type":{
3722 + "dataType":"integer",
3723 + "elements":[
3724 + {
3725 + "elementType":"input",
3726 + "elementOptions":[
3727 + {
3728 + "type":"number"
3729 + }
3730 + ],
3731 + "transformers":[
3732 +
3733 + ]
3734 + }
3735 + ]
3736 + },
3737 + "default_value":30,
3738 + "options":[
3739 +
3740 + ],
3741 + "localized":[
3742 + "name",
3743 + "description"
3744 + ],
3745 + "name":[
3746 + {
3747 + "language_code":"en_us",
3748 + "string":"Run timeout"
3749 + },
3750 + {
3751 + "language_code":"es_es",
3752 + "string":"Tiempo límite de ejecución"
3753 + },
3754 + {
3755 + "language_code":"de_de",
3756 + "string":"Zeitüberschreitung"
3757 + }
3758 + ],
3759 + "description":[
3760 + {
3761 + "language_code":"en_us",
3762 + "string":"Maximum time in seconds to wait for the script to finish. If this time is exceeded the script is aborted."
3763 + },
3764 + {
3765 + "language_code":"es_es",
3766 + "string":"Tiempo máximo en segundos para esperar a que finalice el script. Si se supera este tiempo, el script se cancela."
3767 + },
3768 + {
3769 + "language_code":"de_de",
3770 + "string":"Maximale Zeit in Sekunden, die auf den Abschluss des Skripts gewartet werden soll. Bei Überschreitung dieser Zeit wird das Skript abgebrochen."
3771 + }
3772 + ],
3773 + "value":30
3774 + },
3775 + {
3776 + "function":"LOG_LENGTH",
3777 + "type":{
3778 + "dataType":"integer",
3779 + "elements":[
3780 + {
3781 + "elementType":"input",
3782 + "elementOptions":[
3783 + {
3784 + "type":"number"
3785 + }
3786 + ],
3787 + "transformers":[
3788 +
3789 + ]
3790 + }
3791 + ]
3792 + },
3793 + "default_value":250000,
3794 + "options":[
3795 +
3796 + ],
3797 + "localized":[
3798 + "name",
3799 + "description"
3800 + ],
3801 + "name":[
3802 + {
3803 + "language_code":"en_us",
3804 + "string":"Log length"
3805 + }
3806 + ],
3807 + "description":[
3808 + {
3809 + "language_code":"en_us",
3810 + "string":"How many last <code>app.log<\/code> lines to keep. If <code>LOG_LEVEL<\/code> is set to <code>debug<\/code> the app generates about 10000 lines per hour, so when debugging an issue the recommended setting should cover the bug occurence timeframe. For example for a bug with a 3 day periodical appearence the value <code>1000000<\/code> should be sufficient. Setting this value to <code>1000000<\/code> generates approximatelly a 50MB <code>app.log<\/code> file. Set to <code>0<\/code> to disable log purging."
3811 + }
3812 + ],
3813 + "value":250000
3814 + }
3815 + ],
3816 + "database_column_definitions":[
3817 +
3818 + ]
3819 + },
3820 + {
3821 + "code_name":"newdev_template",
3822 + "template_type":"database-entry",
3823 + "unique_prefix":"NEWDEV",
3824 + "plugin_type":"system",
3825 + "enabled":true,
3826 + "data_source":"template",
3827 + "show_ui":false,
3828 + "localized":[
3829 + "display_name",
3830 + "description",
3831 + "icon"
3832 + ],
3833 + "display_name":[
3834 + {
3835 + "language_code":"en_us",
3836 + "string":"New Devices"
3837 + }
3838 + ],
3839 + "description":[
3840 + {
3841 + "language_code":"en_us",
3842 + "string":"The template used for new devices."
3843 + }
3844 + ],
3845 + "icon":[
3846 + {
3847 + "language_code":"en_us",
3848 + "string":"<i class=\"fa fa-plus\"><\/i>"
3849 + }
3850 + ],
3851 + "settings":[
3852 + {
3853 + "function":"ignored_MACs",
3854 + "type":{
3855 + "dataType":"array",
3856 + "elements":[
3857 + {
3858 + "elementType":"input",
3859 + "elementOptions":[
3860 + {
3861 + "placeholder":"Enter value"
3862 + },
3863 + {
3864 + "suffix":"_in"
3865 + },
3866 + {
3867 + "cssClasses":"col-sm-10"
3868 + },
3869 + {
3870 + "prefillValue":null
3871 + }
3872 + ],
3873 + "transformers":[
3874 +
3875 + ]
3876 + },
3877 + {
3878 + "elementType":"button",
3879 + "elementOptions":[
3880 + {
3881 + "sourceSuffixes":[
3882 + "_in"
3883 + ]
3884 + },
3885 + {
3886 + "separator":""
3887 + },
3888 + {
3889 + "cssClasses":"col-xs-12"
3890 + },
3891 + {
3892 + "onClick":"addList(this, false)"
3893 + },
3894 + {
3895 + "getStringKey":"Gen_Add"
3896 + }
3897 + ],
3898 + "transformers":[
3899 +
3900 + ]
3901 + },
3902 + {
3903 + "elementType":"button",
3904 + "elementOptions":[
3905 + {
3906 + "sourceSuffixes":[
3907 +
3908 + ]
3909 + },
3910 + {
3911 + "separator":""
3912 + },
3913 + {
3914 + "cssClasses":"col-xs-6"
3915 + },
3916 + {
3917 + "onClick":"removeAllOptions(this)"
3918 + },
3919 + {
3920 + "getStringKey":"Gen_Remove_All"
3921 + }
3922 + ],
3923 + "transformers":[
3924 +
3925 + ]
3926 + },
3927 + {
3928 + "elementType":"button",
3929 + "elementOptions":[
3930 + {
3931 + "sourceSuffixes":[
3932 +
3933 + ]
3934 + },
3935 + {
3936 + "separator":""
3937 + },
3938 + {
3939 + "cssClasses":"col-xs-6"
3940 + },
3941 + {
3942 + "onClick":"removeFromList(this)"
3943 + },
3944 + {
3945 + "getStringKey":"Gen_Remove_Last"
3946 + }
3947 + ],
3948 + "transformers":[
3949 +
3950 + ]
3951 + },
3952 + {
3953 + "elementType":"select",
3954 + "elementOptions":[
3955 + {
3956 + "multiple":"true"
3957 + },
3958 + {
3959 + "readonly":"true"
3960 + },
3961 + {
3962 + "editable":"true"
3963 + }
3964 + ],
3965 + "transformers":[
3966 +
3967 + ]
3968 + }
3969 + ]
3970 + },
3971 + "default_value":[
3972 +
3973 + ],
3974 + "options":[
3975 +
3976 + ],
3977 + "localized":[
3978 + "name",
3979 + "description"
3980 + ],
3981 + "name":[
3982 + {
3983 + "language_code":"en_us",
3984 + "string":"Ignored MACs"
3985 + }
3986 + ],
3987 + "description":[
3988 + {
3989 + "language_code":"en_us",
3990 + "string":"List of MACs to ignore. Use <code>%<\/code> as a wildcard. Ignored devices will not be shown anywhere in the UI or notifications. <br/><br/>For example <code>02:42:ac:%<\/code> to filter out docker containers."
3991 + }
3992 + ],
3993 + "value":[
3994 +
3995 + ]
3996 + },
3997 + {
3998 + "function":"ignored_IPs",
3999 + "type":{
4000 + "dataType":"array",
4001 + "elements":[
4002 + {
4003 + "elementType":"input",
4004 + "elementOptions":[
4005 + {
4006 + "placeholder":"Enter value"
4007 + },
4008 + {
4009 + "suffix":"_in"
4010 + },
4011 + {
4012 + "cssClasses":"col-sm-10"
4013 + },
4014 + {
4015 + "prefillValue":null
4016 + }
4017 + ],
4018 + "transformers":[
4019 +
4020 + ]
4021 + },
4022 + {
4023 + "elementType":"button",
4024 + "elementOptions":[
4025 + {
4026 + "sourceSuffixes":[
4027 + "_in"
4028 + ]
4029 + },
4030 + {
4031 + "separator":""
4032 + },
4033 + {
4034 + "cssClasses":"col-xs-12"
4035 + },
4036 + {
4037 + "onClick":"addList(this, false)"
4038 + },
4039 + {
4040 + "getStringKey":"Gen_Add"
4041 + }
4042 + ],
4043 + "transformers":[
4044 +
4045 + ]
4046 + },
4047 + {
4048 + "elementType":"button",
4049 + "elementOptions":[
4050 + {
4051 + "sourceSuffixes":[
4052 +
4053 + ]
4054 + },
4055 + {
4056 + "separator":""
4057 + },
4058 + {
4059 + "cssClasses":"col-xs-6"
4060 + },
4061 + {
4062 + "onClick":"removeAllOptions(this)"
4063 + },
4064 + {
4065 + "getStringKey":"Gen_Remove_All"
4066 + }
4067 + ],
4068 + "transformers":[
4069 +
4070 + ]
4071 + },
4072 + {
4073 + "elementType":"button",
4074 + "elementOptions":[
4075 + {
4076 + "sourceSuffixes":[
4077 +
4078 + ]
4079 + },
4080 + {
4081 + "separator":""
4082 + },
4083 + {
4084 + "cssClasses":"col-xs-6"
4085 + },
4086 + {
4087 + "onClick":"removeFromList(this)"
4088 + },
4089 + {
4090 + "getStringKey":"Gen_Remove_Last"
4091 + }
4092 + ],
4093 + "transformers":[
4094 +
4095 + ]
4096 + },
4097 + {
4098 + "elementType":"select",
4099 + "elementOptions":[
4100 + {
4101 + "multiple":"true"
4102 + },
4103 + {
4104 + "readonly":"true"
4105 + },
4106 + {
4107 + "editable":"true"
4108 + }
4109 + ],
4110 + "transformers":[
4111 +
4112 + ]
4113 + }
4114 + ]
4115 + },
4116 + "default_value":[
4117 +
4118 + ],
4119 + "options":[
4120 +
4121 + ],
4122 + "localized":[
4123 + "name",
4124 + "description"
4125 + ],
4126 + "name":[
4127 + {
4128 + "language_code":"en_us",
4129 + "string":"Ignored IPs"
4130 + }
4131 + ],
4132 + "description":[
4133 + {
4134 + "language_code":"en_us",
4135 + "string":"List of IPs to ignore. Use <code>%<\/code> as a wildcard. Ignored devices will not be shown anywhere in the UI or notifications. <br/><br/>For example <code>192.168.3.%<\/code> to filter out an IP range."
4136 + }
4137 + ],
4138 + "value":[
4139 +
4140 + ]
4141 + },
4142 + {
4143 + "function":"NAME_CLEANUP_REGEX",
4144 + "type":{
4145 + "dataType":"array",
4146 + "elements":[
4147 + {
4148 + "elementType":"input",
4149 + "elementOptions":[
4150 + {
4151 + "placeholder":"Enter value"
4152 + },
4153 + {
4154 + "suffix":"_in"
4155 + },
4156 + {
4157 + "cssClasses":"col-sm-10"
4158 + },
4159 + {
4160 + "prefillValue":null
4161 + }
4162 + ],
4163 + "transformers":[
4164 +
4165 + ]
4166 + },
4167 + {
4168 + "elementType":"button",
4169 + "elementOptions":[
4170 + {
4171 + "sourceSuffixes":[
4172 +
4173 + ]
4174 + },
4175 + {
4176 + "separator":""
4177 + },
4178 + {
4179 + "cssClasses":"col-sm-3"
4180 + },
4181 + {
4182 + "onClick":"removeAllOptions(this)"
4183 + },
4184 + {
4185 + "getStringKey":"Gen_Remove_All"
4186 + }
4187 + ],
4188 + "transformers":[
4189 +
4190 + ]
4191 + },
4192 + {
4193 + "elementType":"button",
4194 + "elementOptions":[
4195 + {
4196 + "sourceSuffixes":[
4197 +
4198 + ]
4199 + },
4200 + {
4201 + "separator":""
4202 + },
4203 + {
4204 + "cssClasses":"col-sm-3"
4205 + },
4206 + {
4207 + "onClick":"removeFromList(this)"
4208 + },
4209 + {
4210 + "getStringKey":"Gen_Remove_Last"
4211 + }
4212 + ],
4213 + "transformers":[
4214 +
4215 + ]
4216 + },
4217 + {
4218 + "elementType":"button",
4219 + "elementOptions":[
4220 + {
4221 + "sourceSuffixes":[
4222 + "_in"
4223 + ]
4224 + },
4225 + {
4226 + "separator":""
4227 + },
4228 + {
4229 + "cssClasses":"col-sm-2"
4230 + },
4231 + {
4232 + "onClick":"addList(this, false)"
4233 + },
4234 + {
4235 + "getStringKey":"Gen_Add"
4236 + }
4237 + ],
4238 + "transformers":[
4239 +
4240 + ]
4241 + },
4242 + {
4243 + "elementType":"select",
4244 + "elementOptions":[
4245 + {
4246 + "multiple":"true"
4247 + },
4248 + {
4249 + "readonly":"true"
4250 + },
4251 + {
4252 + "editable":"true"
4253 + }
4254 + ],
4255 + "transformers":[
4256 + "base64"
4257 + ]
4258 + }
4259 + ]
4260 + },
4261 + "default_value":[
4262 + "XC5fYWlycGxheQ==",
4263 + "XC5fdGNw",
4264 + "XC5sb2NhbGRvbWFpbg==",
4265 + "XC5sb2NhbA==",
4266 + "XC5fZXNwaG9tZWxpYg==",
4267 + "XC5fZ29vZ2xlY2FzdA==",
4268 + "XC5sYW4=",
4269 + "XC5ob21l",
4270 + "LVthLWZBLUYwLTldezMyfQ==",
4271 + "Iy4q"
4272 + ],
4273 + "options":[
4274 +
4275 + ],
4276 + "localized":[
4277 + "name",
4278 + "description"
4279 + ],
4280 + "name":[
4281 + {
4282 + "language_code":"en_us",
4283 + "string":"Name Cleanup REGEX"
4284 + }
4285 + ],
4286 + "description":[
4287 + {
4288 + "language_code":"en_us",
4289 + "string":"All the newly discovered device names are clened up by applying the following REGEX expression in this order. All the below are replaced by a blank string."
4290 + }
4291 + ],
4292 + "value":[
4293 + "XC5fYWlycGxheQ==",
4294 + "XC5fdGNw",
4295 + "XC5sb2NhbGRvbWFpbg==",
4296 + "XC5sb2NhbA==",
4297 + "XC5fZXNwaG9tZWxpYg==",
4298 + "XC5fZ29vZ2xlY2FzdA==",
4299 + "XC5sYW4=",
4300 + "XC5ob21l",
4301 + "LVthLWZBLUYwLTldezMyfQ==",
4302 + "Iy4q"
4303 + ]
4304 + },
4305 + {
4306 + "function":"dev_MAC",
4307 + "type":{
4308 + "dataType":"string",
4309 + "elements":[
4310 + {
4311 + "elementType":"input",
4312 + "elementOptions":[
4313 + {
4314 + "readonly":"true"
4315 + }
4316 + ],
4317 + "transformers":[
4318 +
4319 + ]
4320 + }
4321 + ]
4322 + },
4323 + "maxLength":50,
4324 + "default_value":"",
4325 + "options":[
4326 +
4327 + ],
4328 + "localized":[
4329 + "name",
4330 + "description"
4331 + ],
4332 + "name":[
4333 + {
4334 + "language_code":"en_us",
4335 + "string":"Device MAC"
4336 + }
4337 + ],
4338 + "description":[
4339 + {
4340 + "language_code":"en_us",
4341 + "string":"The MAC address of the device. Uneditable - Autodetected."
4342 + }
4343 + ],
4344 + "value":""
4345 + },
4346 + {
4347 + "function":"dev_Name",
4348 + "type":{
4349 + "dataType":"string",
4350 + "elements":[
4351 + {
4352 + "elementType":"input",
4353 + "elementOptions":[
4354 + {
4355 + "readonly":"true"
4356 + }
4357 + ],
4358 + "transformers":[
4359 +
4360 + ]
4361 + }
4362 + ]
4363 + },
4364 + "maxLength":50,
4365 + "default_value":"(unknown)",
4366 + "options":[
4367 +
4368 + ],
4369 + "localized":[
4370 + "name",
4371 + "description"
4372 + ],
4373 + "name":[
4374 + {
4375 + "language_code":"en_us",
4376 + "string":"Device Name"
4377 + }
4378 + ],
4379 + "description":[
4380 + {
4381 + "language_code":"en_us",
4382 + "string":"The name of the device. Uneditable as internal functionality is dependent on specific new device names."
4383 + }
4384 + ],
4385 + "value":"(unknown)"
4386 + },
4387 + {
4388 + "function":"dev_Owner",
4389 + "type":{
4390 + "dataType":"string",
4391 + "elements":[
4392 + {
4393 + "elementType":"select",
4394 + "elementOptions":[
4395 +
4396 + ],
4397 + "transformers":[
4398 +
4399 + ]
4400 + }
4401 + ]
4402 + },
4403 + "maxLength":30,
4404 + "default_value":"",
4405 + "options":[
4406 + "{value}"
4407 + ],
4408 + "options_params":[
4409 + {
4410 + "name":"value",
4411 + "type":"sql",
4412 + "value":"SELECT DISTINCT '' as id, '❌None' as name UNION SELECT dev_Owner as id, dev_Owner as name FROM (SELECT dev_Owner FROM Devices UNION SELECT 'House' ) AS all_devices ORDER BY id;"
4413 + }
4414 + ],
4415 + "localized":[
4416 + "name",
4417 + "description"
4418 + ],
4419 + "name":[
4420 + {
4421 + "language_code":"en_us",
4422 + "string":"Device Owner"
4423 + }
4424 + ],
4425 + "description":[
4426 + {
4427 + "language_code":"en_us",
4428 + "string":"The owner of the device."
4429 + }
4430 + ],
4431 + "value":""
4432 + },
4433 + {
4434 + "function":"dev_DeviceType",
4435 + "type":{
4436 + "dataType":"string",
4437 + "elements":[
4438 + {
4439 + "elementType":"select",
4440 + "elementOptions":[
4441 +
4442 + ],
4443 + "transformers":[
4444 +
4445 + ]
4446 + }
4447 + ]
4448 + },
4449 + "maxLength":30,
4450 + "default_value":"",
4451 + "options":[
4452 + "{value}"
4453 + ],
4454 + "options_params":[
4455 + {
4456 + "name":"value",
4457 + "type":"sql",
4458 + "value":"SELECT DISTINCT 9 as ord, dev_DeviceType as id, dev_DeviceType as name FROM Devices WHERE dev_DeviceType NOT IN ('', 'Smartphone', 'Tablet', 'Laptop', 'Mini PC', 'PC', 'Printer', 'Server', 'Singleboard Computer (SBC)', 'NAS', 'Domotic', 'IP Camera', 'Game Console', 'SmartTV', 'TV Decoder', 'Virtual Assistance', 'Clock', 'House Appliance', 'Phone', 'Radio', 'AP', 'Gateway', 'Firewall', 'Hypervisor', 'Powerline', 'Switch', 'WLAN', 'PLC', 'Router', 'USB LAN Adapter', 'USB WIFI Adapter') UNION SELECT 0 as ord, '', '❌None' UNION SELECT 1 as ord, '-----', '-- 📱Handhelds --' UNION SELECT 1 as ord, 'Smartphone', 'Smartphone' UNION SELECT 1 as ord, 'Tablet', 'Tablet' UNION SELECT 2 as ord, '-----', '-- 💻Computers --' UNION SELECT 2 as ord, 'Laptop', 'Laptop' UNION SELECT 2 as ord, 'Mini PC', 'Mini PC' UNION SELECT 2 as ord, 'PC', 'PC' UNION SELECT 2 as ord, 'Printer', 'Printer' UNION SELECT 2 as ord, 'Server', 'Server' UNION SELECT 2 as ord, 'Singleboard Computer (SBC)', 'Singleboard Computer (SBC)' UNION SELECT 2 as ord, 'NAS', 'NAS' UNION SELECT 3 as ord, '-----', '-- 🏠Smart home --' UNION SELECT 3 as ord, 'Domotic', 'Domotic' UNION SELECT 3 as ord, 'IP Camera', 'IP Camera' UNION SELECT 3 as ord, 'Game Console', 'Game Console' UNION SELECT 3 as ord, 'SmartTV', 'SmartTV' UNION SELECT 3 as ord, 'TV Decoder', 'TV Decoder' UNION SELECT 3 as ord, 'Virtual Assistance', 'Virtual Assistance' UNION SELECT 4 as ord, '-----', '-- Wired --' UNION SELECT 4 as ord, 'Clock', 'Clock' UNION SELECT 4 as ord, 'House Appliance', 'House Appliance' UNION SELECT 4 as ord, 'Phone', 'Phone' UNION SELECT 4 as ord, 'Radio', 'Radio' UNION SELECT 5 as ord, '-----', '-- 📡Network nodes --' UNION SELECT 5 as ord, 'AP', 'AP' UNION SELECT 5 as ord, 'Gateway', 'Gateway' UNION SELECT 5 as ord, 'Firewall', 'Firewall' UNION SELECT 5 as ord, 'Hypervisor', 'Hypervisor' UNION SELECT 5 as ord, 'Powerline', 'Powerline' UNION SELECT 5 as ord, 'Switch', 'Switch' UNION SELECT 5 as ord, 'WLAN', 'WLAN' UNION SELECT 5 as ord, 'PLC', 'PLC' UNION SELECT 5 as ord, 'Router', 'Router' UNION SELECT 5 as ord, 'USB LAN Adapter', 'USB LAN Adapter' UNION SELECT 5 as ord, 'USB WIFI Adapter', 'USB WIFI Adapter' UNION SELECT 9 as ord, '-----', '-- ⚙Custom --' UNION SELECT 10 as ord, '-----', '-----' UNION SELECT 10 as ord, 'Other', 'Other' ORDER BY 1,2;"
4459 + },
4460 + {
4461 + "name":"uilang",
4462 + "type":"setting",
4463 + "value":"UI_LANG"
4464 + }
4465 + ],
4466 + "localized":[
4467 + "name",
4468 + "description"
4469 + ],
4470 + "name":[
4471 + {
4472 + "language_code":"en_us",
4473 + "string":"Device Type"
4474 + }
4475 + ],
4476 + "description":[
4477 + {
4478 + "language_code":"en_us",
4479 + "string":"The type of the device."
4480 + }
4481 + ],
4482 + "value":""
4483 + },
4484 + {
4485 + "function":"dev_Vendor",
4486 + "type":{
4487 + "dataType":"string",
4488 + "elements":[
4489 + {
4490 + "elementType":"input",
4491 + "elementOptions":[
4492 + {
4493 + "readonly":"true"
4494 + }
4495 + ],
4496 + "transformers":[
4497 +
4498 + ]
4499 + }
4500 + ]
4501 + },
4502 + "maxLength":250,
4503 + "default_value":"",
4504 + "options":[
4505 +
4506 + ],
4507 + "localized":[
4508 + "name",
4509 + "description"
4510 + ],
4511 + "name":[
4512 + {
4513 + "language_code":"en_us",
4514 + "string":"Device Vendor"
4515 + }
4516 + ],
4517 + "description":[
4518 + {
4519 + "language_code":"en_us",
4520 + "string":"The vendor of the device. Uneditable - Autodetected."
4521 + }
4522 + ],
4523 + "value":""
4524 + },
4525 + {
4526 + "function":"dev_Favorite",
4527 + "type":{
4528 + "dataType":"integer",
4529 + "elements":[
4530 + {
4531 + "elementType":"input",
4532 + "elementOptions":[
4533 + {
4534 + "type":"checkbox"
4535 + }
4536 + ],
4537 + "transformers":[
4538 +
4539 + ]
4540 + }
4541 + ]
4542 + },
4543 + "default_value":0,
4544 + "options":[
4545 +
4546 + ],
4547 + "localized":[
4548 + "name",
4549 + "description"
4550 + ],
4551 + "name":[
4552 + {
4553 + "language_code":"en_us",
4554 + "string":"Favorite Device"
4555 + }
4556 + ],
4557 + "description":[
4558 + {
4559 + "language_code":"en_us",
4560 + "string":"Indicates whether the device is marked as a favorite."
4561 + }
4562 + ],
4563 + "value":0
4564 + },
4565 + {
4566 + "function":"dev_Group",
4567 + "type":{
4568 + "dataType":"string",
4569 + "elements":[
4570 + {
4571 + "elementType":"select",
4572 + "elementOptions":[
4573 +
4574 + ],
4575 + "transformers":[
4576 +
4577 + ]
4578 + }
4579 + ]
4580 + },
4581 + "maxLength":10,
4582 + "default_value":"",
4583 + "options":[
4584 + "{value}"
4585 + ],
4586 + "options_params":[
4587 + {
4588 + "name":"value",
4589 + "type":"sql",
4590 + "value":"SELECT DISTINCT '' as id, '❌None' as name UNION SELECT dev_Group as id, dev_Group as name FROM (SELECT dev_Group FROM Devices WHERE dev_Group <> '' UNION SELECT 'Personal' UNION SELECT 'Always on' UNION SELECT 'Friends' UNION SELECT 'Others' ) AS all_devices ORDER BY id;"
4591 + }
4592 + ],
4593 + "localized":[
4594 + "name",
4595 + "description"
4596 + ],
4597 + "name":[
4598 + {
4599 + "language_code":"en_us",
4600 + "string":"Device Group"
4601 + }
4602 + ],
4603 + "description":[
4604 + {
4605 + "language_code":"en_us",
4606 + "string":"The group to which the device belongs."
4607 + }
4608 + ],
4609 + "value":""
4610 + },
4611 + {
4612 + "function":"dev_Comments",
4613 + "type":{
4614 + "dataType":"string",
4615 + "elements":[
4616 + {
4617 + "elementType":"input",
4618 + "elementOptions":[
4619 +
4620 + ],
4621 + "transformers":[
4622 +
4623 + ]
4624 + }
4625 + ]
4626 + },
4627 + "default_value":"",
4628 + "options":[
4629 +
4630 + ],
4631 + "localized":[
4632 + "name",
4633 + "description"
4634 + ],
4635 + "name":[
4636 + {
4637 + "language_code":"en_us",
4638 + "string":"Device Comments"
4639 + }
4640 + ],
4641 + "description":[
4642 + {
4643 + "language_code":"en_us",
4644 + "string":"Additional comments or notes about the device."
4645 + }
4646 + ],
4647 + "value":""
4648 + },
4649 + {
4650 + "function":"dev_FirstConnection",
4651 + "type":{
4652 + "dataType":"string",
4653 + "elements":[
4654 + {
4655 + "elementType":"input",
4656 + "elementOptions":[
4657 + {
4658 + "readonly":"true"
4659 + }
4660 + ],
4661 + "transformers":[
4662 +
4663 + ]
4664 + }
4665 + ]
4666 + },
4667 + "format":"date-time",
4668 + "default_value":"",
4669 + "options":[
4670 +
4671 + ],
4672 + "localized":[
4673 + "name",
4674 + "description"
4675 + ],
4676 + "name":[
4677 + {
4678 + "language_code":"en_us",
4679 + "string":"First Connection"
4680 + }
4681 + ],
4682 + "description":[
4683 + {
4684 + "language_code":"en_us",
4685 + "string":"The date and time of the first connection with the device. Uneditable - Autodetected."
4686 + }
4687 + ],
4688 + "value":""
4689 + },
4690 + {
4691 + "function":"dev_LastConnection",
4692 + "type":{
4693 + "dataType":"string",
4694 + "elements":[
4695 + {
4696 + "elementType":"input",
4697 + "elementOptions":[
4698 + {
4699 + "readonly":"true"
4700 + }
4701 + ],
4702 + "transformers":[
4703 +
4704 + ]
4705 + }
4706 + ]
4707 + },
4708 + "format":"date-time",
4709 + "default_value":"",
4710 + "options":[
4711 +
4712 + ],
4713 + "localized":[
4714 + "name",
4715 + "description"
4716 + ],
4717 + "name":[
4718 + {
4719 + "language_code":"en_us",
4720 + "string":"Last Connection"
4721 + }
4722 + ],
4723 + "description":[
4724 + {
4725 + "language_code":"en_us",
4726 + "string":"The date and time of the last connection with the device. Uneditable - Autodetected."
4727 + }
4728 + ],
4729 + "value":""
4730 + },
4731 + {
4732 + "function":"dev_LastIP",
4733 + "type":{
4734 + "dataType":"string",
4735 + "elements":[
4736 + {
4737 + "elementType":"input",
4738 + "elementOptions":[
4739 + {
4740 + "readonly":"true"
4741 + }
4742 + ],
4743 + "transformers":[
4744 +
4745 + ]
4746 + }
4747 + ]
4748 + },
4749 + "maxLength":50,
4750 + "default_value":"",
4751 + "options":[
4752 +
4753 + ],
4754 + "localized":[
4755 + "name",
4756 + "description"
4757 + ],
4758 + "name":[
4759 + {
4760 + "language_code":"en_us",
4761 + "string":"Last IP"
4762 + }
4763 + ],
4764 + "description":[
4765 + {
4766 + "language_code":"en_us",
4767 + "string":"The last known IP address of the device. Uneditable - Autodetected."
4768 + }
4769 + ],
4770 + "value":""
4771 + },
4772 + {
4773 + "function":"dev_StaticIP",
4774 + "type":{
4775 + "dataType":"integer",
4776 + "elements":[
4777 + {
4778 + "elementType":"input",
4779 + "elementOptions":[
4780 + {
4781 + "type":"checkbox"
4782 + }
4783 + ],
4784 + "transformers":[
4785 +
4786 + ]
4787 + }
4788 + ]
4789 + },
4790 + "default_value":0,
4791 + "options":[
4792 +
4793 + ],
4794 + "localized":[
4795 + "name",
4796 + "description"
4797 + ],
4798 + "name":[
4799 + {
4800 + "language_code":"en_us",
4801 + "string":"Static IP"
4802 + }
4803 + ],
4804 + "description":[
4805 + {
4806 + "language_code":"en_us",
4807 + "string":"Indicates whether the device has a static IP address."
4808 + }
4809 + ],
4810 + "value":0
4811 + },
4812 + {
4813 + "function":"dev_ScanCycle",
4814 + "type":{
4815 + "dataType":"integer",
4816 + "elements":[
4817 + {
4818 + "elementType":"input",
4819 + "elementOptions":[
4820 + {
4821 + "type":"checkbox"
4822 + }
4823 + ],
4824 + "transformers":[
4825 +
4826 + ]
4827 + }
4828 + ]
4829 + },
4830 + "default_value":1,
4831 + "options":[
4832 +
4833 + ],
4834 + "localized":[
4835 + "name",
4836 + "description"
4837 + ],
4838 + "name":[
4839 + {
4840 + "language_code":"en_us",
4841 + "string":"Scan Cycle"
4842 + }
4843 + ],
4844 + "description":[
4845 + {
4846 + "language_code":"en_us",
4847 + "string":"The default value of the <code>Scan device<\/code> dropdown. Enable if newly discovered devices should be scanned."
4848 + }
4849 + ],
4850 + "value":1
4851 + },
4852 + {
4853 + "function":"dev_LogEvents",
4854 + "type":{
4855 + "dataType":"integer",
4856 + "elements":[
4857 + {
4858 + "elementType":"input",
4859 + "elementOptions":[
4860 + {
4861 + "type":"checkbox"
4862 + }
4863 + ],
4864 + "transformers":[
4865 +
4866 + ]
4867 + }
4868 + ]
4869 + },
4870 + "default_value":1,
4871 + "options":[
4872 +
4873 + ],
4874 + "localized":[
4875 + "name",
4876 + "description"
4877 + ],
4878 + "name":[
4879 + {
4880 + "language_code":"en_us",
4881 + "string":"Log Events"
4882 + }
4883 + ],
4884 + "description":[
4885 + {
4886 + "language_code":"en_us",
4887 + "string":"Indicates whether events related to the device shouldbe logged."
4888 + }
4889 + ],
4890 + "value":1
4891 + },
4892 + {
4893 + "function":"dev_AlertEvents",
4894 + "type":{
4895 + "dataType":"integer",
4896 + "elements":[
4897 + {
4898 + "elementType":"input",
4899 + "elementOptions":[
4900 + {
4901 + "type":"checkbox"
4902 + }
4903 + ],
4904 + "transformers":[
4905 +
4906 + ]
4907 + }
4908 + ]
4909 + },
4910 + "default_value":1,
4911 + "options":[
4912 +
4913 + ],
4914 + "localized":[
4915 + "name",
4916 + "description"
4917 + ],
4918 + "name":[
4919 + {
4920 + "language_code":"en_us",
4921 + "string":"Alert Events"
4922 + }
4923 + ],
4924 + "description":[
4925 + {
4926 + "language_code":"en_us",
4927 + "string":"Indicates whether events related to the device should trigger alerts. The default value of the <code>Alert All Events<\/code> checkbox."
4928 + }
4929 + ],
4930 + "value":1
4931 + },
4932 + {
4933 + "function":"dev_AlertDeviceDown",
4934 + "type":{
4935 + "dataType":"integer",
4936 + "elements":[
4937 + {
4938 + "elementType":"input",
4939 + "elementOptions":[
4940 + {
4941 + "type":"checkbox"
4942 + }
4943 + ],
4944 + "transformers":[
4945 +
4946 + ]
4947 + }
4948 + ]
4949 + },
4950 + "default_value":0,
4951 + "options":[
4952 +
4953 + ],
4954 + "localized":[
4955 + "name",
4956 + "description"
4957 + ],
4958 + "name":[
4959 + {
4960 + "language_code":"en_us",
4961 + "string":"Alert Device Down"
4962 + }
4963 + ],
4964 + "description":[
4965 + {
4966 + "language_code":"en_us",
4967 + "string":"Indicates whether an alert should be triggered when the device goes down. The default value of the <code>Alert Down<\/code> checkbox."
4968 + }
4969 + ],
4970 + "value":0
4971 + },
4972 + {
4973 + "function":"dev_SkipRepeated",
4974 + "type":{
4975 + "dataType":"string",
4976 + "elements":[
4977 + {
4978 + "elementType":"select",
4979 + "elementOptions":[
4980 +
4981 + ],
4982 + "transformers":[
4983 +
4984 + ]
4985 + }
4986 + ]
4987 + },
4988 + "default_value":0,
4989 + "options":[
4990 + "{value}"
4991 + ],
4992 + "options_params":[
4993 + {
4994 + "name":"value",
4995 + "type":"sql",
4996 + "value":"SELECT '0' as id, '0 (notify all)' as name UNION SELECT '168' as id, '1 week' as name UNION SELECT '24' as id, '1 day' as name UNION SELECT '8' as id, '8 h' as name UNION SELECT '1' as id, '1 h' as name"
4997 + }
4998 + ],
4999 + "localized":[
5000 + "name",
5001 + "description"
5002 + ],
5003 + "name":[
5004 + {
5005 + "language_code":"en_us",
5006 + "string":"Skip Repeated (h)"
5007 + }
5008 + ],
5009 + "description":[
5010 + {
5011 + "language_code":"en_us",
5012 + "string":"The default value of the <code>Skip repeated notifications for<\/code> dropdown. Enter number of <b>hours<\/b> for which repeated notifications should be ignored for. If you enter <code>0<\/code> then you get notified on all events."
5013 + }
5014 + ],
5015 + "value":"0"
5016 + },
5017 + {
5018 + "function":"dev_LastNotification",
5019 + "type":{
5020 + "dataType":"string",
5021 + "elements":[
5022 + {
5023 + "elementType":"input",
5024 + "elementOptions":[
5025 + {
5026 + "readonly":"true"
5027 + }
5028 + ],
5029 + "transformers":[
5030 +
5031 + ]
5032 + }
5033 + ]
5034 + },
5035 + "format":"date-time",
5036 + "default_value":"",
5037 + "options":[
5038 +
5039 + ],
5040 + "localized":[
5041 + "name",
5042 + "description"
5043 + ],
5044 + "name":[
5045 + {
5046 + "language_code":"en_us",
5047 + "string":"Last Notification"
5048 + }
5049 + ],
5050 + "description":[
5051 + {
5052 + "language_code":"en_us",
5053 + "string":"The date and time of the last notification sent for the device. Uneditable - Autodetected."
5054 + }
5055 + ],
5056 + "value":""
5057 + },
5058 + {
5059 + "function":"dev_PresentLastScan",
5060 + "type":{
5061 + "dataType":"integer",
5062 + "elements":[
5063 + {
5064 + "elementType":"input",
5065 + "elementOptions":[
5066 + {
5067 + "type":"checkbox"
5068 + }
5069 + ],
5070 + "transformers":[
5071 +
5072 + ]
5073 + }
5074 + ]
5075 + },
5076 + "default_value":1,
5077 + "options":[
5078 +
5079 + ],
5080 + "localized":[
5081 + "name",
5082 + "description"
5083 + ],
5084 + "name":[
5085 + {
5086 + "language_code":"en_us",
5087 + "string":"Present Last Scan"
5088 + }
5089 + ],
5090 + "description":[
5091 + {
5092 + "language_code":"en_us",
5093 + "string":"Indicates whether the device should be marked as present after detected in a scan."
5094 + }
5095 + ],
5096 + "value":1
5097 + },
5098 + {
5099 + "function":"dev_NewDevice",
5100 + "type":{
5101 + "dataType":"integer",
5102 + "elements":[
5103 + {
5104 + "elementType":"input",
5105 + "elementOptions":[
5106 + {
5107 + "type":"checkbox"
5108 + }
5109 + ],
5110 + "transformers":[
5111 +
5112 + ]
5113 + }
5114 + ]
5115 + },
5116 + "default_value":1,
5117 + "options":[
5118 +
5119 + ],
5120 + "localized":[
5121 + "name",
5122 + "description"
5123 + ],
5124 + "name":[
5125 + {
5126 + "language_code":"en_us",
5127 + "string":"New Device"
5128 + }
5129 + ],
5130 + "description":[
5131 + {
5132 + "language_code":"en_us",
5133 + "string":"Indicates whether the device is considered a new device. The default value of the <code>New Device<\/code> checkbox. If checked this will show the New status for the device and include it in lists when the New Devices filter is active. Doesn't affect notifications."
5134 + }
5135 + ],
5136 + "value":1
5137 + },
5138 + {
5139 + "function":"dev_Location",
5140 + "type":{
5141 + "dataType":"string",
5142 + "elements":[
5143 + {
5144 + "elementType":"select",
5145 + "elementOptions":[
5146 +
5147 + ],
5148 + "transformers":[
5149 +
5150 + ]
5151 + }
5152 + ]
5153 + },
5154 + "maxLength":250,
5155 + "default_value":"",
5156 + "options":[
5157 + "{value}"
5158 + ],
5159 + "options_params":[
5160 + {
5161 + "name":"value",
5162 + "type":"sql",
5163 + "value":"SELECT DISTINCT '' as id, '❌None' as name UNION SELECT dev_Location as id, dev_Location as name FROM (SELECT dev_Location FROM Devices where dev_Location not in (null, 'null', '') UNION SELECT 'Bathroom' UNION SELECT 'Bedroom' UNION SELECT 'Dining room' UNION SELECT 'Hall' UNION SELECT 'Kitchen' UNION SELECT 'Laundry' UNION SELECT 'Living room' UNION SELECT 'Study' UNION SELECT 'Attic' UNION SELECT 'Basement' UNION SELECT 'Garage' UNION SELECT 'Back yard' UNION SELECT 'Garden' UNION SELECT 'Terrace') AS all_devices ORDER BY id; "
5164 + }
5165 + ],
5166 + "localized":[
5167 + "name",
5168 + "description"
5169 + ],
5170 + "name":[
5171 + {
5172 + "language_code":"en_us",
5173 + "string":"Device Location"
5174 + }
5175 + ],
5176 + "description":[
5177 + {
5178 + "language_code":"en_us",
5179 + "string":"The location of the device."
5180 + }
5181 + ],
5182 + "value":""
5183 + },
5184 + {
5185 + "function":"dev_Archived",
5186 + "type":{
5187 + "dataType":"integer",
5188 + "elements":[
5189 + {
5190 + "elementType":"input",
5191 + "elementOptions":[
5192 + {
5193 + "type":"checkbox"
5194 + }
5195 + ],
5196 + "transformers":[
5197 +
5198 + ]
5199 + }
5200 + ]
5201 + },
5202 + "default_value":0,
5203 + "options":[
5204 +
5205 + ],
5206 + "localized":[
5207 + "name",
5208 + "description"
5209 + ],
5210 + "name":[
5211 + {
5212 + "language_code":"en_us",
5213 + "string":"Archived"
5214 + }
5215 + ],
5216 + "description":[
5217 + {
5218 + "language_code":"en_us",
5219 + "string":"Indicates whether the device is archived. The default value of the <code>Archived<\/code> checkbox."
5220 + }
5221 + ],
5222 + "value":0
5223 + },
5224 + {
5225 + "function":"dev_Network_Node_MAC_ADDR",
5226 + "type":{
5227 + "dataType":"string",
5228 + "elements":[
5229 + {
5230 + "elementType":"select",
5231 + "elementOptions":[
5232 +
5233 + ],
5234 + "transformers":[
5235 +
5236 + ]
5237 + }
5238 + ]
5239 + },
5240 + "default_value":"",
5241 + "options":[
5242 + "{value}"
5243 + ],
5244 + "options_params":[
5245 + {
5246 + "name":"value",
5247 + "type":"sql",
5248 + "value":"SELECT '❌None' as name, '' as id UNION SELECT Dev_Name as name, dev_MAC as id FROM Devices WHERE EXISTS (SELECT 1 FROM Settings WHERE Code_Name = 'NETWORK_DEVICE_TYPES' AND LOWER(value) LIKE '%' || LOWER(dev_DeviceType) || '%' AND dev_DeviceType <> '')"
5249 + },
5250 + {
5251 + "name":"target_macs",
5252 + "type":"setting",
5253 + "value":"KNWN_target_macs"
5254 + }
5255 + ],
5256 + "localized":[
5257 + "name",
5258 + "description"
5259 + ],
5260 + "name":[
5261 + {
5262 + "language_code":"en_us",
5263 + "string":"Network Node MAC Address"
5264 + }
5265 + ],
5266 + "description":[
5267 + {
5268 + "language_code":"en_us",
5269 + "string":"The MAC address of the network node."
5270 + }
5271 + ],
5272 + "value":"Internet"
5273 + },
5274 + {
5275 + "function":"dev_Network_Node_port",
5276 + "type":{
5277 + "dataType":"string",
5278 + "elements":[
5279 + {
5280 + "elementType":"input",
5281 + "elementOptions":[
5282 + {
5283 + "readonly":"true"
5284 + }
5285 + ],
5286 + "transformers":[
5287 +
5288 + ]
5289 + }
5290 + ]
5291 + },
5292 + "default_value":0,
5293 + "options":[
5294 +
5295 + ],
5296 + "localized":[
5297 + "name",
5298 + "description"
5299 + ],
5300 + "name":[
5301 + {
5302 + "language_code":"en_us",
5303 + "string":"Network Node Port"
5304 + }
5305 + ],
5306 + "description":[
5307 + {
5308 + "language_code":"en_us",
5309 + "string":"The port number of the network node. Uneditable."
5310 + }
5311 + ],
5312 + "value":"0"
5313 + },
5314 + {
5315 + "function":"dev_Icon",
5316 + "type":{
5317 + "dataType":"string",
5318 + "elements":[
5319 + {
5320 + "elementType":"select",
5321 + "elementOptions":[
5322 +
5323 + ],
5324 + "transformers":[
5325 +
5326 + ]
5327 + }
5328 + ]
5329 + },
5330 + "default_value":"",
5331 + "options":[
5332 + "{value}"
5333 + ],
5334 + "options_params":[
5335 + {
5336 + "name":"value",
5337 + "type":"sql",
5338 + "value":"WITH RECURSIVE SettingsIcons AS (SELECT REPLACE(REPLACE(REPLACE(Value, '[', ''), ']', ''), '''', '') AS icon_list FROM Settings WHERE Code_Name = 'UI_ICONS'), SplitIcons AS (SELECT TRIM(SUBSTR(icon_list, 1, INSTR(icon_list || ',', ',') - 1)) AS icon, SUBSTR(icon_list, INSTR(icon_list || ',', ',') + 1) AS remaining_icons FROM SettingsIcons WHERE icon_list <> '' UNION ALL SELECT TRIM(SUBSTR(remaining_icons, 1, INSTR(remaining_icons || ',', ',') - 1)) AS icon, SUBSTR(remaining_icons, INSTR(remaining_icons || ',', ',') + 1) AS remaining_icons FROM SplitIcons WHERE remaining_icons <> '') SELECT DISTINCT * FROM (SELECT icon as name, icon as id FROM SplitIcons UNION SELECT '❌None' AS name, '' AS id UNION SELECT Dev_Icon AS name, Dev_Icon AS id FROM Devices WHERE Dev_Icon <> '') AS combined_results;"
5339 + }
5340 + ],
5341 + "localized":[
5342 + "name",
5343 + "description"
5344 + ],
5345 + "name":[
5346 + {
5347 + "language_code":"en_us",
5348 + "string":"Device Icon"
5349 + }
5350 + ],
5351 + "description":[
5352 + {
5353 + "language_code":"en_us",
5354 + "string":"The icon associated with the device. Check the <a href=\"https://github.com/jokob-sk/NetAlertX/blob/main/docs/ICONS.md\" target=\"_blank\">documentation on icons<\/a> for more details."
5355 + }
5356 + ],
5357 + "value":"PGkgY2xhc3M9ImZhIGZhLWNvbXB1dGVyIj48L2k+"
5358 + }
5359 + ],
5360 + "required":[
5361 + "dev_MAC",
5362 + "dev_Name",
5363 + "dev_Owner",
5364 + "dev_FirstConnection",
5365 + "dev_LastConnection",
5366 + "dev_LastIP",
5367 + "dev_StaticIP",
5368 + "dev_ScanCycle",
5369 + "dev_LogEvents",
5370 + "dev_AlertEvents",
5371 + "dev_AlertDeviceDown",
5372 + "dev_SkipRepeated",
5373 + "dev_LastNotification",
5374 + "dev_PresentLastScan",
5375 + "dev_NewDevice",
5376 + "dev_Location",
5377 + "dev_Archived",
5378 + "dev_Network_Node_MAC_ADDR",
5379 + "dev_Network_Node_port",
5380 + "dev_Icon",
5381 + "LESS_NAME_CLEANUP"
5382 + ],
5383 + "additionalProperties":false
5384 + },
5385 + {
5386 + "code_name":"notification_processing",
5387 + "unique_prefix":"NTFPRCS",
5388 + "plugin_type":"system",
5389 + "enabled":true,
5390 + "data_source":"script",
5391 + "show_ui":false,
5392 + "localized":[
5393 + "display_name",
5394 + "description",
5395 + "icon"
5396 + ],
5397 + "display_name":[
5398 + {
5399 + "language_code":"en_us",
5400 + "string":"Notification Processing"
5401 + }
5402 + ],
5403 + "icon":[
5404 + {
5405 + "language_code":"en_us",
5406 + "string":"<i class=\"fa-solid fa-envelopes-bulk\"><\/i>"
5407 + }
5408 + ],
5409 + "description":[
5410 + {
5411 + "language_code":"en_us",
5412 + "string":"A plugin to for advanced notification processing."
5413 + }
5414 + ],
5415 + "params":[
5416 +
5417 + ],
5418 + "settings":[
5419 + {
5420 + "function":"INCLUDED_SECTIONS",
5421 + "type":{
5422 + "dataType":"array",
5423 + "elements":[
5424 + {
5425 + "elementType":"select",
5426 + "elementOptions":[
5427 + {
5428 + "multiple":"true"
5429 + }
5430 + ],
5431 + "transformers":[
5432 +
5433 + ]
5434 + }
5435 + ]
5436 + },
5437 + "default_value":[
5438 + "new_devices",
5439 + "down_devices",
5440 + "events"
5441 + ],
5442 + "options":[
5443 + "new_devices",
5444 + "down_devices",
5445 + "down_reconnected",
5446 + "events",
5447 + "plugins"
5448 + ],
5449 + "localized":[
5450 + "name",
5451 + "description"
5452 + ],
5453 + "name":[
5454 + {
5455 + "language_code":"en_us",
5456 + "string":"Notify on"
5457 + },
5458 + {
5459 + "language_code":"de_de",
5460 + "string":"Benachrichtigungen"
5461 + },
5462 + {
5463 + "language_code":"es_es",
5464 + "string":"Notificar en"
5465 + }
5466 + ],
5467 + "description":[
5468 + {
5469 + "language_code":"en_us",
5470 + "string":"Specifies which events trigger notifications. Remove the event type(s) you do not want to get notified on. This setting overrides device-specific settings in the UI. (<code>CTRL + Click<\/code> to select/deselect)."
5471 + },
5472 + {
5473 + "language_code":"de_de",
5474 + "string":"Spezifiziert, bei welchen Events Benachrichtigungen versendet werden. Entfernen Sie die Eventtypen, bei welchen Sie nicht benachrichtigt werden wollen. Diese Einstellung überschreibt gerätespezifische Einstellungen im UI. (<code>STRG + klicken<\/code> zum aus-/abwählen)."
5475 + },
5476 + {
5477 + "language_code":"es_es",
5478 + "string":"Especifica que eventos envían notificaciones. Elimina los tipos de eventos de los que no quieras recibir notificaciones. Este ajuste sobreescribe los ajustes específicos de los dispositivos en la interfaz. (<code>CTRL + Clic<\/code> para seleccionar / deseleccionar)."
5479 + }
5480 + ],
5481 + "value":[
5482 + "new_devices",
5483 + "down_devices",
5484 + "events"
5485 + ]
5486 + },
5487 + {
5488 + "function":"alert_down_time",
5489 + "type":{
5490 + "dataType":"integer",
5491 + "elements":[
5492 + {
5493 + "elementType":"input",
5494 + "elementOptions":[
5495 + {
5496 + "type":"number"
5497 + }
5498 + ],
5499 + "transformers":[
5500 +
5501 + ]
5502 + }
5503 + ]
5504 + },
5505 + "default_value":5,
5506 + "options":[
5507 +
5508 + ],
5509 + "localized":[
5510 + "name",
5511 + "description"
5512 + ],
5513 + "name":[
5514 + {
5515 + "language_code":"en_us",
5516 + "string":"Alert Down After"
5517 + }
5518 + ],
5519 + "description":[
5520 + {
5521 + "language_code":"en_us",
5522 + "string":"After how many minutes a device is reported as down and a notification is sent."
5523 + }
5524 + ],
5525 + "value":5
5526 + },
5527 + {
5528 + "function":"new_dev_condition",
5529 + "type":{
5530 + "dataType":"string",
5531 + "elements":[
5532 + {
5533 + "elementType":"input",
5534 + "elementOptions":[
5535 +
5536 + ],
5537 + "transformers":[
5538 +
5539 + ]
5540 + }
5541 + ]
5542 + },
5543 + "default_value":"",
5544 + "options":[
5545 +
5546 + ],
5547 + "localized":[
5548 + "name",
5549 + "description"
5550 + ],
5551 + "name":[
5552 + {
5553 + "language_code":"en_us",
5554 + "string":"New Devices Filter"
5555 + }
5556 + ],
5557 + "description":[
5558 + {
5559 + "language_code":"en_us",
5560 + "string":"You can specify a SQL where condition to filter out New Devices from notifications. For example <code>AND dev_LastIP NOT LIKE '192.168.3.%'<\/code> will always exlude New Device notifications for all devices with the IP starting with <code>192.168.3.%<\/code>."
5561 + }
5562 + ],
5563 + "value":""
5564 + },
5565 + {
5566 + "function":"event_condition",
5567 + "type":{
5568 + "dataType":"string",
5569 + "elements":[
5570 + {
5571 + "elementType":"input",
5572 + "elementOptions":[
5573 +
5574 + ],
5575 + "transformers":[
5576 +
5577 + ]
5578 + }
5579 + ]
5580 + },
5581 + "default_value":"",
5582 + "options":[
5583 +
5584 + ],
5585 + "localized":[
5586 + "name",
5587 + "description"
5588 + ],
5589 + "name":[
5590 + {
5591 + "language_code":"en_us",
5592 + "string":"Events Filter"
5593 + }
5594 + ],
5595 + "description":[
5596 + {
5597 + "language_code":"en_us",
5598 + "string":"You can specify a SQL where condition to filter out Events from notifications. For example <code>AND dev_LastIP NOT LIKE '192.168.3.%'<\/code> will always exlude New Device notifications for all devices with the IP starting with <code>192.168.3.%<\/code>."
5599 + }
5600 + ],
5601 + "value":""
5602 + }
5603 + ],
5604 + "database_column_definitions":[
5605 +
5606 + ]
5607 + },
5608 + {
5609 + "code_name":"pholus_scan",
5610 + "unique_prefix":"PHOLUS",
5611 + "plugin_type":"other",
5612 + "enabled":true,
5613 + "data_source":"script",
5614 + "mapped_to_table":"Pholus_Scan",
5615 + "data_filters":[
5616 + {
5617 + "compare_column":"Object_PrimaryID",
5618 + "compare_operator":"==",
5619 + "compare_field_id":"txtMacFilter",
5620 + "compare_js_template":"'{value}'.toString()",
5621 + "compare_use_quotes":true
5622 + }
5623 + ],
5624 + "show_ui":true,
5625 + "localized":[
5626 + "display_name",
5627 + "description",
5628 + "icon"
5629 + ],
5630 + "display_name":[
5631 + {
5632 + "language_code":"en_us",
5633 + "string":"Pholus (Name discovery)"
5634 + },
5635 + {
5636 + "language_code":"es_es",
5637 + "string":"Pholus (Descubrimiento de nombre)"
5638 + }
5639 + ],
5640 + "icon":[
5641 + {
5642 + "language_code":"en_us",
5643 + "string":"<i class=\"fa-solid fa-search\"><\/i>"
5644 + },
5645 + {
5646 + "language_code":"es_es",
5647 + "string":"<i class=\"fa-solid fa-search\"><\/i>"
5648 + }
5649 + ],
5650 + "description":[
5651 + {
5652 + "language_code":"en_us",
5653 + "string":"This plugin is to execute a Pholus (name discovery) on the local network"
5654 + },
5655 + {
5656 + "language_code":"es_es",
5657 + "string":"Este plugin sirve para ejecutar un escaneo Pholus (descubrimiento de nombres) en la red local"
5658 + }
5659 + ],
5660 + "params":[
5661 + {
5662 + "name":"subnets",
5663 + "type":"setting",
5664 + "value":"SCAN_SUBNETS",
5665 + "base64":true
5666 + },
5667 + {
5668 + "name":"timeout",
5669 + "type":"setting",
5670 + "value":"PHOLUS_RUN_TIMEOUT"
5671 + }
5672 + ],
5673 + "settings":[
5674 + {
5675 + "function":"RUN",
5676 + "type":{
5677 + "dataType":"string",
5678 + "elements":[
5679 + {
5680 + "elementType":"select",
5681 + "elementOptions":[
5682 +
5683 + ],
5684 + "transformers":[
5685 +
5686 + ]
5687 + }
5688 + ]
5689 + },
5690 + "default_value":"disabled",
5691 + "options":[
5692 + "disabled",
5693 + "once",
5694 + "schedule",
5695 + "always_after_scan",
5696 + "on_new_device"
5697 + ],
5698 + "localized":[
5699 + "name",
5700 + "description"
5701 + ],
5702 + "events":[
5703 + "run"
5704 + ],
5705 + "name":[
5706 + {
5707 + "language_code":"en_us",
5708 + "string":"When to run"
5709 + },
5710 + {
5711 + "language_code":"es_es",
5712 + "string":"Cuando ejecutar"
5713 + }
5714 + ],
5715 + "description":[
5716 + {
5717 + "language_code":"en_us",
5718 + "string":"<a href=\"https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/pholus_scan/pholus\" target=\"_blank\" >Pholus<\/a> is a sniffing tool to discover additional information about the devices on the network, including the device name. If enabled this will execute the scan before every network scan cycle until there are no <code>(unknown)<\/code> or <code>(name not found)<\/code> devices. Please be aware it can spam the network with unnecessary traffic. Depends on the <a onclick=\"toggleAllSettings()\" href=\"#SCAN_SUBNETS\"><code>SCAN_SUBNETS<\/code> setting<\/a>. For a scheduled or one-off scan, check the <a href=\"#PHOLUS_RUN\"><code>PHOLUS_RUN<\/code> setting<\/a>.Specify when your Name-discovery scan will run. Typical setting would be <code>on_new_device<\/code> or <code>schedule<\/code> and then you specify a cron-like schedule in the <a href=\"#PHOLUS_RUN_SCHD\"><code>PHOLUS_RUN_SCHD<\/code>setting<\/a>."
5719 + },
5720 + {
5721 + "language_code":"es_es",
5722 + "string":"<a href=\"https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/pholus_scan/pholus\" target=\"_blank\" >Pholus<\/a> es una herramienta de rastreo para descubrir información adicional sobre los dispositivos en la red, incluido el nombre del dispositivo. Si está habilitado, ejecutará el escaneo antes de cada ciclo de escaneo de red hasta que no haya dispositivos <code>(unknown)<\/code> o <code>(name not found)<\/code>. Tenga en cuenta que puede enviar spam a la red con tráfico innecesario. Depende de la configuración de <a onclick=\"toggleAllSettings()\" href=\"#SCAN_SUBNETS\"><code>SCAN_SUBNETS<\/code><\/a>. Para un análisis programado o único, verifique la configuración de <a href=\"#PHOLUS_RUN\"><code>PHOLUS_RUN<\/code><\/a>."
5723 + }
5724 + ],
5725 + "value":"on_new_device"
5726 + },
5727 + {
5728 + "function":"CMD",
5729 + "type":{
5730 + "dataType":"string",
5731 + "elements":[
5732 + {
5733 + "elementType":"input",
5734 + "elementOptions":[
5735 + {
5736 + "readonly":"true"
5737 + }
5738 + ],
5739 + "transformers":[
5740 +
5741 + ]
5742 + }
5743 + ]
5744 + },
5745 + "default_value":"python3 /app/front/plugins/pholus_scan/script.py userSubnets={subnets} timeoutSec={timeout}",
5746 + "options":[
5747 +
5748 + ],
5749 + "localized":[
5750 + "name",
5751 + "description"
5752 + ],
5753 + "name":[
5754 + {
5755 + "language_code":"en_us",
5756 + "string":"Command"
5757 + },
5758 + {
5759 + "language_code":"es_es",
5760 + "string":"Comando"
5761 + }
5762 + ],
5763 + "description":[
5764 + {
5765 + "language_code":"en_us",
5766 + "string":"Command to run. This should not be changed"
5767 + },
5768 + {
5769 + "language_code":"es_es",
5770 + "string":"Comando para ejecutar. Esto no debe ser cambiado"
5771 + }
5772 + ],
5773 + "value":"python3 /app/front/plugins/pholus_scan/script.py userSubnets={subnets} timeoutSec={timeout}"
5774 + },
5775 + {
5776 + "function":"RUN_TIMEOUT",
5777 + "type":{
5778 + "dataType":"integer",
5779 + "elements":[
5780 + {
5781 + "elementType":"input",
5782 + "elementOptions":[
5783 + {
5784 + "type":"number"
5785 + }
5786 + ],
5787 + "transformers":[
5788 +
5789 + ]
5790 + }
5791 + ]
5792 + },
5793 + "default_value":300,
5794 + "options":[
5795 +
5796 + ],
5797 + "localized":[
5798 + "name",
5799 + "description"
5800 + ],
5801 + "name":[
5802 + {
5803 + "language_code":"en_us",
5804 + "string":"Run timeout"
5805 + },
5806 + {
5807 + "language_code":"es_es",
5808 + "string":"Tiempo límite de ejecución"
5809 + }
5810 + ],
5811 + "description":[
5812 + {
5813 + "language_code":"en_us",
5814 + "string":"Network scan time in seconds. Pholus scan will always run this long. The longer it runs the more device names might be resolved. Will be divided by the number of subnets."
5815 + },
5816 + {
5817 + "language_code":"es_es",
5818 + "string":"Tiempo de escaneo de red en segundos. El escaneo de Pholus siempre durará este tiempo. Cuanto más tiempo se ejecute, más nombres de dispositivos se podrán resolver. Se dividirá por el número de subredes."
5819 + }
5820 + ],
5821 + "value":300
5822 + },
5823 + {
5824 + "function":"RUN_SCHD",
5825 + "type":{
5826 + "dataType":"string",
5827 + "elements":[
5828 + {
5829 + "elementType":"input",
5830 + "elementOptions":[
5831 +
5832 + ],
5833 + "transformers":[
5834 +
5835 + ]
5836 + }
5837 + ]
5838 + },
5839 + "default_value":"30 3 * * *",
5840 + "options":[
5841 +
5842 + ],
5843 + "localized":[
5844 + "name",
5845 + "description"
5846 + ],
5847 + "name":[
5848 + {
5849 + "language_code":"en_us",
5850 + "string":"Schedule"
5851 + },
5852 + {
5853 + "language_code":"es_es",
5854 + "string":"Schedule"
5855 + }
5856 + ],
5857 + "description":[
5858 + {
5859 + "language_code":"en_us",
5860 + "string":"Only enabled if you select <code>schedule<\/code> in the <a href=\"#PHOLUS_RUN\"><code>PHOLUS_RUN<\/code> setting<\/a>. Make sure you enter the schedule in the correct cron-like format (e.g. validate at <a href=\"https://crontab.guru/\" target=\"_blank\">crontab.guru<\/a>). For example entering <code>30 3 * * *<\/code> will run the scan at 3:30 am. Will be run NEXT time the time passes. <br/>"
5861 + },
5862 + {
5863 + "language_code":"es_es",
5864 + "string":"Solo está habilitado si selecciona <code>schedule<\/code> en la configuración <a href=\"#PHOLUS_RUN\"><code>PHOLUS_RUN<\/code><\/a>. Asegúrese de ingresar la programación en el formato cron correcto (por ejemplo, validar en <a href=\"https://crontab.guru/\" target=\"_blank\">crontab.guru<\/a>). Por ejemplo, al ingresar <code>30 3 * * *<\/code> se ejecutará el escaneo a las 3:30 am. Se ejecutará la PRÓXIMA vez que pase el tiempo. <br/>"
5865 + }
5866 + ],
5867 + "value":"30 3 * * *"
5868 + },
5869 + {
5870 + "function":"DAYS_DATA",
5871 + "type":{
5872 + "dataType":"integer",
5873 + "elements":[
5874 + {
5875 + "elementType":"input",
5876 + "elementOptions":[
5877 + {
5878 + "type":"number"
5879 + }
5880 + ],
5881 + "transformers":[
5882 +
5883 + ]
5884 + }
5885 + ]
5886 + },
5887 + "default_value":30,
5888 + "options":[
5889 +
5890 + ],
5891 + "localized":[
5892 + "name",
5893 + "description"
5894 + ],
5895 + "name":[
5896 + {
5897 + "language_code":"en_us",
5898 + "string":"Retention of data"
5899 + },
5900 + {
5901 + "language_code":"es_es",
5902 + "string":"Retención de datos"
5903 + }
5904 + ],
5905 + "description":[
5906 + {
5907 + "language_code":"en_us",
5908 + "string":"How many days of Pholus scan entries should be kept (globally, not device specific!) Enter <code>0<\/code> to disable."
5909 + },
5910 + {
5911 + "language_code":"es_es",
5912 + "string":"Cuántos días de entradas de escaneo de Pholus deben conservarse (globalmente, ¡no específico del dispositivo!). Introduzca <code>0<\/code> para desactivar."
5913 + }
5914 + ],
5915 + "value":30
5916 + },
5917 + {
5918 + "function":"WATCH",
5919 + "type":{
5920 + "dataType":"array",
5921 + "elements":[
5922 + {
5923 + "elementType":"select",
5924 + "elementOptions":[
5925 + {
5926 + "multiple":"true"
5927 + }
5928 + ],
5929 + "transformers":[
5930 +
5931 + ]
5932 + }
5933 + ]
5934 + },
5935 + "default_value":[
5936 + "Watched_Value1",
5937 + "Watched_Value2"
5938 + ],
5939 + "options":[
5940 + "Watched_Value1",
5941 + "Watched_Value2",
5942 + "Watched_Value3",
5943 + "Watched_Value4"
5944 + ],
5945 + "localized":[
5946 + "name",
5947 + "description"
5948 + ],
5949 + "name":[
5950 + {
5951 + "language_code":"en_us",
5952 + "string":"Watched"
5953 + },
5954 + {
5955 + "language_code":"es_es",
5956 + "string":"Watched"
5957 + }
5958 + ],
5959 + "description":[
5960 + {
5961 + "language_code":"en_us",
5962 + "string":"Send a notification if selected values change. Use <code>CTRL + Click<\/code> to select/deselect. <ul> <li><code>Watched_Value1<\/code> is Info<\/li><li><code>Watched_Value2<\/code> is Record type<\/li><li><code>Watched_Value3<\/code> is Info <\/li><li><code>Watched_Value4<\/code> is N/A <\/li><\/ul>"
5963 + },
5964 + {
5965 + "language_code":"es_es",
5966 + "string":"Enviar una notificación si los valores seleccionados cambian. Utilice <code>CTRL + Clic<\/code> para seleccionar/deseleccionar. <ul> <li><code>Watched_Value1<\/code> es Información<\/li><li><code>Watched_Value2<\/code> es Tipo de registro<\/li><li><code>Watched_Value3<\/code> es La información <\/li><li><code>Watched_Value4<\/code> es N/A <\/li><\/ul>"
5967 + }
5968 + ],
5969 + "value":[
5970 + "Watched_Value1",
5971 + "Watched_Value2"
5972 + ]
5973 + },
5974 + {
5975 + "function":"REPORT_ON",
5976 + "type":{
5977 + "dataType":"array",
5978 + "elements":[
5979 + {
5980 + "elementType":"select",
5981 + "elementOptions":[
5982 + {
5983 + "multiple":"true"
5984 + }
5985 + ],
5986 + "transformers":[
5987 +
5988 + ]
5989 + }
5990 + ]
5991 + },
5992 + "default_value":[
5993 + "new"
5994 + ],
5995 + "options":[
5996 + "new",
5997 + "watched-changed",
5998 + "watched-not-changed",
5999 + "missing-in-last-scan"
6000 + ],
6001 + "localized":[
6002 + "name",
6003 + "description"
6004 + ],
6005 + "name":[
6006 + {
6007 + "language_code":"en_us",
6008 + "string":"Report on"
6009 + },
6010 + {
6011 + "language_code":"es_es",
6012 + "string":"Informar sobre"
6013 + }
6014 + ],
6015 + "description":[
6016 + {
6017 + "language_code":"en_us",
6018 + "string":"When should notification be sent out."
6019 + },
6020 + {
6021 + "language_code":"es_es",
6022 + "string":"Cuándo debe enviarse una notificación."
6023 + }
6024 + ],
6025 + "value":[
6026 + "new"
6027 + ]
6028 + }
6029 + ],
6030 + "database_column_definitions":[
6031 + {
6032 + "column":"Object_PrimaryID",
6033 + "mapped_to_column":"MAC",
6034 + "css_classes":"col-sm-2",
6035 + "show":true,
6036 + "type":"device_name_mac",
6037 + "default_value":"",
6038 + "options":[
6039 +
6040 + ],
6041 + "localized":[
6042 + "name"
6043 + ],
6044 + "name":[
6045 + {
6046 + "language_code":"en_us",
6047 + "string":"MAC"
6048 + },
6049 + {
6050 + "language_code":"es_es",
6051 + "string":"MAC"
6052 + }
6053 + ]
6054 + },
6055 + {
6056 + "column":"Object_SecondaryID",
6057 + "mapped_to_column":"IP_v4_or_v6",
6058 + "css_classes":"col-sm-2",
6059 + "show":true,
6060 + "type":"label",
6061 + "default_value":"",
6062 + "options":[
6063 +
6064 + ],
6065 + "localized":[
6066 + "name"
6067 + ],
6068 + "name":[
6069 + {
6070 + "language_code":"en_us",
6071 + "string":"IP"
6072 + },
6073 + {
6074 + "language_code":"es_es",
6075 + "string":"IP"
6076 + }
6077 + ]
6078 + },
6079 + {
6080 + "column":"Watched_Value1",
6081 + "mapped_to_column":"Info",
6082 + "css_classes":"col-sm-2",
6083 + "show":true,
6084 + "type":"label",
6085 + "default_value":"",
6086 + "options":[
6087 +
6088 + ],
6089 + "localized":[
6090 + "name"
6091 + ],
6092 + "name":[
6093 + {
6094 + "language_code":"en_us",
6095 + "string":"Info"
6096 + },
6097 + {
6098 + "language_code":"es_es",
6099 + "string":"Info"
6100 + }
6101 + ]
6102 + },
6103 + {
6104 + "column":"Watched_Value2",
6105 + "mapped_to_column":"Record_Type",
6106 + "css_classes":"col-sm-2",
6107 + "show":true,
6108 + "type":"label",
6109 + "default_value":"",
6110 + "options":[
6111 +
6112 + ],
6113 + "localized":[
6114 + "name"
6115 + ],
6116 + "name":[
6117 + {
6118 + "language_code":"en_us",
6119 + "string":"Type"
6120 + },
6121 + {
6122 + "language_code":"es_es",
6123 + "string":"Tipo"
6124 + }
6125 + ]
6126 + },
6127 + {
6128 + "column":"Watched_Value3",
6129 + "mapped_to_column":"Value",
6130 + "css_classes":"col-sm-2",
6131 + "show":true,
6132 + "type":"label",
6133 + "default_value":"",
6134 + "options":[
6135 +
6136 + ],
6137 + "localized":[
6138 + "name"
6139 + ],
6140 + "name":[
6141 + {
6142 + "language_code":"en_us",
6143 + "string":"Info"
6144 + },
6145 + {
6146 + "language_code":"es_es",
6147 + "string":"Info"
6148 + }
6149 + ]
6150 + },
6151 + {
6152 + "column":"DateTimeCreated",
6153 + "mapped_to_column":"Time",
6154 + "css_classes":"col-sm-2",
6155 + "show":true,
6156 + "type":"label",
6157 + "default_value":"",
6158 + "options":[
6159 +
6160 + ],
6161 + "localized":[
6162 + "name"
6163 + ],
6164 + "name":[
6165 + {
6166 + "language_code":"en_us",
6167 + "string":"Created"
6168 + },
6169 + {
6170 + "language_code":"es_es",
6171 + "string":"Creado"
6172 + }
6173 + ]
6174 + },
6175 + {
6176 + "column":"DateTimeChanged",
6177 + "css_classes":"col-sm-2",
6178 + "show":true,
6179 + "type":"label",
6180 + "default_value":"",
6181 + "options":[
6182 +
6183 + ],
6184 + "localized":[
6185 + "name"
6186 + ],
6187 + "name":[
6188 + {
6189 + "language_code":"en_us",
6190 + "string":"Changed"
6191 + },
6192 + {
6193 + "language_code":"es_es",
6194 + "string":"Cambiado"
6195 + }
6196 + ]
6197 + },
6198 + {
6199 + "column":"Status",
6200 + "css_classes":"col-sm-1",
6201 + "show":true,
6202 + "type":"replace",
6203 + "default_value":"",
6204 + "options":[
6205 + {
6206 + "equals":"watched-not-changed",
6207 + "replacement":"<div style='text-align:center'><i class='fa-solid fa-square-check'><\/i><div><\/div>"
6208 + },
6209 + {
6210 + "equals":"watched-changed",
6211 + "replacement":"<div style='text-align:center'><i class='fa-solid fa-triangle-exclamation'><\/i><\/div>"
6212 + },
6213 + {
6214 + "equals":"new",
6215 + "replacement":"<div style='text-align:center'><i class='fa-solid fa-circle-plus'><\/i><\/div>"
6216 + },
6217 + {
6218 + "equals":"missing-in-last-scan",
6219 + "replacement":"<div style='text-align:center'><i class='fa-solid fa-question'><\/i><\/div>"
6220 + }
6221 + ],
6222 + "localized":[
6223 + "name"
6224 + ],
6225 + "name":[
6226 + {
6227 + "language_code":"en_us",
6228 + "string":"Status"
6229 + },
6230 + {
6231 + "language_code":"es_es",
6232 + "string":"Estado"
6233 + }
6234 + ]
6235 + }
6236 + ]
6237 + },
6238 + {
6239 + "code_name":"set_password",
6240 + "template_type":"database-entry",
6241 + "unique_prefix":"SETPWD",
6242 + "plugin_type":"system",
6243 + "enabled":true,
6244 + "data_source":"template",
6245 + "show_ui":false,
6246 + "localized":[
6247 + "display_name",
6248 + "description",
6249 + "icon"
6250 + ],
6251 + "display_name":[
6252 + {
6253 + "language_code":"en_us",
6254 + "string":"Set password"
6255 + },
6256 + {
6257 + "language_code":"es_es",
6258 + "string":"Establecer contraseña"
6259 + }
6260 + ],
6261 + "description":[
6262 + {
6263 + "language_code":"en_us",
6264 + "string":"A simple plugin to set the web ui password on app start."
6265 + },
6266 + {
6267 + "language_code":"es_es",
6268 + "string":"Un complemento simple para configurar la contraseña de la interfaz de usuario web al iniciar la aplicación."
6269 + }
6270 + ],
6271 + "icon":[
6272 + {
6273 + "language_code":"en_us",
6274 + "string":"<i class=\"fa fa-lock\"><\/i>"
6275 + },
6276 + {
6277 + "language_code":"es_es",
6278 + "string":"<i class=\"fa fa-lock\"><\/i>"
6279 + }
6280 + ],
6281 + "params":[
6282 + {
6283 + "name":"password",
6284 + "type":"setting",
6285 + "value":"SETPWD_password"
6286 + }
6287 + ],
6288 + "settings":[
6289 + {
6290 + "function":"enable_password",
6291 + "type":{
6292 + "dataType":"boolean",
6293 + "elements":[
6294 + {
6295 + "elementType":"input",
6296 + "elementOptions":[
6297 + {
6298 + "type":"checkbox"
6299 + }
6300 + ],
6301 + "transformers":[
6302 +
6303 + ]
6304 + }
6305 + ]
6306 + },
6307 + "default_value":false,
6308 + "options":[
6309 +
6310 + ],
6311 + "localized":[
6312 + "name",
6313 + "description"
6314 + ],
6315 + "name":[
6316 + {
6317 + "language_code":"en_us",
6318 + "string":"Enable login"
6319 + }
6320 + ],
6321 + "description":[
6322 + {
6323 + "language_code":"en_us",
6324 + "string":"When enabled a login dialog is displayed. If facing issues, you can always disable the login by setting <code>SETPWD_enable_password=False<\/code> in your <code>app.conf<\/code> file."
6325 + }
6326 + ],
6327 + "value":false
6328 + },
6329 + {
6330 + "function":"password",
6331 + "type":{
6332 + "dataType":"string",
6333 + "elements":[
6334 + {
6335 + "elementType":"input",
6336 + "elementOptions":[
6337 + {
6338 + "type":"password"
6339 + }
6340 + ],
6341 + "transformers":[
6342 + "sha256"
6343 + ]
6344 + }
6345 + ]
6346 + },
6347 + "maxLength":50,
6348 + "default_value":"123456",
6349 + "options":[
6350 +
6351 + ],
6352 + "localized":[
6353 + "name",
6354 + "description"
6355 + ],
6356 + "name":[
6357 + {
6358 + "language_code":"en_us",
6359 + "string":"Password"
6360 + },
6361 + {
6362 + "language_code":"es_es",
6363 + "string":"Contraseña"
6364 + }
6365 + ],
6366 + "description":[
6367 + {
6368 + "language_code":"en_us",
6369 + "string":"The default password is <code>123456<\/code>."
6370 + }
6371 + ],
6372 + "value":"8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92"
6373 + }
6374 + ]
6375 + },
6376 + {
6377 + "code_name":"sync",
6378 + "unique_prefix":"SYNC",
6379 + "plugin_type":"system",
6380 + "enabled":true,
6381 + "data_source":"script",
6382 + "mapped_to_table":"CurrentScan",
6383 + "data_filters":[
6384 + {
6385 + "compare_column":"Object_PrimaryID",
6386 + "compare_operator":"==",
6387 + "compare_field_id":"txtMacFilter",
6388 + "compare_js_template":"'{value}'.toString()",
6389 + "compare_use_quotes":true
6390 + }
6391 + ],
6392 + "show_ui":true,
6393 + "localized":[
6394 + "display_name",
6395 + "description",
6396 + "icon"
6397 + ],
6398 + "display_name":[
6399 + {
6400 + "language_code":"en_us",
6401 + "string":"Sync Hub"
6402 + }
6403 + ],
6404 + "description":[
6405 + {
6406 + "language_code":"en_us",
6407 + "string":"Plugin to synchronize multiple NetAlertX instances."
6408 + }
6409 + ],
6410 + "icon":[
6411 + {
6412 + "language_code":"en_us",
6413 + "string":"<i class=\"fa fa-group-arrows-rotate\"><\/i>"
6414 + }
6415 + ],
6416 + "params":[
6417 +
6418 + ],
6419 + "settings":[
6420 + {
6421 + "function":"RUN",
6422 + "events":[
6423 + "run"
6424 + ],
6425 + "type":{
6426 + "dataType":"string",
6427 + "elements":[
6428 + {
6429 + "elementType":"select",
6430 + "elementOptions":[
6431 +
6432 + ],
6433 + "transformers":[
6434 +
6435 + ]
6436 + }
6437 + ]
6438 + },
6439 + "default_value":"disabled",
6440 + "options":[
6441 + "disabled",
6442 + "once",
6443 + "schedule",
6444 + "always_after_scan",
6445 + "on_new_device",
6446 + "on_notification"
6447 + ],
6448 + "localized":[
6449 + "name",
6450 + "description"
6451 + ],
6452 + "name":[
6453 + {
6454 + "language_code":"en_us",
6455 + "string":"When to run [n,h]"
6456 + },
6457 + {
6458 + "language_code":"es_es",
6459 + "string":"Cuándo ejecutar [n,h]"
6460 + },
6461 + {
6462 + "language_code":"de_de",
6463 + "string":"Wann laufen [n,h]"
6464 + }
6465 + ],
6466 + "description":[
6467 + {
6468 + "language_code":"en_us",
6469 + "string":"When the sync should run. Data might be lost if you run the sync less frequently. Good options are <code>always_after_scan<\/code>, <code>on_new_device<\/code>, <code>on_notification<\/code>"
6470 + }
6471 + ],
6472 + "value":"disabled"
6473 + },
6474 + {
6475 + "function":"RUN_SCHD",
6476 + "type":{
6477 + "dataType":"string",
6478 + "elements":[
6479 + {
6480 + "elementType":"input",
6481 + "elementOptions":[
6482 +
6483 + ],
6484 + "transformers":[
6485 +
6486 + ]
6487 + }
6488 + ]
6489 + },
6490 + "default_value":"*/5 * * * *",
6491 + "options":[
6492 +
6493 + ],
6494 + "localized":[
6495 + "name",
6496 + "description"
6497 + ],
6498 + "name":[
6499 + {
6500 + "language_code":"en_us",
6501 + "string":"Schedule [n,h]"
6502 + }
6503 + ],
6504 + "description":[
6505 + {
6506 + "language_code":"en_us",
6507 + "string":"Only enabled if you select <code>schedule<\/code> in the <a href=\"#SYNC_RUN\"><code>SYNC_RUN<\/code> setting<\/a>. Make sure you enter the schedule in the correct cron-like format (e.g. validate at <a href=\"https://crontab.guru/\" target=\"_blank\">crontab.guru<\/a>). For example entering <code>0 4 * * *<\/code> will run the scan after 4 am in the <a onclick=\"toggleAllSettings()\" href=\"#TIMEZONE\"><code>TIMEZONE<\/code> you set above<\/a>. Will be run NEXT time the time passes."
6508 + },
6509 + {
6510 + "language_code":"es_es",
6511 + "string":"Solo está habilitado si selecciona <code>schedule<\/code> en la configuración <a href=\"#SYNC_RUN\"><code>SYNC_RUN<\/code><\/a>. Asegúrese de ingresar la programación en el formato similar a cron correcto (por ejemplo, valide en <a href=\"https://crontab.guru/\" target=\"_blank\">crontab.guru<\/a>). Por ejemplo, ingresar <code>0 4 * * *<\/code> ejecutará el escaneo después de las 4 a.m. en el <a onclick=\"toggleAllSettings()\" href=\"#TIMEZONE\"><code>TIMEZONE<\/ código> que configuró arriba<\/a>. Se ejecutará la PRÓXIMA vez que pase el tiempo."
6512 + },
6513 + {
6514 + "language_code":"de_de",
6515 + "string":"Nur aktiviert, wenn Sie <code>schedule<\/code> in der <a href=\"#SYNC_RUN\"><code>SYNC_RUN<\/code>-Einstellung<\/a> auswählen. Stellen Sie sicher, dass Sie den Zeitplan im richtigen Cron-ähnlichen Format eingeben (z. B. validieren unter <a href=\"https://crontab.guru/\" target=\"_blank\">crontab.guru<\/a>). Wenn Sie beispielsweise <code>0 4 * * *<\/code> eingeben, wird der Scan nach 4 Uhr morgens in der <a onclick=\"toggleAllSettings()\" href=\"#TIMEZONE\"><code>TIMEZONE<\/ ausgeführt. Code> den Sie oben festgelegt haben<\/a>. Wird das NÄCHSTE Mal ausgeführt, wenn die Zeit vergeht."
6516 + }
6517 + ],
6518 + "value":"*/5 * * * *"
6519 + },
6520 + {
6521 + "function":"api_token",
6522 + "type":{
6523 + "dataType":"string",
6524 + "elements":[
6525 + {
6526 + "elementType":"input",
6527 + "elementOptions":[
6528 +
6529 + ],
6530 + "transformers":[
6531 +
6532 + ]
6533 + }
6534 + ]
6535 + },
6536 + "maxLength":50,
6537 + "default_value":"",
6538 + "options":[
6539 +
6540 + ],
6541 + "localized":[
6542 + "name",
6543 + "description"
6544 + ],
6545 + "name":[
6546 + {
6547 + "language_code":"en_us",
6548 + "string":"API token [n,h]"
6549 + }
6550 + ],
6551 + "description":[
6552 + {
6553 + "language_code":"en_us",
6554 + "string":"API token to secure communication. It's sent in the request header. The API token needs to be the same on the hub and on the nodes."
6555 + }
6556 + ],
6557 + "value":""
6558 + },
6559 + {
6560 + "function":"encryption_key",
6561 + "type":{
6562 + "dataType":"string",
6563 + "elements":[
6564 + {
6565 + "elementType":"input",
6566 + "elementOptions":[
6567 +
6568 + ],
6569 + "transformers":[
6570 +
6571 + ]
6572 + }
6573 + ]
6574 + },
6575 + "maxLength":50,
6576 + "default_value":"",
6577 + "options":[
6578 +
6579 + ],
6580 + "localized":[
6581 + "name",
6582 + "description"
6583 + ],
6584 + "name":[
6585 + {
6586 + "language_code":"en_us",
6587 + "string":"Encryption Key [n,h]"
6588 + }
6589 + ],
6590 + "description":[
6591 + {
6592 + "language_code":"en_us",
6593 + "string":"Encryption key used to encrypt the data before sending and for decryption on the hub. The key needs to be the same on the hub and on the nodes."
6594 + }
6595 + ],
6596 + "value":""
6597 + },
6598 + {
6599 + "function":"hub_url",
6600 + "type":{
6601 + "dataType":"string",
6602 + "elements":[
6603 + {
6604 + "elementType":"input",
6605 + "elementOptions":[
6606 +
6607 + ],
6608 + "transformers":[
6609 +
6610 + ]
6611 + }
6612 + ]
6613 + },
6614 + "maxLength":50,
6615 + "default_value":"",
6616 + "options":[
6617 +
6618 + ],
6619 + "localized":[
6620 + "name",
6621 + "description"
6622 + ],
6623 + "name":[
6624 + {
6625 + "language_code":"en_us",
6626 + "string":"Hub URL [n]"
6627 + }
6628 + ],
6629 + "description":[
6630 + {
6631 + "language_code":"en_us",
6632 + "string":"The URL of the hub (target instance). Set on the Node. Without a trailig slash, for example <code>http://192.168.1.82:20211<\/code>"
6633 + }
6634 + ],
6635 + "value":""
6636 + },
6637 + {
6638 + "function":"node_name",
6639 + "type":{
6640 + "dataType":"string",
6641 + "elements":[
6642 + {
6643 + "elementType":"input",
6644 + "elementOptions":[
6645 +
6646 + ],
6647 + "transformers":[
6648 +
6649 + ]
6650 + }
6651 + ]
6652 + },
6653 + "maxLength":50,
6654 + "default_value":"",
6655 + "options":[
6656 +
6657 + ],
6658 + "localized":[
6659 + "name",
6660 + "description"
6661 + ],
6662 + "name":[
6663 + {
6664 + "language_code":"en_us",
6665 + "string":"Node name [n]"
6666 + }
6667 + ],
6668 + "description":[
6669 + {
6670 + "language_code":"en_us",
6671 + "string":"Use a unique node name, without spaces or special characters, such as <code>Node_Vlan01<\/code>"
6672 + }
6673 + ],
6674 + "value":""
6675 + },
6676 + {
6677 + "function":"devices",
6678 + "type":{
6679 + "dataType":"boolean",
6680 + "elements":[
6681 + {
6682 + "elementType":"input",
6683 + "elementOptions":[
6684 + {
6685 + "type":"checkbox"
6686 + }
6687 + ],
6688 + "transformers":[
6689 +
6690 + ]
6691 + }
6692 + ]
6693 + },
6694 + "default_value":false,
6695 + "options":[
6696 +
6697 + ],
6698 + "localized":[
6699 + "name",
6700 + "description"
6701 + ],
6702 + "name":[
6703 + {
6704 + "language_code":"en_us",
6705 + "string":"Sync Devices [n]"
6706 + }
6707 + ],
6708 + "description":[
6709 + {
6710 + "language_code":"en_us",
6711 + "string":"When enabled the whole Devices table is sent over. Only new devices with new MACs are inserted in the target hub."
6712 + }
6713 + ],
6714 + "value":false
6715 + },
6716 + {
6717 + "function":"plugins",
6718 + "type":{
6719 + "dataType":"array",
6720 + "elements":[
6721 + {
6722 + "elementType":"select",
6723 + "elementOptions":[
6724 + {
6725 + "multiple":"true"
6726 + }
6727 + ],
6728 + "transformers":[
6729 +
6730 + ]
6731 + }
6732 + ]
6733 + },
6734 + "maxLength":50,
6735 + "default_value":[
6736 +
6737 + ],
6738 + "options":[
6739 + "{value}"
6740 + ],
6741 + "options_params":[
6742 + {
6743 + "name":"value",
6744 + "type":"setting",
6745 + "value":"LOADED_PLUGINS"
6746 + }
6747 + ],
6748 + "localized":[
6749 + "name",
6750 + "description"
6751 + ],
6752 + "name":[
6753 + {
6754 + "language_code":"en_us",
6755 + "string":"Sync Plugins [n]"
6756 + }
6757 + ],
6758 + "description":[
6759 + {
6760 + "language_code":"en_us",
6761 + "string":"Plugins to synchronize. Only plugins that produce some kind of output in <code>last_result.log<\/code> can be synchronized."
6762 + }
6763 + ],
6764 + "value":[
6765 +
6766 + ]
6767 + },
6768 + {
6769 + "function":"CMD",
6770 + "type":{
6771 + "dataType":"string",
6772 + "elements":[
6773 + {
6774 + "elementType":"input",
6775 + "elementOptions":[
6776 + {
6777 + "readonly":"true"
6778 + }
6779 + ],
6780 + "transformers":[
6781 +
6782 + ]
6783 + }
6784 + ]
6785 + },
6786 + "default_value":"python3 /app/front/plugins/sync/sync.py",
6787 + "options":[
6788 +
6789 + ],
6790 + "localized":[
6791 + "name",
6792 + "description"
6793 + ],
6794 + "name":[
6795 + {
6796 + "language_code":"en_us",
6797 + "string":"Command"
6798 + },
6799 + {
6800 + "language_code":"es_es",
6801 + "string":"Comando"
6802 + },
6803 + {
6804 + "language_code":"de_de",
6805 + "string":"Befehl"
6806 + }
6807 + ],
6808 + "description":[
6809 + {
6810 + "language_code":"en_us",
6811 + "string":"Command to run. This can not be changed"
6812 + },
6813 + {
6814 + "language_code":"es_es",
6815 + "string":"Comando a ejecutar. Esto no se puede cambiar"
6816 + },
6817 + {
6818 + "language_code":"de_de",
6819 + "string":"Befehl zum Ausführen. Dies kann nicht geändert werden"
6820 + }
6821 + ],
6822 + "value":"python3 /app/front/plugins/sync/sync.py"
6823 + },
6824 + {
6825 + "function":"RUN_TIMEOUT",
6826 + "type":{
6827 + "dataType":"integer",
6828 + "elements":[
6829 + {
6830 + "elementType":"input",
6831 + "elementOptions":[
6832 + {
6833 + "type":"number"
6834 + }
6835 + ],
6836 + "transformers":[
6837 +
6838 + ]
6839 + }
6840 + ]
6841 + },
6842 + "default_value":30,
6843 + "options":[
6844 +
6845 + ],
6846 + "localized":[
6847 + "name",
6848 + "description"
6849 + ],
6850 + "name":[
6851 + {
6852 + "language_code":"en_us",
6853 + "string":"Run timeout"
6854 + },
6855 + {
6856 + "language_code":"es_es",
6857 + "string":"Tiempo límite de ejecución"
6858 + },
6859 + {
6860 + "language_code":"de_de",
6861 + "string":"Zeitüberschreitung"
6862 + }
6863 + ],
6864 + "description":[
6865 + {
6866 + "language_code":"en_us",
6867 + "string":"Maximum time in seconds to wait for the script to finish. If this time is exceeded the script is aborted."
6868 + },
6869 + {
6870 + "language_code":"es_es",
6871 + "string":"Tiempo máximo en segundos para esperar a que finalice el script. Si se supera este tiempo, el script se cancela."
6872 + },
6873 + {
6874 + "language_code":"de_de",
6875 + "string":"Maximale Zeit in Sekunden, die auf den Abschluss des Skripts gewartet werden soll. Bei Überschreitung dieser Zeit wird das Skript abgebrochen."
6876 + }
6877 + ],
6878 + "value":30
6879 + }
6880 + ],
6881 + "database_column_definitions":[
6882 + {
6883 + "column":"Object_PrimaryID",
6884 + "mapped_to_column":"cur_MAC",
6885 + "css_classes":"col-sm-2",
6886 + "show":true,
6887 + "type":"device_name_mac",
6888 + "default_value":"",
6889 + "options":[
6890 +
6891 + ],
6892 + "localized":[
6893 + "name"
6894 + ],
6895 + "name":[
6896 + {
6897 + "language_code":"en_us",
6898 + "string":"MAC"
6899 + },
6900 + {
6901 + "language_code":"es_es",
6902 + "string":"MAC"
6903 + },
6904 + {
6905 + "language_code":"de_de",
6906 + "string":"MAC"
6907 + }
6908 + ]
6909 + },
6910 + {
6911 + "column":"Object_SecondaryID",
6912 + "mapped_to_column":"cur_IP",
6913 + "css_classes":"col-sm-2",
6914 + "show":true,
6915 + "type":"device_ip",
6916 + "default_value":"",
6917 + "options":[
6918 +
6919 + ],
6920 + "localized":[
6921 + "name"
6922 + ],
6923 + "name":[
6924 + {
6925 + "language_code":"en_us",
6926 + "string":"IP"
6927 + },
6928 + {
6929 + "language_code":"es_es",
6930 + "string":"IP"
6931 + },
6932 + {
6933 + "language_code":"de_de",
6934 + "string":"IP"
6935 + }
6936 + ]
6937 + },
6938 + {
6939 + "column":"Watched_Value1",
6940 + "mapped_to_column":"cur_Name",
6941 + "css_classes":"col-sm-2",
6942 + "show":true,
6943 + "type":"label",
6944 + "default_value":"",
6945 + "options":[
6946 +
6947 + ],
6948 + "localized":[
6949 + "name"
6950 + ],
6951 + "name":[
6952 + {
6953 + "language_code":"en_us",
6954 + "string":"Name"
6955 + }
6956 + ]
6957 + },
6958 + {
6959 + "column":"Watched_Value2",
6960 + "mapped_to_column":"cur_Vendor",
6961 + "css_classes":"col-sm-2",
6962 + "show":true,
6963 + "type":"label",
6964 + "default_value":"",
6965 + "options":[
6966 +
6967 + ],
6968 + "localized":[
6969 + "name"
6970 + ],
6971 + "name":[
6972 + {
6973 + "language_code":"en_us",
6974 + "string":"Vendor"
6975 + }
6976 + ]
6977 + },
6978 + {
6979 + "column":"Watched_Value3",
6980 + "mapped_to_column":"cur_SyncHubNodeName",
6981 + "css_classes":"col-sm-2",
6982 + "show":true,
6983 + "type":"label",
6984 + "default_value":"",
6985 + "options":[
6986 +
6987 + ],
6988 + "localized":[
6989 + "name"
6990 + ],
6991 + "name":[
6992 + {
6993 + "language_code":"en_us",
6994 + "string":"Sync Node"
6995 + }
6996 + ]
6997 + },
6998 + {
6999 + "column":"Watched_Value4",
7000 + "css_classes":"col-sm-2",
7001 + "show":true,
7002 + "type":"label",
7003 + "default_value":"",
7004 + "options":[
7005 +
7006 + ],
7007 + "localized":[
7008 + "name"
7009 + ],
7010 + "name":[
7011 + {
7012 + "language_code":"en_us",
7013 + "string":"Device GUID"
7014 + }
7015 + ]
7016 + },
7017 + {
7018 + "column":"Dummy",
7019 + "mapped_to_column":"cur_ScanMethod",
7020 + "mapped_to_column_data":{
7021 + "value":"sync"
7022 + },
7023 + "css_classes":"col-sm-2",
7024 + "show":true,
7025 + "type":"label",
7026 + "default_value":"",
7027 + "options":[
7028 +
7029 + ],
7030 + "localized":[
7031 + "name"
7032 + ],
7033 + "name":[
7034 + {
7035 + "language_code":"en_us",
7036 + "string":"Scan method"
7037 + },
7038 + {
7039 + "language_code":"es_es",
7040 + "string":"Método de escaneo"
7041 + },
7042 + {
7043 + "language_code":"de_de",
7044 + "string":"Scanmethode"
7045 + }
7046 + ]
7047 + },
7048 + {
7049 + "column":"DateTimeCreated",
7050 + "css_classes":"col-sm-2",
7051 + "show":true,
7052 + "type":"label",
7053 + "default_value":"",
7054 + "options":[
7055 +
7056 + ],
7057 + "localized":[
7058 + "name"
7059 + ],
7060 + "name":[
7061 + {
7062 + "language_code":"en_us",
7063 + "string":"Created"
7064 + },
7065 + {
7066 + "language_code":"es_es",
7067 + "string":"Creado"
7068 + },
7069 + {
7070 + "language_code":"de_de",
7071 + "string":"Erstellt"
7072 + }
7073 + ]
7074 + },
7075 + {
7076 + "column":"DateTimeChanged",
7077 + "css_classes":"col-sm-2",
7078 + "show":true,
7079 + "type":"label",
7080 + "default_value":"",
7081 + "options":[
7082 +
7083 + ],
7084 + "localized":[
7085 + "name"
7086 + ],
7087 + "name":[
7088 + {
7089 + "language_code":"en_us",
7090 + "string":"Changed"
7091 + },
7092 + {
7093 + "language_code":"es_es",
7094 + "string":"Cambiado"
7095 + },
7096 + {
7097 + "language_code":"de_de",
7098 + "string":"Geändert"
7099 + }
7100 + ]
7101 + },
7102 + {
7103 + "column":"Status",
7104 + "css_classes":"col-sm-1",
7105 + "show":true,
7106 + "type":"replace",
7107 + "default_value":"",
7108 + "options":[
7109 + {
7110 + "equals":"watched-not-changed",
7111 + "replacement":"<div style='text-align:center'><i class='fa-solid fa-square-check'><\/i><div><\/div>"
7112 + },
7113 + {
7114 + "equals":"watched-changed",
7115 + "replacement":"<div style='text-align:center'><i class='fa-solid fa-triangle-exclamation'><\/i><\/div>"
7116 + },
7117 + {
7118 + "equals":"new",
7119 + "replacement":"<div style='text-align:center'><i class='fa-solid fa-circle-plus'><\/i><\/div>"
7120 + },
7121 + {
7122 + "equals":"missing-in-last-scan",
7123 + "replacement":"<div style='text-align:center'><i class='fa-solid fa-question'><\/i><\/div>"
7124 + }
7125 + ],
7126 + "localized":[
7127 + "name"
7128 + ],
7129 + "name":[
7130 + {
7131 + "language_code":"en_us",
7132 + "string":"Status"
7133 + },
7134 + {
7135 + "language_code":"es_es",
7136 + "string":"Estado"
7137 + },
7138 + {
7139 + "language_code":"de_de",
7140 + "string":"Status"
7141 + }
7142 + ]
7143 + }
7144 + ]
7145 + },
7146 + {
7147 + "code_name":"ui_settings",
7148 + "unique_prefix":"UI",
7149 + "plugin_type":"core",
7150 + "enabled":true,
7151 + "data_source":"template",
7152 + "show_ui":false,
7153 + "localized":[
7154 + "display_name",
7155 + "description",
7156 + "icon"
7157 + ],
7158 + "display_name":[
7159 + {
7160 + "language_code":"en_us",
7161 + "string":"UI settings"
7162 + }
7163 + ],
7164 + "description":[
7165 + {
7166 + "language_code":"en_us",
7167 + "string":"Plugin to adjust UI settings."
7168 + }
7169 + ],
7170 + "icon":[
7171 + {
7172 + "language_code":"en_us",
7173 + "string":"<i class=\"fa fa-paint-roller\"><\/i>"
7174 + }
7175 + ],
7176 + "params":[
7177 +
7178 + ],
7179 + "settings":[
7180 + {
7181 + "function":"shown_cards",
7182 + "type":{
7183 + "dataType":"array",
7184 + "elements":[
7185 + {
7186 + "elementType":"select",
7187 + "elementOptions":[
7188 + {
7189 + "multiple":"true"
7190 + }
7191 + ],
7192 + "transformers":[
7193 +
7194 + ]
7195 + }
7196 + ]
7197 + },
7198 + "maxLength":50,
7199 + "default_value":[
7200 + "my_devices",
7201 + "connected",
7202 + "favorites",
7203 + "new",
7204 + "down",
7205 + "archived"
7206 + ],
7207 + "options":[
7208 + "my_devices",
7209 + "connected",
7210 + "favorites",
7211 + "new",
7212 + "down",
7213 + "archived",
7214 + "offline",
7215 + "all"
7216 + ],
7217 + "localized":[
7218 + "name",
7219 + "description"
7220 + ],
7221 + "name":[
7222 + {
7223 + "language_code":"en_us",
7224 + "string":"Tiles to Show"
7225 + }
7226 + ],
7227 + "description":[
7228 + {
7229 + "language_code":"en_us",
7230 + "string":"Which tiles to show on teh top of the Devices page."
7231 + }
7232 + ],
7233 + "value":[
7234 + "my_devices",
7235 + "connected",
7236 + "favorites",
7237 + "new",
7238 + "down",
7239 + "archived"
7240 + ]
7241 + },
7242 + {
7243 + "function":"hide_empty",
7244 + "type":{
7245 + "dataType":"boolean",
7246 + "elements":[
7247 + {
7248 + "elementType":"input",
7249 + "elementOptions":[
7250 + {
7251 + "type":"checkbox"
7252 + }
7253 + ],
7254 + "transformers":[
7255 +
7256 + ]
7257 + }
7258 + ]
7259 + },
7260 + "default_value":false,
7261 + "options":[
7262 +
7263 + ],
7264 + "localized":[
7265 + "name",
7266 + "description"
7267 + ],
7268 + "name":[
7269 + {
7270 + "language_code":"en_us",
7271 + "string":"Hide empty tiles"
7272 + }
7273 + ],
7274 + "description":[
7275 + {
7276 + "language_code":"en_us",
7277 + "string":"Hide Device tiles with zero results."
7278 + }
7279 + ],
7280 + "value":false
7281 + }
7282 + ]
7283 + },
7284 + {
7285 + "code_name":"vendor_update",
7286 + "unique_prefix":"VNDRPDT",
7287 + "plugin_type":"system",
7288 + "enabled":true,
7289 + "data_source":"script",
7290 + "show_ui":true,
7291 + "localized":[
7292 + "display_name",
7293 + "description",
7294 + "icon"
7295 + ],
7296 + "display_name":[
7297 + {
7298 + "language_code":"en_us",
7299 + "string":"Vendor update"
7300 + },
7301 + {
7302 + "language_code":"de_de",
7303 + "string":"Hersteller Update"
7304 + }
7305 + ],
7306 + "icon":[
7307 + {
7308 + "language_code":"en_us",
7309 + "string":"<i class=\"fa-solid fa-landmark-flag\"><\/i>"
7310 + },
7311 + {
7312 + "language_code":"de_de",
7313 + "string":"<i class=\"fa-solid fa-landmark-flag\"><\/i>"
7314 + }
7315 + ],
7316 + "description":[
7317 + {
7318 + "language_code":"en_us",
7319 + "string":"A plugin to schedule vendor database updates for mac based vendor resolution."
7320 + },
7321 + {
7322 + "language_code":"de_de",
7323 + "string":"Ein Plugin zum Updaten der Herstellerdatenbank für MAC-basierte Herstellerauflösung."
7324 + }
7325 + ],
7326 + "params":[
7327 +
7328 + ],
7329 + "settings":[
7330 + {
7331 + "function":"RUN",
7332 + "events":[
7333 + "run"
7334 + ],
7335 + "type":{
7336 + "dataType":"string",
7337 + "elements":[
7338 + {
7339 + "elementType":"select",
7340 + "elementOptions":[
7341 +
7342 + ],
7343 + "transformers":[
7344 +
7345 + ]
7346 + }
7347 + ]
7348 + },
7349 + "default_value":"schedule",
7350 + "options":[
7351 + "disabled",
7352 + "once",
7353 + "schedule",
7354 + "always_after_scan"
7355 + ],
7356 + "localized":[
7357 + "name",
7358 + "description"
7359 + ],
7360 + "name":[
7361 + {
7362 + "language_code":"en_us",
7363 + "string":"When to run"
7364 + },
7365 + {
7366 + "language_code":"es_es",
7367 + "string":"Cuándo ejecutar"
7368 + },
7369 + {
7370 + "language_code":"de_de",
7371 + "string":"Wann ausführen"
7372 + }
7373 + ],
7374 + "description":[
7375 + {
7376 + "language_code":"en_us",
7377 + "string":"When the plugin should run. An overnight weekly <code>SCHEDULE<\/code> is recommended."
7378 + },
7379 + {
7380 + "language_code":"de_de",
7381 + "string":"Wann das Plugin ausgeführt werden soll. Eine wöchentliche <code>SCHEDULE<\/code> in der Nacht wird empfohlen."
7382 + }
7383 + ],
7384 + "value":"schedule"
7385 + },
7386 + {
7387 + "function":"CMD",
7388 + "type":{
7389 + "dataType":"string",
7390 + "elements":[
7391 + {
7392 + "elementType":"input",
7393 + "elementOptions":[
7394 + {
7395 + "readonly":"true"
7396 + }
7397 + ],
7398 + "transformers":[
7399 +
7400 + ]
7401 + }
7402 + ]
7403 + },
7404 + "default_value":"python3 /app/front/plugins/vendor_update/script.py",
7405 + "options":[
7406 +
7407 + ],
7408 + "localized":[
7409 + "name",
7410 + "description"
7411 + ],
7412 + "name":[
7413 + {
7414 + "language_code":"en_us",
7415 + "string":"Command"
7416 + },
7417 + {
7418 + "language_code":"es_es",
7419 + "string":"Comando"
7420 + },
7421 + {
7422 + "language_code":"de_de",
7423 + "string":"Befehl"
7424 + }
7425 + ],
7426 + "description":[
7427 + {
7428 + "language_code":"en_us",
7429 + "string":"Command to run. This can not be changed"
7430 + },
7431 + {
7432 + "language_code":"es_es",
7433 + "string":"Comando a ejecutar. Esto no se puede cambiar"
7434 + },
7435 + {
7436 + "language_code":"de_de",
7437 + "string":"Befehl zum Ausführen. Dies kann nicht geändert werden"
7438 + }
7439 + ],
7440 + "value":"python3 /app/front/plugins/vendor_update/script.py"
7441 + },
7442 + {
7443 + "function":"RUN_SCHD",
7444 + "type":{
7445 + "dataType":"string",
7446 + "elements":[
7447 + {
7448 + "elementType":"input",
7449 + "elementOptions":[
7450 +
7451 + ],
7452 + "transformers":[
7453 +
7454 + ]
7455 + }
7456 + ]
7457 + },
7458 + "default_value":"0 4 * * 3",
7459 + "options":[
7460 +
7461 + ],
7462 + "localized":[
7463 + "name",
7464 + "description"
7465 + ],
7466 + "name":[
7467 + {
7468 + "language_code":"en_us",
7469 + "string":"Schedule"
7470 + },
7471 + {
7472 + "language_code":"es_es",
7473 + "string":"Schedule"
7474 + },
7475 + {
7476 + "language_code":"de_de",
7477 + "string":"Zeitplan"
7478 + }
7479 + ],
7480 + "description":[
7481 + {
7482 + "language_code":"en_us",
7483 + "string":"Only enabled if you select <code>schedule<\/code> in the <a href=\"#VNDRPDT_RUN\"><code>VNDRPDT_RUN<\/code> setting<\/a>. Make sure you enter the schedule in the correct cron-like format (e.g. validate at <a href=\"https://crontab.guru/\" target=\"_blank\">crontab.guru<\/a>). For example entering <code>0 4 * * *<\/code> will run the scan after 4 am in the <a onclick=\"toggleAllSettings()\" href=\"#TIMEZONE\"><code>TIMEZONE<\/code> you set above<\/a>. Will be run NEXT time the time passes."
7484 + },
7485 + {
7486 + "language_code":"es_es",
7487 + "string":"Solo está habilitado si selecciona <code>schedule<\/code> en la configuración <a href=\"#VNDRPDT_RUN\"><code>VNDRPDT_RUN<\/code><\/a>. Asegúrese de ingresar la programación en el formato similar a cron correcto (por ejemplo, valide en <a href=\"https://crontab.guru/\" target=\"_blank\">crontab.guru<\/a>). Por ejemplo, ingresar <code>0 4 * * *<\/code> ejecutará el escaneo después de las 4 a.m. en el <a onclick=\"toggleAllSettings()\" href=\"#TIMEZONE\"><code>TIMEZONE<\/ código> que configuró arriba<\/a>. Se ejecutará la PRÓXIMA vez que pase el tiempo."
7488 + },
7489 + {
7490 + "language_code":"de_de",
7491 + "string":"Nur aktiv, wenn <code>schedule<\/code> in der <a href=\"#VNDRPDT_RUN\"><code>VNDRPDT_RUN<\/code> Einstellung<\/a> ausgewählt wurde. Sichergehen, dass das Intervall in einem korrekten cron-ähnlichen Format angegeben wurde (z.B. auf <a href=\"https://crontab.guru/\" target=\"_blank\">crontab.guru<\/a> testen). <code>0 4 * * *<\/code> würde den Scan täglich um 4 Uhr in der <a onclick=\"toggleAllSettings()\" href=\"#TIMEZONE\">oben ausgewählten <code>TIMEZONE<\/code><\/a> starten. Wird erst beim NÄCHSTEN Intervall ausgeführt. <br/>Es wird empfohlen, das Intervall aller Plugins, welche nach neuen Geräten suchen, auf den gleichen Wert zu setzen."
7492 + }
7493 + ],
7494 + "value":"0 4 * * 3"
7495 + },
7496 + {
7497 + "function":"RUN_TIMEOUT",
7498 + "type":{
7499 + "dataType":"integer",
7500 + "elements":[
7501 + {
7502 + "elementType":"input",
7503 + "elementOptions":[
7504 + {
7505 + "type":"number"
7506 + }
7507 + ],
7508 + "transformers":[
7509 +
7510 + ]
7511 + }
7512 + ]
7513 + },
7514 + "default_value":600,
7515 + "options":[
7516 +
7517 + ],
7518 + "localized":[
7519 + "name",
7520 + "description"
7521 + ],
7522 + "name":[
7523 + {
7524 + "language_code":"en_us",
7525 + "string":"Run timeout"
7526 + },
7527 + {
7528 + "language_code":"es_es",
7529 + "string":"Tiempo límite de ejecución"
7530 + },
7531 + {
7532 + "language_code":"de_de",
7533 + "string":"Zeitüberschreitung"
7534 + }
7535 + ],
7536 + "description":[
7537 + {
7538 + "language_code":"en_us",
7539 + "string":"Maximum time in seconds to wait for the script to finish. If this time is exceeded the script is aborted."
7540 + },
7541 + {
7542 + "language_code":"es_es",
7543 + "string":"Tiempo máximo en segundos para esperar a que finalice el script. Si se supera este tiempo, el script se cancela."
7544 + },
7545 + {
7546 + "language_code":"de_de",
7547 + "string":"Maximale Zeit in Sekunden, die auf den Abschluss des Skripts gewartet werden soll. Bei Überschreitung dieser Zeit wird das Skript abgebrochen."
7548 + }
7549 + ],
7550 + "value":600
7551 + },
7552 + {
7553 + "function":"WATCH",
7554 + "type":{
7555 + "dataType":"array",
7556 + "elements":[
7557 + {
7558 + "elementType":"select",
7559 + "elementOptions":[
7560 + {
7561 + "multiple":"true"
7562 + }
7563 + ],
7564 + "transformers":[
7565 +
7566 + ]
7567 + }
7568 + ]
7569 + },
7570 + "default_value":[
7571 + "Watched_Value1"
7572 + ],
7573 + "options":[
7574 + "Watched_Value1",
7575 + "Watched_Value2",
7576 + "Watched_Value3",
7577 + "Watched_Value4"
7578 + ],
7579 + "localized":[
7580 + "name",
7581 + "description"
7582 + ],
7583 + "name":[
7584 + {
7585 + "language_code":"en_us",
7586 + "string":"Watched"
7587 + },
7588 + {
7589 + "language_code":"es_es",
7590 + "string":"Visto"
7591 + },
7592 + {
7593 + "language_code":"de_de",
7594 + "string":"Überwacht"
7595 + }
7596 + ],
7597 + "description":[
7598 + {
7599 + "language_code":"en_us",
7600 + "string":"Send a notification if selected values change. Use <code>CTRL + Click<\/code> to select/deselect. <ul> <li><code>Watched_Value1<\/code> is vendor name<\/li><li><code>Watched_Value2<\/code> is device name<\/li><li><code>Watched_Value3<\/code> unused <\/li><li><code>Watched_Value4<\/code> unused <\/li><\/ul>"
7601 + },
7602 + {
7603 + "language_code":"de_de",
7604 + "string":"Sende eine Benachrichtigung, wenn ein ausgwählter Wert sich ändert. <code>STRG + klicken<\/code> zum aus-/abwählen. <ul> <li><code>Watched_Value1<\/code> ist der Herstellername<\/li><li><code>Watched_Value2<\/code> ist der Gerätename<\/li><li><code>Watched_Value3<\/code> ist nicht in Verwendung <\/li><li><code>Watched_Value4<\/code> ist nicht in Verwendung <\/li><\/ul>"
7605 + }
7606 + ],
7607 + "value":[
7608 + "Watched_Value1"
7609 + ]
7610 + },
7611 + {
7612 + "function":"REPORT_ON",
7613 + "type":{
7614 + "dataType":"array",
7615 + "elements":[
7616 + {
7617 + "elementType":"select",
7618 + "elementOptions":[
7619 + {
7620 + "multiple":"true"
7621 + }
7622 + ],
7623 + "transformers":[
7624 +
7625 + ]
7626 + }
7627 + ]
7628 + },
7629 + "default_value":[
7630 + "new",
7631 + "watched-changed"
7632 + ],
7633 + "options":[
7634 + "new",
7635 + "watched-changed",
7636 + "watched-not-changed",
7637 + "missing-in-last-scan"
7638 + ],
7639 + "localized":[
7640 + "name",
7641 + "description"
7642 + ],
7643 + "name":[
7644 + {
7645 + "language_code":"en_us",
7646 + "string":"Report on"
7647 + },
7648 + {
7649 + "language_code":"es_es",
7650 + "string":"Informar sobre"
7651 + },
7652 + {
7653 + "language_code":"de_de",
7654 + "string":"Benachrichtige wenn"
7655 + }
7656 + ],
7657 + "description":[
7658 + {
7659 + "language_code":"en_us",
7660 + "string":"Send a notification only on these statuses. <code>new<\/code> means a new unique (unique combination of PrimaryId and SecondaryId) object was discovered. <code>watched-changed<\/code> means that selected <code>Watched_ValueN<\/code> columns changed."
7661 + },
7662 + {
7663 + "language_code":"es_es",
7664 + "string":"Envíe una notificación solo en estos estados. <code>new<\/code> significa que se descubrió un nuevo objeto único (combinación única de PrimaryId y SecondaryId). <code>watched-changed<\/code> significa que seleccionó <code>Watched_ValueN Las columnas <\/code> cambiaron."
7665 + },
7666 + {
7667 + "language_code":"de_de",
7668 + "string":"Benachrichtige nur bei diesen Status. <code>new<\/code> bedeutet ein neues eindeutiges (einzigartige Kombination aus PrimaryId und SecondaryId) Objekt wurde erkennt. <code>watched-changed<\/code> bedeutet eine ausgewählte <code>Watched_ValueN<\/code>-Spalte hat sich geändert."
7669 + }
7670 + ],
7671 + "value":[
7672 + "new",
7673 + "watched-changed"
7674 + ]
7675 + }
7676 + ],
7677 + "database_column_definitions":[
7678 + {
7679 + "column":"Index",
7680 + "css_classes":"col-sm-2",
7681 + "show":false,
7682 + "type":"label",
7683 + "default_value":"",
7684 + "options":[
7685 +
7686 + ],
7687 + "localized":[
7688 + "name"
7689 + ],
7690 + "name":[
7691 + {
7692 + "language_code":"en_us",
7693 + "string":"N/A"
7694 + },
7695 + {
7696 + "language_code":"es_es",
7697 + "string":"N/A"
7698 + },
7699 + {
7700 + "language_code":"de_de",
7701 + "string":"N/A"
7702 + }
7703 + ]
7704 + },
7705 + {
7706 + "column":"Plugin",
7707 + "css_classes":"col-sm-2",
7708 + "show":false,
7709 + "type":"label",
7710 + "default_value":"",
7711 + "options":[
7712 +
7713 + ],
7714 + "localized":[
7715 + "name"
7716 + ],
7717 + "name":[
7718 + {
7719 + "language_code":"en_us",
7720 + "string":"N/A"
7721 + },
7722 + {
7723 + "language_code":"es_es",
7724 + "string":"N/A"
7725 + },
7726 + {
7727 + "language_code":"de_de",
7728 + "string":"N/A"
7729 + }
7730 + ]
7731 + },
7732 + {
7733 + "column":"Object_PrimaryID",
7734 + "mapped_to_column":"cur_MAC",
7735 + "css_classes":"col-sm-2",
7736 + "show":true,
7737 + "type":"device_mac",
7738 + "default_value":"",
7739 + "options":[
7740 +
7741 + ],
7742 + "localized":[
7743 + "name"
7744 + ],
7745 + "name":[
7746 + {
7747 + "language_code":"en_us",
7748 + "string":"MAC address"
7749 + },
7750 + {
7751 + "language_code":"es_es",
7752 + "string":"Dirección MAC"
7753 + },
7754 + {
7755 + "language_code":"de_de",
7756 + "string":"MAC-Adresse"
7757 + }
7758 + ]
7759 + },
7760 + {
7761 + "column":"Object_SecondaryID",
7762 + "mapped_to_column":"cur_IP",
7763 + "css_classes":"col-sm-2",
7764 + "show":true,
7765 + "type":"device_ip",
7766 + "default_value":"",
7767 + "options":[
7768 +
7769 + ],
7770 + "localized":[
7771 + "name"
7772 + ],
7773 + "name":[
7774 + {
7775 + "language_code":"en_us",
7776 + "string":"IP"
7777 + },
7778 + {
7779 + "language_code":"es_es",
7780 + "string":"IP"
7781 + },
7782 + {
7783 + "language_code":"de_de",
7784 + "string":"IP"
7785 + }
7786 + ]
7787 + },
7788 + {
7789 + "column":"DateTimeCreated",
7790 + "css_classes":"col-sm-2",
7791 + "show":true,
7792 + "type":"label",
7793 + "default_value":"",
7794 + "options":[
7795 +
7796 + ],
7797 + "localized":[
7798 + "name"
7799 + ],
7800 + "name":[
7801 + {
7802 + "language_code":"en_us",
7803 + "string":"Created"
7804 + },
7805 + {
7806 + "language_code":"es_es",
7807 + "string":"Creado"
7808 + },
7809 + {
7810 + "language_code":"de_de",
7811 + "string":"Erstellt"
7812 + }
7813 + ]
7814 + },
7815 + {
7816 + "column":"DateTimeChanged",
7817 + "mapped_to_column":"cur_DateTime",
7818 + "css_classes":"col-sm-2",
7819 + "show":true,
7820 + "type":"label",
7821 + "default_value":"",
7822 + "options":[
7823 +
7824 + ],
7825 + "localized":[
7826 + "name"
7827 + ],
7828 + "name":[
7829 + {
7830 + "language_code":"en_us",
7831 + "string":"Changed"
7832 + },
7833 + {
7834 + "language_code":"es_es",
7835 + "string":"Cambiado"
7836 + },
7837 + {
7838 + "language_code":"de_de",
7839 + "string":"Geändert"
7840 + }
7841 + ]
7842 + },
7843 + {
7844 + "column":"Dummy",
7845 + "mapped_to_column":"cur_ScanMethod",
7846 + "mapped_to_column_data":{
7847 + "value":"VNDRPDT"
7848 + },
7849 + "css_classes":"col-sm-2",
7850 + "show":true,
7851 + "type":"label",
7852 + "default_value":"",
7853 + "options":[
7854 +
7855 + ],
7856 + "localized":[
7857 + "name"
7858 + ],
7859 + "name":[
7860 + {
7861 + "language_code":"en_us",
7862 + "string":"Scan method"
7863 + },
7864 + {
7865 + "language_code":"es_es",
7866 + "string":"Método de escaneo"
7867 + },
7868 + {
7869 + "language_code":"de_de",
7870 + "string":"Scanmethode"
7871 + }
7872 + ]
7873 + },
7874 + {
7875 + "column":"Watched_Value1",
7876 + "mapped_to_column":"cur_Vendor",
7877 + "css_classes":"col-sm-2",
7878 + "show":true,
7879 + "type":"label",
7880 + "default_value":"",
7881 + "options":[
7882 +
7883 + ],
7884 + "localized":[
7885 + "name"
7886 + ],
7887 + "name":[
7888 + {
7889 + "language_code":"en_us",
7890 + "string":"Vendor"
7891 + },
7892 + {
7893 + "language_code":"de_de",
7894 + "string":"Hersteller"
7895 + }
7896 + ]
7897 + },
7898 + {
7899 + "column":"Watched_Value2",
7900 + "mapped_to_column":"cur_Name",
7901 + "css_classes":"col-sm-2",
7902 + "show":true,
7903 + "type":"label",
7904 + "default_value":"",
7905 + "options":[
7906 +
7907 + ],
7908 + "localized":[
7909 + "name"
7910 + ],
7911 + "name":[
7912 + {
7913 + "language_code":"en_us",
7914 + "string":"Hostname"
7915 + },
7916 + {
7917 + "language_code":"es_es",
7918 + "string":"Nombre de host"
7919 + },
7920 + {
7921 + "language_code":"de_de",
7922 + "string":"Hostname"
7923 + }
7924 + ]
7925 + },
7926 + {
7927 + "column":"Watched_Value3",
7928 + "css_classes":"col-sm-2",
7929 + "show":false,
7930 + "type":"label",
7931 + "default_value":"",
7932 + "options":[
7933 +
7934 + ],
7935 + "localized":[
7936 + "name"
7937 + ],
7938 + "name":[
7939 + {
7940 + "language_code":"en_us",
7941 + "string":"N/A"
7942 + },
7943 + {
7944 + "language_code":"de_de",
7945 + "string":"N/A"
7946 + }
7947 + ]
7948 + },
7949 + {
7950 + "column":"Watched_Value4",
7951 + "css_classes":"col-sm-2",
7952 + "show":false,
7953 + "type":"label",
7954 + "default_value":"",
7955 + "options":[
7956 +
7957 + ],
7958 + "localized":[
7959 + "name"
7960 + ],
7961 + "name":[
7962 + {
7963 + "language_code":"en_us",
7964 + "string":"N/A"
7965 + },
7966 + {
7967 + "language_code":"de_de",
7968 + "string":"N/A"
7969 + }
7970 + ]
7971 + },
7972 + {
7973 + "column":"UserData",
7974 + "css_classes":"col-sm-2",
7975 + "show":false,
7976 + "type":"textbox_save",
7977 + "default_value":"",
7978 + "options":[
7979 +
7980 + ],
7981 + "localized":[
7982 + "name"
7983 + ],
7984 + "name":[
7985 + {
7986 + "language_code":"en_us",
7987 + "string":"Comments"
7988 + },
7989 + {
7990 + "language_code":"es_es",
7991 + "string":"Comentarios"
7992 + },
7993 + {
7994 + "language_code":"de_de",
7995 + "string":"Kommentare"
7996 + }
7997 + ]
7998 + },
7999 + {
8000 + "column":"Extra",
8001 + "css_classes":"col-sm-3",
8002 + "show":false,
8003 + "type":"label",
8004 + "default_value":"",
8005 + "options":[
8006 +
8007 + ],
8008 + "localized":[
8009 + "name"
8010 + ],
8011 + "name":[
8012 + {
8013 + "language_code":"en_us",
8014 + "string":"N/A"
8015 + },
8016 + {
8017 + "language_code":"de_de",
8018 + "string":"N/A"
8019 + }
8020 + ]
8021 + },
8022 + {
8023 + "column":"Status",
8024 + "css_classes":"col-sm-1",
8025 + "show":true,
8026 + "type":"replace",
8027 + "default_value":"",
8028 + "options":[
8029 + {
8030 + "equals":"watched-not-changed",
8031 + "replacement":"<div style='text-align:center'><i class='fa-solid fa-square-check'><\/i><div><\/div>"
8032 + },
8033 + {
8034 + "equals":"watched-changed",
8035 + "replacement":"<div style='text-align:center'><i class='fa-solid fa-triangle-exclamation'><\/i><\/div>"
8036 + },
8037 + {
8038 + "equals":"new",
8039 + "replacement":"<div style='text-align:center'><i class='fa-solid fa-circle-plus'><\/i><\/div>"
8040 + },
8041 + {
8042 + "equals":"missing-in-last-scan",
8043 + "replacement":"<div style='text-align:center'><i class='fa-solid fa-question'><\/i><\/div>"
8044 + }
8045 + ],
8046 + "localized":[
8047 + "name"
8048 + ],
8049 + "name":[
8050 + {
8051 + "language_code":"en_us",
8052 + "string":"Status"
8053 + },
8054 + {
8055 + "language_code":"es_es",
8056 + "string":"Estado"
8057 + },
8058 + {
8059 + "language_code":"de_de",
8060 + "string":"Status"
8061 + }
8062 + ]
8063 + }
8064 + ]
8065 + },
8066 + {
8067 + "code_name":"workflows",
8068 + "unique_prefix":"WORKFLOWS",
8069 + "plugin_type":"system",
8070 + "enabled":true,
8071 + "data_source":"script",
8072 + "show_ui":false,
8073 + "localized":[
8074 + "display_name",
8075 + "description",
8076 + "icon"
8077 + ],
8078 + "display_name":[
8079 + {
8080 + "language_code":"en_us",
8081 + "string":"Workflows"
8082 + }
8083 + ],
8084 + "icon":[
8085 + {
8086 + "language_code":"en_us",
8087 + "string":"<i class=\"fa-solid fa-shuffle\"><\/i>"
8088 + }
8089 + ],
8090 + "description":[
8091 + {
8092 + "language_code":"en_us",
8093 + "string":"A plugin to adjust behavior of workflows."
8094 + }
8095 + ],
8096 + "params":[
8097 +
8098 + ],
8099 + "settings":[
8100 + {
8101 + "function":"AppEvents_hist",
8102 + "type":{
8103 + "dataType":"integer",
8104 + "elements":[
8105 + {
8106 + "elementType":"input",
8107 + "elementOptions":[
8108 + {
8109 + "type":"number"
8110 + }
8111 + ],
8112 + "transformers":[
8113 +
8114 + ]
8115 + }
8116 + ]
8117 + },
8118 + "default_value":5000,
8119 + "options":[
8120 +
8121 + ],
8122 + "localized":[
8123 + "name",
8124 + "description"
8125 + ],
8126 + "name":[
8127 + {
8128 + "language_code":"en_us",
8129 + "string":"App Events History"
8130 + }
8131 + ],
8132 + "description":[
8133 + {
8134 + "language_code":"en_us",
8135 + "string":"How many historical entries of Application Events should be kept. This influences how many entries are also available in the Workflows section in the UI."
8136 + }
8137 + ],
8138 + "value":5000
8139 + }
8140 + ],
8141 + "database_column_definitions":[
8142 +
8143 + ]
8144 + }
8145 + ]
8146 + }
Newer Older