mirror of
https://github.com/jokob-sk/NetAlertX.git
synced 2026-04-10 20:22:02 -07:00
4
.github/workflows/mkdocs.yml
vendored
4
.github/workflows/mkdocs.yml
vendored
@@ -18,14 +18,14 @@ jobs:
|
|||||||
- name: Set up Python
|
- name: Set up Python
|
||||||
uses: actions/setup-python@v4
|
uses: actions/setup-python@v4
|
||||||
with:
|
with:
|
||||||
python-version: '3.9'
|
python-version: '3.11'
|
||||||
|
|
||||||
- name: Install MkDocs
|
- name: Install MkDocs
|
||||||
run: |
|
run: |
|
||||||
pip install \
|
pip install \
|
||||||
mkdocs==1.6.0 \
|
mkdocs==1.6.0 \
|
||||||
mkdocs-material==9.5.21 \
|
mkdocs-material==9.5.21 \
|
||||||
mkdocs-github-admonitions-plugin==0.0.4
|
mkdocs-github-admonitions-plugin==0.1.1
|
||||||
|
|
||||||
- name: Build MkDocs
|
- name: Build MkDocs
|
||||||
run: mkdocs build
|
run: mkdocs build
|
||||||
|
|||||||
@@ -789,7 +789,7 @@ const handleElementOptions = (setKey, elementOptions, transformers, val) => {
|
|||||||
let inputType = "text";
|
let inputType = "text";
|
||||||
let readOnly = "";
|
let readOnly = "";
|
||||||
let isMultiSelect = false;
|
let isMultiSelect = false;
|
||||||
let isOrdeable = false;
|
let isOrderable = false;
|
||||||
let cssClasses = "";
|
let cssClasses = "";
|
||||||
let placeholder = "";
|
let placeholder = "";
|
||||||
let suffix = "";
|
let suffix = "";
|
||||||
@@ -820,8 +820,8 @@ const handleElementOptions = (setKey, elementOptions, transformers, val) => {
|
|||||||
if (option.multiple === "true") {
|
if (option.multiple === "true") {
|
||||||
isMultiSelect = true;
|
isMultiSelect = true;
|
||||||
}
|
}
|
||||||
if (option.ordeable === "true") {
|
if (option.orderable === "true") {
|
||||||
isOrdeable = true;
|
isOrderable = true;
|
||||||
}
|
}
|
||||||
if (option.editable === "true") {
|
if (option.editable === "true") {
|
||||||
editable = true;
|
editable = true;
|
||||||
@@ -877,7 +877,7 @@ const handleElementOptions = (setKey, elementOptions, transformers, val) => {
|
|||||||
inputType,
|
inputType,
|
||||||
readOnly,
|
readOnly,
|
||||||
isMultiSelect,
|
isMultiSelect,
|
||||||
isOrdeable,
|
isOrderable,
|
||||||
cssClasses,
|
cssClasses,
|
||||||
placeholder,
|
placeholder,
|
||||||
suffix,
|
suffix,
|
||||||
@@ -1076,7 +1076,7 @@ function collectSetting(prefix, setCodeName, setType, settingsArray) {
|
|||||||
},
|
},
|
||||||
array: () => {
|
array: () => {
|
||||||
let temps = [];
|
let temps = [];
|
||||||
if (opts.isOrdeable) {
|
if (opts.isOrderable) {
|
||||||
temps = $(`#${setCodeName}`).val();
|
temps = $(`#${setCodeName}`).val();
|
||||||
} else {
|
} else {
|
||||||
const sel = $(`#${setCodeName}`).attr("my-editable") === "true" ? "" : ":selected";
|
const sel = $(`#${setCodeName}`).attr("my-editable") === "true" ? "" : ":selected";
|
||||||
@@ -1189,7 +1189,7 @@ function generateFormHtml(settingsData, set, overrideValue, overrideOptions, ori
|
|||||||
inputType,
|
inputType,
|
||||||
readOnly,
|
readOnly,
|
||||||
isMultiSelect,
|
isMultiSelect,
|
||||||
isOrdeable,
|
isOrderable,
|
||||||
cssClasses,
|
cssClasses,
|
||||||
placeholder,
|
placeholder,
|
||||||
suffix,
|
suffix,
|
||||||
@@ -1225,7 +1225,7 @@ function generateFormHtml(settingsData, set, overrideValue, overrideOptions, ori
|
|||||||
switch (elementType) {
|
switch (elementType) {
|
||||||
case 'select':
|
case 'select':
|
||||||
const multi = isMultiSelect ? "multiple" : "";
|
const multi = isMultiSelect ? "multiple" : "";
|
||||||
const addCss = isOrdeable ? "select2 select2-hidden-accessible" : "";
|
const addCss = isOrderable ? "select2 select2-hidden-accessible" : "";
|
||||||
|
|
||||||
inputHtml += `<select onChange="settingsChanged();${onChange}"
|
inputHtml += `<select onChange="settingsChanged();${onChange}"
|
||||||
onfocusout="${focusout}"
|
onfocusout="${focusout}"
|
||||||
|
|||||||
@@ -9059,6 +9059,11 @@ function ajaxConvert( s, response, jqXHR, isSuccess ) {
|
|||||||
// Convert response if prev dataType is non-auto and differs from current
|
// Convert response if prev dataType is non-auto and differs from current
|
||||||
} else if ( prev !== "*" && prev !== current ) {
|
} else if ( prev !== "*" && prev !== current ) {
|
||||||
|
|
||||||
|
// Mitigate possible XSS vulnerability (gh-2432)
|
||||||
|
if ( s.crossDomain && current === "script" ) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Seek a direct converter
|
// Seek a direct converter
|
||||||
conv = converters[ prev + " " + current ] || converters[ "* " + current ];
|
conv = converters[ prev + " " + current ] || converters[ "* " + current ];
|
||||||
|
|
||||||
|
|||||||
@@ -136,7 +136,7 @@
|
|||||||
inputType,
|
inputType,
|
||||||
readOnly,
|
readOnly,
|
||||||
isMultiSelect,
|
isMultiSelect,
|
||||||
isOrdeable,
|
isOrderable,
|
||||||
cssClasses,
|
cssClasses,
|
||||||
placeholder,
|
placeholder,
|
||||||
suffix,
|
suffix,
|
||||||
|
|||||||
@@ -143,7 +143,7 @@
|
|||||||
"DevDetail_SessionTable_Duration": "Dauer",
|
"DevDetail_SessionTable_Duration": "Dauer",
|
||||||
"DevDetail_SessionTable_IP": "IP",
|
"DevDetail_SessionTable_IP": "IP",
|
||||||
"DevDetail_SessionTable_Order": "Reihenfolge",
|
"DevDetail_SessionTable_Order": "Reihenfolge",
|
||||||
"DevDetail_Shortcut_CurrentStatus": "aktueller Status",
|
"DevDetail_Shortcut_CurrentStatus": "Status",
|
||||||
"DevDetail_Shortcut_DownAlerts": "Down Meldungen",
|
"DevDetail_Shortcut_DownAlerts": "Down Meldungen",
|
||||||
"DevDetail_Shortcut_Presence": "Anwesenheit",
|
"DevDetail_Shortcut_Presence": "Anwesenheit",
|
||||||
"DevDetail_Shortcut_Sessions": "Sitzungen",
|
"DevDetail_Shortcut_Sessions": "Sitzungen",
|
||||||
@@ -211,7 +211,7 @@
|
|||||||
"Device_NextScan_In": "",
|
"Device_NextScan_In": "",
|
||||||
"Device_NoData_Help": "",
|
"Device_NoData_Help": "",
|
||||||
"Device_NoData_Scanning": "",
|
"Device_NoData_Scanning": "",
|
||||||
"Device_NoData_Title": "",
|
"Device_NoData_Title": "Noch keine Geräte gefunden",
|
||||||
"Device_NoMatch_Title": "",
|
"Device_NoMatch_Title": "",
|
||||||
"Device_Save_Failed": "",
|
"Device_Save_Failed": "",
|
||||||
"Device_Save_Unauthorized": "",
|
"Device_Save_Unauthorized": "",
|
||||||
@@ -239,8 +239,8 @@
|
|||||||
"Device_TableHead_Flapping": "",
|
"Device_TableHead_Flapping": "",
|
||||||
"Device_TableHead_GUID": "GUID",
|
"Device_TableHead_GUID": "GUID",
|
||||||
"Device_TableHead_Group": "Gruppe",
|
"Device_TableHead_Group": "Gruppe",
|
||||||
"Device_TableHead_IPv4": "",
|
"Device_TableHead_IPv4": "IPv4",
|
||||||
"Device_TableHead_IPv6": "",
|
"Device_TableHead_IPv6": "IPv6",
|
||||||
"Device_TableHead_Icon": "Icon",
|
"Device_TableHead_Icon": "Icon",
|
||||||
"Device_TableHead_LastIP": "Letzte IP",
|
"Device_TableHead_LastIP": "Letzte IP",
|
||||||
"Device_TableHead_LastIPOrder": "Letzte erhaltene IP",
|
"Device_TableHead_LastIPOrder": "Letzte erhaltene IP",
|
||||||
@@ -251,7 +251,7 @@
|
|||||||
"Device_TableHead_Name": "Name",
|
"Device_TableHead_Name": "Name",
|
||||||
"Device_TableHead_NetworkSite": "Netzwerkseite",
|
"Device_TableHead_NetworkSite": "Netzwerkseite",
|
||||||
"Device_TableHead_Owner": "Eigentümer",
|
"Device_TableHead_Owner": "Eigentümer",
|
||||||
"Device_TableHead_ParentRelType": "",
|
"Device_TableHead_ParentRelType": "Beziehungstyp",
|
||||||
"Device_TableHead_Parent_MAC": "Übergeordneter Netzwerkknoten",
|
"Device_TableHead_Parent_MAC": "Übergeordneter Netzwerkknoten",
|
||||||
"Device_TableHead_Port": "Port",
|
"Device_TableHead_Port": "Port",
|
||||||
"Device_TableHead_PresentLastScan": "Anwesenheit",
|
"Device_TableHead_PresentLastScan": "Anwesenheit",
|
||||||
@@ -315,11 +315,11 @@
|
|||||||
"FakeMAC_hover": "",
|
"FakeMAC_hover": "",
|
||||||
"FieldLock_Error": "",
|
"FieldLock_Error": "",
|
||||||
"FieldLock_Lock_Tooltip": "",
|
"FieldLock_Lock_Tooltip": "",
|
||||||
"FieldLock_Locked": "",
|
"FieldLock_Locked": "Feld gesperrt",
|
||||||
"FieldLock_SaveBeforeLocking": "",
|
"FieldLock_SaveBeforeLocking": "",
|
||||||
"FieldLock_Source_Label": "",
|
"FieldLock_Source_Label": "Quelle: ",
|
||||||
"FieldLock_Unlock_Tooltip": "",
|
"FieldLock_Unlock_Tooltip": "",
|
||||||
"FieldLock_Unlocked": "",
|
"FieldLock_Unlocked": "Feld entsperrt",
|
||||||
"GRAPHQL_PORT_description": "Die Portnummer des GraphQL-Servers. Stellen Sie sicher, dass dieser Port von keiner anderen Anwendung oder NetAlertX Instanz verwendet wird.",
|
"GRAPHQL_PORT_description": "Die Portnummer des GraphQL-Servers. Stellen Sie sicher, dass dieser Port von keiner anderen Anwendung oder NetAlertX Instanz verwendet wird.",
|
||||||
"GRAPHQL_PORT_name": "GraphQL-Port",
|
"GRAPHQL_PORT_name": "GraphQL-Port",
|
||||||
"Gen_Action": "Action",
|
"Gen_Action": "Action",
|
||||||
@@ -327,13 +327,13 @@
|
|||||||
"Gen_AddDevice": "Gerät hinzufügen",
|
"Gen_AddDevice": "Gerät hinzufügen",
|
||||||
"Gen_Add_All": "Alle hinzufügen",
|
"Gen_Add_All": "Alle hinzufügen",
|
||||||
"Gen_All_Devices": "Alle Geräte",
|
"Gen_All_Devices": "Alle Geräte",
|
||||||
"Gen_Archived": "",
|
"Gen_Archived": "Archiviert",
|
||||||
"Gen_AreYouSure": "Sind Sie sich sicher?",
|
"Gen_AreYouSure": "Sind Sie sich sicher?",
|
||||||
"Gen_Backup": "Sichern",
|
"Gen_Backup": "Sichern",
|
||||||
"Gen_Cancel": "Abbrechen",
|
"Gen_Cancel": "Abbrechen",
|
||||||
"Gen_Change": "Ändern",
|
"Gen_Change": "Ändern",
|
||||||
"Gen_Copy": "Ausführen",
|
"Gen_Copy": "Ausführen",
|
||||||
"Gen_CopyToClipboard": "",
|
"Gen_CopyToClipboard": "In die Zwischenablage kopieren",
|
||||||
"Gen_DataUpdatedUITakesTime": "OK – Es kann einen Moment dauern, bis die Benutzeroberfläche aktualisiert wird, während ein Scan ausgeführt wird.",
|
"Gen_DataUpdatedUITakesTime": "OK – Es kann einen Moment dauern, bis die Benutzeroberfläche aktualisiert wird, während ein Scan ausgeführt wird.",
|
||||||
"Gen_Delete": "Löschen",
|
"Gen_Delete": "Löschen",
|
||||||
"Gen_DeleteAll": "Alles löschen",
|
"Gen_DeleteAll": "Alles löschen",
|
||||||
@@ -344,10 +344,10 @@
|
|||||||
"Gen_Flapping": "",
|
"Gen_Flapping": "",
|
||||||
"Gen_Generate": "Generieren",
|
"Gen_Generate": "Generieren",
|
||||||
"Gen_InvalidMac": "Ungültige MAC-Adresse.",
|
"Gen_InvalidMac": "Ungültige MAC-Adresse.",
|
||||||
"Gen_Invalid_Value": "",
|
"Gen_Invalid_Value": "Ein ungültiger Wert wurde eingegeben",
|
||||||
"Gen_LockedDB": "ERROR - DB eventuell gesperrt - Nutze die Konsole in den Entwickler Werkzeugen (F12) zur Überprüfung oder probiere es später erneut.",
|
"Gen_LockedDB": "ERROR - DB eventuell gesperrt - Nutze die Konsole in den Entwickler Werkzeugen (F12) zur Überprüfung oder probiere es später erneut.",
|
||||||
"Gen_NetworkMask": "",
|
"Gen_NetworkMask": "Netzmaske",
|
||||||
"Gen_New": "",
|
"Gen_New": "Neu",
|
||||||
"Gen_Offline": "Offline",
|
"Gen_Offline": "Offline",
|
||||||
"Gen_Okay": "Ok",
|
"Gen_Okay": "Ok",
|
||||||
"Gen_Online": "Online",
|
"Gen_Online": "Online",
|
||||||
@@ -366,7 +366,7 @@
|
|||||||
"Gen_SelectToPreview": "Zur Vorschau auswählen",
|
"Gen_SelectToPreview": "Zur Vorschau auswählen",
|
||||||
"Gen_Selected_Devices": "Ausgewählte Geräte:",
|
"Gen_Selected_Devices": "Ausgewählte Geräte:",
|
||||||
"Gen_Sleeping": "",
|
"Gen_Sleeping": "",
|
||||||
"Gen_Subnet": "",
|
"Gen_Subnet": "Subnetz",
|
||||||
"Gen_Switch": "Umschalten",
|
"Gen_Switch": "Umschalten",
|
||||||
"Gen_Upd": "Aktualisierung erfolgreich",
|
"Gen_Upd": "Aktualisierung erfolgreich",
|
||||||
"Gen_Upd_Fail": "Aktualisierung fehlgeschlagen",
|
"Gen_Upd_Fail": "Aktualisierung fehlgeschlagen",
|
||||||
|
|||||||
@@ -208,7 +208,7 @@
|
|||||||
"Device_NoData_Help": "Si les appareils n'apparaissent pas après le scan, vérifiez vos paramètres SCAN_SUBNETS et la <a href=\"https://docs.netalertx.com/SUBNETS\" target=\"_blank\">documentation</a>.",
|
"Device_NoData_Help": "Si les appareils n'apparaissent pas après le scan, vérifiez vos paramètres SCAN_SUBNETS et la <a href=\"https://docs.netalertx.com/SUBNETS\" target=\"_blank\">documentation</a>.",
|
||||||
"Device_NoData_Scanning": "En attente du premier scan - cela peut prendre quelques minutes après le premier paramétrage.",
|
"Device_NoData_Scanning": "En attente du premier scan - cela peut prendre quelques minutes après le premier paramétrage.",
|
||||||
"Device_NoData_Title": "Aucun appareil trouvé pour le moment",
|
"Device_NoData_Title": "Aucun appareil trouvé pour le moment",
|
||||||
"Device_NoMatch_Title": "",
|
"Device_NoMatch_Title": "Aucun appareil ne correspond au filtre actuel",
|
||||||
"Device_Save_Failed": "Erreur à l'enregistrement de l'appareil",
|
"Device_Save_Failed": "Erreur à l'enregistrement de l'appareil",
|
||||||
"Device_Save_Unauthorized": "Non autorisé - Jeton d'API invalide",
|
"Device_Save_Unauthorized": "Non autorisé - Jeton d'API invalide",
|
||||||
"Device_Saved_Success": "Appareil enregistré avec succès",
|
"Device_Saved_Success": "Appareil enregistré avec succès",
|
||||||
@@ -232,7 +232,7 @@
|
|||||||
"Device_TableHead_FQDN": "Nom de domaine FQDN",
|
"Device_TableHead_FQDN": "Nom de domaine FQDN",
|
||||||
"Device_TableHead_Favorite": "Favori",
|
"Device_TableHead_Favorite": "Favori",
|
||||||
"Device_TableHead_FirstSession": "Première session",
|
"Device_TableHead_FirstSession": "Première session",
|
||||||
"Device_TableHead_Flapping": "",
|
"Device_TableHead_Flapping": "Flapping",
|
||||||
"Device_TableHead_GUID": "GUID",
|
"Device_TableHead_GUID": "GUID",
|
||||||
"Device_TableHead_Group": "Groupe",
|
"Device_TableHead_Group": "Groupe",
|
||||||
"Device_TableHead_IPv4": "IPv4",
|
"Device_TableHead_IPv4": "IPv4",
|
||||||
@@ -337,7 +337,7 @@
|
|||||||
"Gen_Down": "En panne",
|
"Gen_Down": "En panne",
|
||||||
"Gen_Error": "Erreur",
|
"Gen_Error": "Erreur",
|
||||||
"Gen_Filter": "Filtrer",
|
"Gen_Filter": "Filtrer",
|
||||||
"Gen_Flapping": "",
|
"Gen_Flapping": "Flapping",
|
||||||
"Gen_Generate": "Générer",
|
"Gen_Generate": "Générer",
|
||||||
"Gen_InvalidMac": "Adresse MAC invalide.",
|
"Gen_InvalidMac": "Adresse MAC invalide.",
|
||||||
"Gen_Invalid_Value": "Une valeur invalide a été renseignée",
|
"Gen_Invalid_Value": "Une valeur invalide a été renseignée",
|
||||||
@@ -591,8 +591,8 @@
|
|||||||
"PIALERT_WEB_PROTECTION_name": "Activer la connexion par login",
|
"PIALERT_WEB_PROTECTION_name": "Activer la connexion par login",
|
||||||
"PLUGINS_KEEP_HIST_description": "Combien d'entrées de résultats de scan doivent être conservés dans l'historique des plugins (par plugin, pas par appareil).",
|
"PLUGINS_KEEP_HIST_description": "Combien d'entrées de résultats de scan doivent être conservés dans l'historique des plugins (par plugin, pas par appareil).",
|
||||||
"PLUGINS_KEEP_HIST_name": "Historique des plugins",
|
"PLUGINS_KEEP_HIST_name": "Historique des plugins",
|
||||||
"PRAGMA_JOURNAL_SIZE_LIMIT_description": "",
|
"PRAGMA_JOURNAL_SIZE_LIMIT_description": "Taille maximale du SQLite WAL (Write-Ahead Log) en Mo avant le déclenchement automatique des points de contrôle. Des valeurs basses (10-20 Mo) réduisent l'utilisation du disque/stockage mais augmentent l'utilisation du CPU durant ces scans. Des valeurs élevées (50-100 Mo) réduisent les pics CPU durant les opérations mais peuvent utiliser plus de RAM et d'espace disque. Par défaut, <code>50 Mo</code> est un compromis entre ces 2. Utilise pour les systèmes à ressources limitées comme des NAS avec des cartes SD. Redémarrer le serveur pour que le changement soit effective après avoir sauvegardé ce paramètre.",
|
||||||
"PRAGMA_JOURNAL_SIZE_LIMIT_name": "",
|
"PRAGMA_JOURNAL_SIZE_LIMIT_name": "Limite de taille du WAL (Mo)",
|
||||||
"Plugins_DeleteAll": "Tout supprimer (ne prend pas en compte les filtres)",
|
"Plugins_DeleteAll": "Tout supprimer (ne prend pas en compte les filtres)",
|
||||||
"Plugins_Filters_Mac": "Filtrer par MAC",
|
"Plugins_Filters_Mac": "Filtrer par MAC",
|
||||||
"Plugins_History": "Historique des événements",
|
"Plugins_History": "Historique des événements",
|
||||||
|
|||||||
@@ -208,7 +208,7 @@
|
|||||||
"Device_NoData_Help": "Se i dispositivi non vengono visualizzati dopo la scansione, controlla l'impostazione SCAN_SUBNETS e la <a href=\"https://docs.netalertx.com/SUBNETS\" target=\"_blank\">documentazione</a>.",
|
"Device_NoData_Help": "Se i dispositivi non vengono visualizzati dopo la scansione, controlla l'impostazione SCAN_SUBNETS e la <a href=\"https://docs.netalertx.com/SUBNETS\" target=\"_blank\">documentazione</a>.",
|
||||||
"Device_NoData_Scanning": "In attesa della prima scansione: potrebbero volerci diversi minuti dopo la configurazione iniziale.",
|
"Device_NoData_Scanning": "In attesa della prima scansione: potrebbero volerci diversi minuti dopo la configurazione iniziale.",
|
||||||
"Device_NoData_Title": "Ancora nessun dispositivo trovato",
|
"Device_NoData_Title": "Ancora nessun dispositivo trovato",
|
||||||
"Device_NoMatch_Title": "",
|
"Device_NoMatch_Title": "Nessun dispositivo corrisponde al filtro attuale",
|
||||||
"Device_Save_Failed": "Impossibile salvare il dispositivo",
|
"Device_Save_Failed": "Impossibile salvare il dispositivo",
|
||||||
"Device_Save_Unauthorized": "Non autorizzato: token API non valido",
|
"Device_Save_Unauthorized": "Non autorizzato: token API non valido",
|
||||||
"Device_Saved_Success": "Dispositivo salvato correttamente",
|
"Device_Saved_Success": "Dispositivo salvato correttamente",
|
||||||
|
|||||||
@@ -208,7 +208,7 @@
|
|||||||
"Device_NoData_Help": "スキャン後にデバイスが表示されない場合は、SCAN_SUBNETS設定と <a href=\"https://docs.netalertx.com/SUBNETS\" target=\"_blank\">ドキュメント</a> を確認してください。",
|
"Device_NoData_Help": "スキャン後にデバイスが表示されない場合は、SCAN_SUBNETS設定と <a href=\"https://docs.netalertx.com/SUBNETS\" target=\"_blank\">ドキュメント</a> を確認してください。",
|
||||||
"Device_NoData_Scanning": "最初のスキャンを待機中 - 初期設定後、数分かかる場合があります。",
|
"Device_NoData_Scanning": "最初のスキャンを待機中 - 初期設定後、数分かかる場合があります。",
|
||||||
"Device_NoData_Title": "デバイスが見つかりません",
|
"Device_NoData_Title": "デバイスが見つかりません",
|
||||||
"Device_NoMatch_Title": "",
|
"Device_NoMatch_Title": "このフィルタ条件に一致するデバイスはありません",
|
||||||
"Device_Save_Failed": "デバイスの保存に失敗しました",
|
"Device_Save_Failed": "デバイスの保存に失敗しました",
|
||||||
"Device_Save_Unauthorized": "許可されていない - 無効なAPIトークン",
|
"Device_Save_Unauthorized": "許可されていない - 無効なAPIトークン",
|
||||||
"Device_Saved_Success": "デバイスが正常に保存されました",
|
"Device_Saved_Success": "デバイスが正常に保存されました",
|
||||||
@@ -435,7 +435,7 @@
|
|||||||
"Maintenance_Tool_arpscansw": "arpスキャンの切り替え(オン/オフ)",
|
"Maintenance_Tool_arpscansw": "arpスキャンの切り替え(オン/オフ)",
|
||||||
"Maintenance_Tool_arpscansw_noti": "arpスキャンをオンまたはオフにする",
|
"Maintenance_Tool_arpscansw_noti": "arpスキャンをオンまたはオフにする",
|
||||||
"Maintenance_Tool_arpscansw_noti_text": "スキャンをオフにした場合、再度有効化されるまでオフのままとなります。",
|
"Maintenance_Tool_arpscansw_noti_text": "スキャンをオフにした場合、再度有効化されるまでオフのままとなります。",
|
||||||
"Maintenance_Tool_arpscansw_text": "ARPスキャンの有効化または無効化。スキャンを無効化した場合、再度有効化されるまで無効状態が維持されます。アクティブなスキャンはキャンセルされません。",
|
"Maintenance_Tool_arpscansw_text": "arpスキャンの有効化または無効化。スキャンを無効化した場合、再度有効化されるまで無効状態が維持されます。アクティブなスキャンはキャンセルされません。",
|
||||||
"Maintenance_Tool_backup": "DBバックアップ",
|
"Maintenance_Tool_backup": "DBバックアップ",
|
||||||
"Maintenance_Tool_backup_noti": "DBバックアップ",
|
"Maintenance_Tool_backup_noti": "DBバックアップ",
|
||||||
"Maintenance_Tool_backup_noti_text": "データベースのバックアップを実行してもよろしいですか? 現在スキャンが実行されていないことを確認してください。",
|
"Maintenance_Tool_backup_noti_text": "データベースのバックアップを実行してもよろしいですか? 現在スキャンが実行されていないことを確認してください。",
|
||||||
@@ -546,7 +546,7 @@
|
|||||||
"Network_ManageAdd_Name": "デバイス名",
|
"Network_ManageAdd_Name": "デバイス名",
|
||||||
"Network_ManageAdd_Name_text": "特殊文字を含まない名前",
|
"Network_ManageAdd_Name_text": "特殊文字を含まない名前",
|
||||||
"Network_ManageAdd_Port": "ポート数",
|
"Network_ManageAdd_Port": "ポート数",
|
||||||
"Network_ManageAdd_Port_text": "Wi-FiおよびPLCの場合は空欄にしてください",
|
"Network_ManageAdd_Port_text": "wifiおよびplcの場合は空欄にしてください",
|
||||||
"Network_ManageAdd_Submit": "デバイス追加",
|
"Network_ManageAdd_Submit": "デバイス追加",
|
||||||
"Network_ManageAdd_Type": "デバイス種別",
|
"Network_ManageAdd_Type": "デバイス種別",
|
||||||
"Network_ManageAdd_Type_text": "-- 種別選択 --",
|
"Network_ManageAdd_Type_text": "-- 種別選択 --",
|
||||||
@@ -562,7 +562,7 @@
|
|||||||
"Network_ManageEdit_Name": "新規デバイス名",
|
"Network_ManageEdit_Name": "新規デバイス名",
|
||||||
"Network_ManageEdit_Name_text": "特殊文字を含まない名前",
|
"Network_ManageEdit_Name_text": "特殊文字を含まない名前",
|
||||||
"Network_ManageEdit_Port": " 新規ポート数",
|
"Network_ManageEdit_Port": " 新規ポート数",
|
||||||
"Network_ManageEdit_Port_text": "Wi-FiおよびPLCの場合は空欄にしてください",
|
"Network_ManageEdit_Port_text": "wifiおよびplcの場合は空欄にしてください",
|
||||||
"Network_ManageEdit_Submit": "変更を保存",
|
"Network_ManageEdit_Submit": "変更を保存",
|
||||||
"Network_ManageEdit_Type": "新規デバイス種別",
|
"Network_ManageEdit_Type": "新規デバイス種別",
|
||||||
"Network_ManageEdit_Type_text": "-- 種別選択 --",
|
"Network_ManageEdit_Type_text": "-- 種別選択 --",
|
||||||
@@ -772,7 +772,7 @@
|
|||||||
"go_to_device_event_tooltip": "デバイスに移動",
|
"go_to_device_event_tooltip": "デバイスに移動",
|
||||||
"go_to_node_event_tooltip": "指定されたノードのネットワークページに移動する",
|
"go_to_node_event_tooltip": "指定されたノードのネットワークページに移動する",
|
||||||
"new_version_available": "新しいバージョンが利用可能です。",
|
"new_version_available": "新しいバージョンが利用可能です。",
|
||||||
"report_guid": "通知GUID:",
|
"report_guid": "通知guid:",
|
||||||
"report_guid_missing": "リンクされた通知が見つかりません。送信された通知が利用可能になるまで、わずかな遅延が生じます。数秒後にページとキャッシュを更新してください。また、<code>DBCLNP_NOTIFI_HIST</code> 設定で指定されているメンテナンス中に、選択した通知が削除された可能性もあります。<br/> <br/>代わりに最新の通知が表示されます。欠落している通知のGUIDは以下の通りです:",
|
"report_guid_missing": "リンクされた通知が見つかりません。送信された通知が利用可能になるまで、わずかな遅延が生じます。数秒後にページとキャッシュを更新してください。また、<code>DBCLNP_NOTIFI_HIST</code> 設定で指定されているメンテナンス中に、選択した通知が削除された可能性もあります。<br/> <br/>代わりに最新の通知が表示されます。欠落している通知のGUIDは以下の通りです:",
|
||||||
"report_select_format": "フォーマット選択:",
|
"report_select_format": "フォーマット選択:",
|
||||||
"report_time": "通知時刻:",
|
"report_time": "通知時刻:",
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
{
|
{
|
||||||
"default": "en_us",
|
"default": "en_us",
|
||||||
"languages": [
|
"languages": [
|
||||||
|
{ "code": "en_us", "display": "English (en_us)" },
|
||||||
{ "code": "ar_ar", "display": "Arabic (ar_ar)" },
|
{ "code": "ar_ar", "display": "Arabic (ar_ar)" },
|
||||||
{ "code": "ca_ca", "display": "Catalan (ca_ca)" },
|
{ "code": "ca_ca", "display": "Catalan (ca_ca)" },
|
||||||
{ "code": "cs_cz", "display": "Czech (cs_cz)" },
|
{ "code": "cs_cz", "display": "Czech (cs_cz)" },
|
||||||
{ "code": "de_de", "display": "German (de_de)" },
|
{ "code": "de_de", "display": "German (de_de)" },
|
||||||
{ "code": "en_us", "display": "English (en_us)" },
|
|
||||||
{ "code": "es_es", "display": "Spanish (es_es)" },
|
{ "code": "es_es", "display": "Spanish (es_es)" },
|
||||||
{ "code": "fa_fa", "display": "Farsi (fa_fa)" },
|
{ "code": "fa_fa", "display": "Farsi (fa_fa)" },
|
||||||
{ "code": "id_id", "display": "Indonesian (id_id)" },
|
{ "code": "id_id", "display": "Indonesian (id_id)" },
|
||||||
|
|||||||
@@ -208,7 +208,7 @@
|
|||||||
"Device_NoData_Help": "Если устройства не отображаются после сканирования, проверьте настройку SCAN_SUBNETS и <a href=\"https://docs.netalertx.com/SUBNETS\" target=\"_blank\">документацию</a>.",
|
"Device_NoData_Help": "Если устройства не отображаются после сканирования, проверьте настройку SCAN_SUBNETS и <a href=\"https://docs.netalertx.com/SUBNETS\" target=\"_blank\">документацию</a>.",
|
||||||
"Device_NoData_Scanning": "Ожидание первого сканирования — это может занять несколько минут после первоначальной настройки.",
|
"Device_NoData_Scanning": "Ожидание первого сканирования — это может занять несколько минут после первоначальной настройки.",
|
||||||
"Device_NoData_Title": "Устройства пока не найдены",
|
"Device_NoData_Title": "Устройства пока не найдены",
|
||||||
"Device_NoMatch_Title": "",
|
"Device_NoMatch_Title": "Нет устройств, соответствующих текущему фильтру",
|
||||||
"Device_Save_Failed": "Не удалось сохранить устройство",
|
"Device_Save_Failed": "Не удалось сохранить устройство",
|
||||||
"Device_Save_Unauthorized": "Не авторизован - недействительный токен API",
|
"Device_Save_Unauthorized": "Не авторизован - недействительный токен API",
|
||||||
"Device_Saved_Success": "Устройство успешно сохранено",
|
"Device_Saved_Success": "Устройство успешно сохранено",
|
||||||
|
|||||||
@@ -341,7 +341,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
|
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -372,7 +372,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
|
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -315,7 +315,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
|
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -348,7 +348,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
|
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -274,7 +274,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
|
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -305,7 +305,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
|
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -338,7 +338,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
|
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -387,7 +387,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
|
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -136,7 +136,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
|
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -169,7 +169,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
|
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -233,7 +233,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
|
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -264,7 +264,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
|
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -432,7 +432,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
|
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -477,7 +477,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
|
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -689,7 +689,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
|
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -720,7 +720,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
|
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -753,7 +753,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
|
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -802,7 +802,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
|
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -478,7 +478,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
|
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -519,7 +519,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
|
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -241,7 +241,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
|
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -272,7 +272,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
|
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -28,31 +28,17 @@ Limitations:
|
|||||||
- The Freebox must be your gateway
|
- The Freebox must be your gateway
|
||||||
- The device must be in the same lan as the Freebox
|
- The device must be in the same lan as the Freebox
|
||||||
|
|
||||||
### Offline setup (recommended)
|
|
||||||
|
|
||||||
Use this configuration if you wish to connect to your Freebox even when you are offline, or the Freebox is not your gateway.
|
|
||||||
|
|
||||||
Find the local IP address of your Freebox, if it is your gateway, you can find the address on your computer/smartphone network configuration (usually it's `192.168.1.1`). Go in the plugin settings and set the IP as address and `80` as the port (do *not* use `443` as the port). This configuration works regardless of your internet connection and poses little limitations.
|
|
||||||
|
|
||||||
Limitations:
|
|
||||||
- *If* there is no internet connection, the plugin will fallback to HTTP (not HTTPS)
|
|
||||||
|
|
||||||
For more detail: the plugin will connect to the specified address and port to fetch information about the Freebox, then it will either connect in HTTPS through the Freebox's unique domain name, or connect over HTTP if there is no internet connection. The freebox does offer an HTTPS port on the local network, but the certificate will be invalid for the local IP, and the connection will be aborted.
|
|
||||||
|
|
||||||
### Remote setup
|
### Remote setup
|
||||||
|
|
||||||
Use this configuration if you wish to connect to your Freebox through the internet. You still need to pair from the local network.
|
Use this configuration if you wish to connect to your Freebox through the internet. You still need to pair from the local network.
|
||||||
|
|
||||||
If the Freebox is not your gateway, configure a NAT and follow the [offline setup](#offline-setup-recommended).
|
|
||||||
|
|
||||||
If the Freebox is your gateway you need to find its HTTPS (or HTTP if you prefer) public port. This can be found either in the Freeboxe's web interface and by navigating to `settings>access management`, or (just for the HTTPS port) by visiting http://mafreebox.freebox.fr:80/api_version from the local network (you can use the local ip as well). This is the port you need to access your Freebox through the internet
|
If the Freebox is your gateway you need to find its HTTPS (or HTTP if you prefer) public port. This can be found either in the Freeboxe's web interface and by navigating to `settings>access management`, or (just for the HTTPS port) by visiting http://mafreebox.freebox.fr:80/api_version from the local network (you can use the local ip as well). This is the port you need to access your Freebox through the internet
|
||||||
|
|
||||||
As address, you can either use the public IP of the Freebox, or the unique domain name you found on http://mafreebox.freebox.fr:80/api_version listed as `api_domain`.
|
As address, you can either use the public IP of the Freebox, or the unique domain name you found on http://mafreebox.freebox.fr:80/api_version listed as `api_domain`.
|
||||||
|
|
||||||
|
|
||||||
## Other info
|
## Other info
|
||||||
|
|
||||||
- Version: 1.0
|
- Version: 2.0
|
||||||
- Author: [KayJay7](https://github.com/KayJay7), [Lucide](https://github.com/Lucide)
|
- Author: [KayJay7](https://github.com/KayJay7), [Lucide](https://github.com/Lucide)
|
||||||
- Maintainers: [mathoudebine](https://github.com/mathoudebine)
|
- Maintainers: [mathoudebine](https://github.com/mathoudebine)
|
||||||
- Release Date: 2-Dec-2024
|
- Release Date: 2-Dec-2024
|
||||||
@@ -311,7 +311,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
|
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -345,7 +345,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
|
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -8,10 +8,11 @@ from datetime import datetime
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import cast
|
from typing import cast
|
||||||
import socket
|
import socket
|
||||||
import aiofreepybox
|
import freebox_api
|
||||||
from aiofreepybox import Freepybox
|
from freebox_api import Freepybox
|
||||||
from aiofreepybox.api.lan import Lan
|
from freebox_api.api.lan import Lan
|
||||||
from aiofreepybox.exceptions import NotOpenError, AuthorizationError
|
from freebox_api.api.system import System
|
||||||
|
from freebox_api.exceptions import NotOpenError, AuthorizationError
|
||||||
|
|
||||||
# Define the installation path and extend the system path for plugin imports
|
# Define the installation path and extend the system path for plugin imports
|
||||||
INSTALL_PATH = os.getenv('NETALERTX_APP', '/app')
|
INSTALL_PATH = os.getenv('NETALERTX_APP', '/app')
|
||||||
@@ -83,8 +84,7 @@ def map_device_type(type: str):
|
|||||||
|
|
||||||
async def get_device_data(api_version: int, api_address: str, api_port: int):
|
async def get_device_data(api_version: int, api_address: str, api_port: int):
|
||||||
# ensure existence of db path
|
# ensure existence of db path
|
||||||
config_base = Path(os.getenv("NETALERTX_CONFIG", "/data/config"))
|
data_dir = Path(os.getenv("NETALERTX_CONFIG", "/data/config")) / "freeboxdb"
|
||||||
data_dir = config_base / "freeboxdb"
|
|
||||||
data_dir.mkdir(parents=True, exist_ok=True)
|
data_dir.mkdir(parents=True, exist_ok=True)
|
||||||
|
|
||||||
# Instantiate Freepybox class using default application descriptor
|
# Instantiate Freepybox class using default application descriptor
|
||||||
@@ -93,25 +93,27 @@ async def get_device_data(api_version: int, api_address: str, api_port: int):
|
|||||||
app_desc={
|
app_desc={
|
||||||
"app_id": "netalertx",
|
"app_id": "netalertx",
|
||||||
"app_name": "NetAlertX",
|
"app_name": "NetAlertX",
|
||||||
"app_version": aiofreepybox.__version__,
|
"app_version": freebox_api.__version__,
|
||||||
"device_name": socket.gethostname(),
|
"device_name": socket.gethostname(),
|
||||||
},
|
},
|
||||||
api_version="v" + str(api_version),
|
api_version="v" + str(api_version),
|
||||||
data_dir=data_dir,
|
token_file=data_dir / "token",
|
||||||
)
|
)
|
||||||
|
|
||||||
# Connect to the freebox
|
# Connect to the freebox
|
||||||
# Be ready to authorize the application on the Freebox if you run this
|
# Be ready to authorize the application on the Freebox if you run this
|
||||||
# for the first time
|
# for the first time
|
||||||
try:
|
try:
|
||||||
await fbx.open(host=api_address, port=api_port)
|
await fbx.open(host=api_address, port=str(api_port))
|
||||||
except NotOpenError as e:
|
except NotOpenError as e:
|
||||||
mylog("verbose", [f"[{pluginName}] Error connecting to freebox: {e}"])
|
mylog("verbose", [f"[{pluginName}] Error connecting to freebox: {e}"])
|
||||||
|
return None, []
|
||||||
except AuthorizationError as e:
|
except AuthorizationError as e:
|
||||||
mylog("verbose", [f"[{pluginName}] Auth error: {str(e)}"])
|
mylog("verbose", [f"[{pluginName}] Auth error: {str(e)}"])
|
||||||
|
return None, []
|
||||||
|
|
||||||
# get also info of the freebox itself
|
# get also info of the freebox itself
|
||||||
config = await fbx.system.get_config()
|
config = await cast(System, fbx.system).get_config()
|
||||||
freebox = await cast(Lan, fbx.lan).get_config()
|
freebox = await cast(Lan, fbx.lan).get_config()
|
||||||
hosts = await cast(Lan, fbx.lan).get_hosts_list()
|
hosts = await cast(Lan, fbx.lan).get_hosts_list()
|
||||||
assert config is not None
|
assert config is not None
|
||||||
@@ -145,6 +147,7 @@ def main():
|
|||||||
mylog("verbose", [freebox])
|
mylog("verbose", [freebox])
|
||||||
mylog("verbose", [hosts])
|
mylog("verbose", [hosts])
|
||||||
|
|
||||||
|
if freebox:
|
||||||
plugin_objects.add_object(
|
plugin_objects.add_object(
|
||||||
primaryId=freebox["mac"],
|
primaryId=freebox["mac"],
|
||||||
secondaryId=freebox["ip"],
|
secondaryId=freebox["ip"],
|
||||||
@@ -175,7 +178,7 @@ def main():
|
|||||||
# Optional: Log or handle hosts without 'l3connectivities'
|
# Optional: Log or handle hosts without 'l3connectivities'
|
||||||
mylog("verbose", [f"[{pluginName}] Host missing 'l3connectivities': {host}"])
|
mylog("verbose", [f"[{pluginName}] Host missing 'l3connectivities': {host}"])
|
||||||
|
|
||||||
# commit result
|
# Commit result
|
||||||
plugin_objects.write_result_file()
|
plugin_objects.write_result_file()
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
|
|||||||
@@ -304,7 +304,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
|
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -335,7 +335,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
|
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -324,7 +324,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
|
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -369,7 +369,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
|
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -418,7 +418,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
|
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -449,7 +449,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
|
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -561,7 +561,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
|
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -610,7 +610,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
|
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -139,7 +139,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
|
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -173,7 +173,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
|
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -391,7 +391,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
|
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -422,7 +422,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
|
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -275,7 +275,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
|
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -307,7 +307,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
|
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -241,7 +241,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
|
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -272,7 +272,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
|
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -1463,7 +1463,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "ordeable": "true"}],
|
"elementOptions": [{ "orderable": "true"}],
|
||||||
"transformers": ["deviceRelType"]
|
"transformers": ["deviceRelType"]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -1528,7 +1528,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true", "readonly": "true" }],
|
"elementOptions": [{ "multiple": "true", "orderable": "true", "readonly": "true" }],
|
||||||
"transformers": ["deviceChip"]
|
"transformers": ["deviceChip"]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -1899,7 +1899,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true", "readonly": "true" }],
|
"elementOptions": [{ "multiple": "true", "orderable": "true", "readonly": "true" }],
|
||||||
"transformers": ["deviceChip"]
|
"transformers": ["deviceChip"]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -459,7 +459,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
|
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -492,7 +492,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
|
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -553,7 +553,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
|
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -594,7 +594,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
|
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -34,7 +34,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
|
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -241,7 +241,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
|
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -272,7 +272,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
|
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -429,7 +429,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
|
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -462,7 +462,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
|
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -475,7 +475,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
|
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -510,7 +510,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
|
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -402,7 +402,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
|
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -435,7 +435,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
|
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -448,7 +448,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
|
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -484,7 +484,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
|
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -122,7 +122,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
|
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -155,7 +155,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
|
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -223,7 +223,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
|
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -257,7 +257,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
|
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -290,7 +290,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
|
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -331,7 +331,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
|
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -593,7 +593,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
|
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -625,7 +625,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
|
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -658,7 +658,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
|
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -699,7 +699,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
|
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -459,7 +459,7 @@
|
|||||||
"elementOptions": [
|
"elementOptions": [
|
||||||
{
|
{
|
||||||
"multiple": "true",
|
"multiple": "true",
|
||||||
"ordeable": "true"
|
"orderable": "true"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
@@ -604,7 +604,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
|
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -636,7 +636,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
|
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -187,9 +187,10 @@ def main():
|
|||||||
with open(file_path, 'r') as f:
|
with open(file_path, 'r') as f:
|
||||||
data = json.load(f)
|
data = json.load(f)
|
||||||
for device in data['data']:
|
for device in data['data']:
|
||||||
if device['devMac'] not in unique_mac_addresses:
|
device['devMac'] = str(device['devMac']).lower()
|
||||||
|
if device['devMac'].lower() not in unique_mac_addresses:
|
||||||
device['devSyncHubNode'] = syncHubNodeName
|
device['devSyncHubNode'] = syncHubNodeName
|
||||||
unique_mac_addresses.add(device['devMac'])
|
unique_mac_addresses.add(device['devMac'].lower())
|
||||||
device_data.append(device)
|
device_data.append(device)
|
||||||
|
|
||||||
# Rename the file to "processed_" + current name
|
# Rename the file to "processed_" + current name
|
||||||
@@ -206,7 +207,7 @@ def main():
|
|||||||
# Retrieve existing devMac values from the Devices table
|
# Retrieve existing devMac values from the Devices table
|
||||||
placeholders = ', '.join('?' for _ in unique_mac_addresses)
|
placeholders = ', '.join('?' for _ in unique_mac_addresses)
|
||||||
cursor.execute(f'SELECT devMac FROM Devices WHERE devMac IN ({placeholders})', tuple(unique_mac_addresses))
|
cursor.execute(f'SELECT devMac FROM Devices WHERE devMac IN ({placeholders})', tuple(unique_mac_addresses))
|
||||||
existing_mac_addresses = set(row[0] for row in cursor.fetchall())
|
existing_mac_addresses = set(row[0].lower() for row in cursor.fetchall())
|
||||||
|
|
||||||
# insert devices into the last_result.log and thus CurrentScan table to manage state
|
# insert devices into the last_result.log and thus CurrentScan table to manage state
|
||||||
for device in device_data:
|
for device in device_data:
|
||||||
@@ -229,7 +230,10 @@ def main():
|
|||||||
db_columns = {row[1] for row in cursor.fetchall()}
|
db_columns = {row[1] for row in cursor.fetchall()}
|
||||||
|
|
||||||
# Filter out existing devices
|
# Filter out existing devices
|
||||||
new_devices = [device for device in device_data if device['devMac'] not in existing_mac_addresses]
|
new_devices = [
|
||||||
|
device for device in device_data
|
||||||
|
if device['devMac'].lower() not in existing_mac_addresses
|
||||||
|
]
|
||||||
|
|
||||||
mylog('verbose', [f'[{pluginName}] All devices: "{len(device_data)}"'])
|
mylog('verbose', [f'[{pluginName}] All devices: "{len(device_data)}"'])
|
||||||
mylog('verbose', [f'[{pluginName}] New devices: "{len(new_devices)}"'])
|
mylog('verbose', [f'[{pluginName}] New devices: "{len(new_devices)}"'])
|
||||||
|
|||||||
@@ -280,7 +280,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
|
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -307,7 +307,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
|
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -334,7 +334,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
|
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -361,7 +361,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
|
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
|
||||||
"transformers": ["getString"]
|
"transformers": ["getString"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -467,7 +467,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
|
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
|
||||||
"transformers": ["getString"]
|
"transformers": ["getString"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -545,7 +545,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
|
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -590,7 +590,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
|
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -505,7 +505,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
|
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -538,7 +538,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
|
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -923,7 +923,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
|
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -960,7 +960,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
|
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -1026,7 +1026,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
|
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -1067,7 +1067,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
|
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -233,7 +233,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
|
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -265,7 +265,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
|
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -299,7 +299,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
|
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -344,7 +344,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
|
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -538,7 +538,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
|
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -579,7 +579,7 @@
|
|||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"elementType": "select",
|
"elementType": "select",
|
||||||
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
|
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
|
||||||
"transformers": []
|
"transformers": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -1,15 +0,0 @@
|
|||||||
|
|
||||||
-----BEGIN CERTIFICATE-----
|
|
||||||
MIICOjCCAcCgAwIBAgIUI0Tu7zsrBJACQIZgLMJobtbdNn4wCgYIKoZIzj0EAwIw
|
|
||||||
TDELMAkGA1UEBhMCSVQxDjAMBgNVBAgMBUl0YWx5MQ4wDAYDVQQKDAVJbGlhZDEd
|
|
||||||
MBsGA1UEAwwUSWxpYWRib3ggRUNDIFJvb3QgQ0EwHhcNMjAxMTI3MDkzODEzWhcN
|
|
||||||
NDAxMTIyMDkzODEzWjBMMQswCQYDVQQGEwJJVDEOMAwGA1UECAwFSXRhbHkxDjAM
|
|
||||||
BgNVBAoMBUlsaWFkMR0wGwYDVQQDDBRJbGlhZGJveCBFQ0MgUm9vdCBDQTB2MBAG
|
|
||||||
ByqGSM49AgEGBSuBBAAiA2IABMryJyb2loHNAioY8IztN5MI3UgbVHVP/vZwcnre
|
|
||||||
ZvJOyDvE4HJgIti5qmfswlnMzpNbwf/MkT+7HAU8jJoTorRm1wtAnQ9cWD3Ebv79
|
|
||||||
RPwtjjy3Bza3SgdVxmd6fWPUKaNjMGEwHQYDVR0OBBYEFDUij/4lpoJ+kOXRyrcM
|
|
||||||
jf2RPzOqMB8GA1UdIwQYMBaAFDUij/4lpoJ+kOXRyrcMjf2RPzOqMA8GA1UdEwEB
|
|
||||||
/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2gAMGUCMQC6eUV1
|
|
||||||
pFh4UpJOTc1JToztN4ttnQR6rIzxMZ6mNCe+nhjkohWp24pr7BpUYSbEizYCMAQ6
|
|
||||||
LCiBKV2j7QQGy7N1aBmdur17ZepYzR1YV0eI+Kd978aZggsmhjXENQYVTmm/XA==
|
|
||||||
-----END CERTIFICATE-----
|
|
||||||
@@ -24,4 +24,4 @@ librouteros
|
|||||||
yattag
|
yattag
|
||||||
zeroconf
|
zeroconf
|
||||||
psutil
|
psutil
|
||||||
git+https://github.com/foreign-sub/aiofreepybox.git
|
freebox-api
|
||||||
|
|||||||
@@ -24,4 +24,4 @@ librouteros
|
|||||||
yattag
|
yattag
|
||||||
zeroconf
|
zeroconf
|
||||||
psutil
|
psutil
|
||||||
git+https://github.com/foreign-sub/aiofreepybox.git
|
freebox-api
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ six
|
|||||||
urllib3
|
urllib3
|
||||||
httplib2
|
httplib2
|
||||||
gunicorn
|
gunicorn
|
||||||
git+https://github.com/foreign-sub/aiofreepybox.git
|
freebox-api
|
||||||
mcp
|
mcp
|
||||||
psutil
|
psutil
|
||||||
pydantic>=2.0,<3.0
|
pydantic>=2.0,<3.0
|
||||||
|
|||||||
@@ -242,7 +242,7 @@ def importConfigs(pm, db, all_plugins):
|
|||||||
[],
|
[],
|
||||||
c_d,
|
c_d,
|
||||||
"Loaded plugins",
|
"Loaded plugins",
|
||||||
'{"dataType":"array","elements":[{"elementType":"select","elementHasInputValue":1,"elementOptions":[{"multiple":"true","ordeable":"true"}],"transformers":[]},{"elementType":"button","elementOptions":[{"sourceSuffixes":[]},{"separator":""},{"cssClasses":"col-xs-12"},{"onClick":"selectChange(this)"},{"getStringKey":"Gen_Change"}],"transformers":[]}]}', # noqa: E501
|
'{"dataType":"array","elements":[{"elementType":"select","elementHasInputValue":1,"elementOptions":[{"multiple":"true","orderable":"true"}],"transformers":[]},{"elementType":"button","elementOptions":[{"sourceSuffixes":[]},{"separator":""},{"cssClasses":"col-xs-12"},{"onClick":"selectChange(this)"},{"getStringKey":"Gen_Change"}],"transformers":[]}]}', # noqa: E501
|
||||||
"[]",
|
"[]",
|
||||||
"General",
|
"General",
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user