Merge pull request #1588 from netalertx/main

sync
This commit is contained in:
Jokob @NetAlertX
2026-04-05 08:51:06 +10:00
committed by GitHub
51 changed files with 223 additions and 240 deletions

View File

@@ -18,14 +18,14 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.9'
python-version: '3.11'
- name: Install MkDocs
run: |
pip install \
mkdocs==1.6.0 \
mkdocs-material==9.5.21 \
mkdocs-github-admonitions-plugin==0.0.4
mkdocs-github-admonitions-plugin==0.1.1
- name: Build MkDocs
run: mkdocs build

View File

@@ -789,7 +789,7 @@ const handleElementOptions = (setKey, elementOptions, transformers, val) => {
let inputType = "text";
let readOnly = "";
let isMultiSelect = false;
let isOrdeable = false;
let isOrderable = false;
let cssClasses = "";
let placeholder = "";
let suffix = "";
@@ -820,8 +820,8 @@ const handleElementOptions = (setKey, elementOptions, transformers, val) => {
if (option.multiple === "true") {
isMultiSelect = true;
}
if (option.ordeable === "true") {
isOrdeable = true;
if (option.orderable === "true") {
isOrderable = true;
}
if (option.editable === "true") {
editable = true;
@@ -877,7 +877,7 @@ const handleElementOptions = (setKey, elementOptions, transformers, val) => {
inputType,
readOnly,
isMultiSelect,
isOrdeable,
isOrderable,
cssClasses,
placeholder,
suffix,
@@ -1076,7 +1076,7 @@ function collectSetting(prefix, setCodeName, setType, settingsArray) {
},
array: () => {
let temps = [];
if (opts.isOrdeable) {
if (opts.isOrderable) {
temps = $(`#${setCodeName}`).val();
} else {
const sel = $(`#${setCodeName}`).attr("my-editable") === "true" ? "" : ":selected";
@@ -1189,7 +1189,7 @@ function generateFormHtml(settingsData, set, overrideValue, overrideOptions, ori
inputType,
readOnly,
isMultiSelect,
isOrdeable,
isOrderable,
cssClasses,
placeholder,
suffix,
@@ -1225,7 +1225,7 @@ function generateFormHtml(settingsData, set, overrideValue, overrideOptions, ori
switch (elementType) {
case 'select':
const multi = isMultiSelect ? "multiple" : "";
const addCss = isOrdeable ? "select2 select2-hidden-accessible" : "";
const addCss = isOrderable ? "select2 select2-hidden-accessible" : "";
inputHtml += `<select onChange="settingsChanged();${onChange}"
onfocusout="${focusout}"

View File

@@ -9059,6 +9059,11 @@ function ajaxConvert( s, response, jqXHR, isSuccess ) {
// Convert response if prev dataType is non-auto and differs from current
} else if ( prev !== "*" && prev !== current ) {
// Mitigate possible XSS vulnerability (gh-2432)
if ( s.crossDomain && current === "script" ) {
continue;
}
// Seek a direct converter
conv = converters[ prev + " " + current ] || converters[ "* " + current ];

View File

@@ -136,7 +136,7 @@
inputType,
readOnly,
isMultiSelect,
isOrdeable,
isOrderable,
cssClasses,
placeholder,
suffix,

View File

@@ -143,7 +143,7 @@
"DevDetail_SessionTable_Duration": "Dauer",
"DevDetail_SessionTable_IP": "IP",
"DevDetail_SessionTable_Order": "Reihenfolge",
"DevDetail_Shortcut_CurrentStatus": "aktueller Status",
"DevDetail_Shortcut_CurrentStatus": "Status",
"DevDetail_Shortcut_DownAlerts": "Down Meldungen",
"DevDetail_Shortcut_Presence": "Anwesenheit",
"DevDetail_Shortcut_Sessions": "Sitzungen",
@@ -211,7 +211,7 @@
"Device_NextScan_In": "",
"Device_NoData_Help": "",
"Device_NoData_Scanning": "",
"Device_NoData_Title": "",
"Device_NoData_Title": "Noch keine Geräte gefunden",
"Device_NoMatch_Title": "",
"Device_Save_Failed": "",
"Device_Save_Unauthorized": "",
@@ -239,8 +239,8 @@
"Device_TableHead_Flapping": "",
"Device_TableHead_GUID": "GUID",
"Device_TableHead_Group": "Gruppe",
"Device_TableHead_IPv4": "",
"Device_TableHead_IPv6": "",
"Device_TableHead_IPv4": "IPv4",
"Device_TableHead_IPv6": "IPv6",
"Device_TableHead_Icon": "Icon",
"Device_TableHead_LastIP": "Letzte IP",
"Device_TableHead_LastIPOrder": "Letzte erhaltene IP",
@@ -251,7 +251,7 @@
"Device_TableHead_Name": "Name",
"Device_TableHead_NetworkSite": "Netzwerkseite",
"Device_TableHead_Owner": "Eigentümer",
"Device_TableHead_ParentRelType": "",
"Device_TableHead_ParentRelType": "Beziehungstyp",
"Device_TableHead_Parent_MAC": "Übergeordneter Netzwerkknoten",
"Device_TableHead_Port": "Port",
"Device_TableHead_PresentLastScan": "Anwesenheit",
@@ -315,11 +315,11 @@
"FakeMAC_hover": "",
"FieldLock_Error": "",
"FieldLock_Lock_Tooltip": "",
"FieldLock_Locked": "",
"FieldLock_Locked": "Feld gesperrt",
"FieldLock_SaveBeforeLocking": "",
"FieldLock_Source_Label": "",
"FieldLock_Source_Label": "Quelle: ",
"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_name": "GraphQL-Port",
"Gen_Action": "Action",
@@ -327,13 +327,13 @@
"Gen_AddDevice": "Gerät hinzufügen",
"Gen_Add_All": "Alle hinzufügen",
"Gen_All_Devices": "Alle Geräte",
"Gen_Archived": "",
"Gen_Archived": "Archiviert",
"Gen_AreYouSure": "Sind Sie sich sicher?",
"Gen_Backup": "Sichern",
"Gen_Cancel": "Abbrechen",
"Gen_Change": "Ändern",
"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_Delete": "Löschen",
"Gen_DeleteAll": "Alles löschen",
@@ -344,10 +344,10 @@
"Gen_Flapping": "",
"Gen_Generate": "Generieren",
"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_NetworkMask": "",
"Gen_New": "",
"Gen_NetworkMask": "Netzmaske",
"Gen_New": "Neu",
"Gen_Offline": "Offline",
"Gen_Okay": "Ok",
"Gen_Online": "Online",
@@ -366,7 +366,7 @@
"Gen_SelectToPreview": "Zur Vorschau auswählen",
"Gen_Selected_Devices": "Ausgewählte Geräte:",
"Gen_Sleeping": "",
"Gen_Subnet": "",
"Gen_Subnet": "Subnetz",
"Gen_Switch": "Umschalten",
"Gen_Upd": "Aktualisierung erfolgreich",
"Gen_Upd_Fail": "Aktualisierung fehlgeschlagen",
@@ -878,4 +878,4 @@
"settings_system_label": "System",
"settings_update_item_warning": "",
"test_event_tooltip": "Speichere die Änderungen, bevor Sie die Einstellungen testen."
}
}

View File

@@ -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_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_NoMatch_Title": "",
"Device_NoMatch_Title": "Aucun appareil ne correspond au filtre actuel",
"Device_Save_Failed": "Erreur à l'enregistrement de l'appareil",
"Device_Save_Unauthorized": "Non autorisé - Jeton d'API invalide",
"Device_Saved_Success": "Appareil enregistré avec succès",
@@ -232,7 +232,7 @@
"Device_TableHead_FQDN": "Nom de domaine FQDN",
"Device_TableHead_Favorite": "Favori",
"Device_TableHead_FirstSession": "Première session",
"Device_TableHead_Flapping": "",
"Device_TableHead_Flapping": "Flapping",
"Device_TableHead_GUID": "GUID",
"Device_TableHead_Group": "Groupe",
"Device_TableHead_IPv4": "IPv4",
@@ -337,7 +337,7 @@
"Gen_Down": "En panne",
"Gen_Error": "Erreur",
"Gen_Filter": "Filtrer",
"Gen_Flapping": "",
"Gen_Flapping": "Flapping",
"Gen_Generate": "Générer",
"Gen_InvalidMac": "Adresse MAC invalide.",
"Gen_Invalid_Value": "Une valeur invalide a été renseignée",
@@ -591,8 +591,8 @@
"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_name": "Historique des plugins",
"PRAGMA_JOURNAL_SIZE_LIMIT_description": "",
"PRAGMA_JOURNAL_SIZE_LIMIT_name": "",
"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": "Limite de taille du WAL (Mo)",
"Plugins_DeleteAll": "Tout supprimer (ne prend pas en compte les filtres)",
"Plugins_Filters_Mac": "Filtrer par MAC",
"Plugins_History": "Historique des événements",

View File

@@ -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_Scanning": "In attesa della prima scansione: potrebbero volerci diversi minuti dopo la configurazione iniziale.",
"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_Unauthorized": "Non autorizzato: token API non valido",
"Device_Saved_Success": "Dispositivo salvato correttamente",

View File

@@ -1,7 +1,7 @@
{
"API_CUSTOM_SQL_description": "カスタムSQLクエリを指定するとJSONファイルが生成され、<a href=\"/php/server/query_json.php?file=table_custom_endpoint.json\" target=\"_blank\"><code>table_custom_endpoint.json</code>ファイルエンドポイント</a>経由で公開できます。",
"API_CUSTOM_SQL_description": "カスタムSQLクエリを指定するとJSONファイルが生成され、<a href=\"/php/server/query_json.php?file=table_custom_endpoint.json\" target=\"_blank\"><code>table_custom_endpoint.json</code> ファイルエンドポイント</a> 経由で公開できます。",
"API_CUSTOM_SQL_name": "カスタムエンドポイント",
"API_TOKEN_description": "安全な通信のための API トークン。生成するか、任意の値を入力してください。リクエストヘッダーで送信され、<code>SYNC</code>プラグイン、GraphQLサーバー、その他のAPIエンドポイントで使用されます。<a href=\"https://docs.netalertx.com/API\" target=\"_blank\">APIドキュメント</a>に記載の通り、API エンドポイントを使用して独自の連携機能を作成できます。",
"API_TOKEN_description": "安全な通信のための API トークン。生成するか、任意の値を入力してください。リクエストヘッダーで送信され、<code>SYNC</code> プラグイン、GraphQLサーバー、その他のAPIエンドポイントで使用されます。<a href=\"https://docs.netalertx.com/API\" target=\"_blank\">APIドキュメント</a> に記載の通り、API エンドポイントを使用して独自の連携機能を作成できます。",
"API_TOKEN_name": "APIトークン",
"API_display_name": "API",
"API_icon": "<i class=\"fa fa-arrow-down-up-across-line\"></i>",
@@ -27,7 +27,7 @@
"AppEvents_ObjectType": "オブジェクトタイプ",
"AppEvents_Plugin": "プラグイン",
"AppEvents_Type": "種別",
"BACKEND_API_URL_description": "フロントエンドからバックエンドに通信するために使用します。 デフォルトでは<code>/server</code>に設定されており、通常変更する必要はありません。",
"BACKEND_API_URL_description": "フロントエンドからバックエンドに通信するために使用します。デフォルトでは <code>/server</code> に設定されており、通常変更する必要はありません。",
"BACKEND_API_URL_name": "バックエンド API URL",
"BackDevDetail_Actions_Ask_Run": "このアクションを実行してよろしいですか?",
"BackDevDetail_Actions_Not_Registered": "登録されていないアクション: ",
@@ -61,12 +61,12 @@
"BackDevices_Restore_okay": "復元が正常に完了しました。",
"BackDevices_darkmode_disabled": "ダークモード無効化",
"BackDevices_darkmode_enabled": "ダークモード有効化",
"CLEAR_NEW_FLAG_description": "有効にした場合(<code>0</code>で無効)、<b>新規デバイス</b>のフラグは<b>初回検知時刻</b>から指定された時間1時間単位が経過すると自動的に解除されます。",
"CLEAR_NEW_FLAG_description": "有効にした場合(<code>0</code> で無効)、<b>新規デバイス</b> のフラグは <b>初回検知時刻</b> から指定された時間1時間単位が経過すると自動的に解除されます。",
"CLEAR_NEW_FLAG_name": "新規フラグの解除",
"CustProps_cant_remove": "削除できません。少なくとも1つのプロパティが必要です。",
"DAYS_TO_KEEP_EVENTS_description": "これはメンテナンス設定です。イベントエントリを保持する日数を指定します。それより古いイベントは定期的に削除されます。プラグインイベント履歴にも適用されます。",
"DAYS_TO_KEEP_EVENTS_name": "古いイベントの削除",
"DISCOVER_PLUGINS_description": "このオプションを無効にすると、初期化と設定の保存が高速化されます。無効にした場合、プラグインは検出されず、<code>LOADED_PLUGINS</code>設定に新しいプラグインを追加することはできません。",
"DISCOVER_PLUGINS_description": "このオプションを無効にすると、初期化と設定の保存が高速化されます。無効にした場合、プラグインは検出されず、<code>LOADED_PLUGINS</code> 設定に新しいプラグインを追加することはできません。",
"DISCOVER_PLUGINS_name": "プラグインの検出",
"DevDetail_Children_Title": "親子関係",
"DevDetail_Copy_Device_Title": "デバイスから詳細をコピー",
@@ -95,8 +95,8 @@
"DevDetail_MainInfo_Group": "グループ",
"DevDetail_MainInfo_Location": "位置",
"DevDetail_MainInfo_Name": "名前",
"DevDetail_MainInfo_Network": "<i class=\"fa fa-server\"></i>ードMAC",
"DevDetail_MainInfo_Network_Port": "<i class=\"fa fa-ethernet\"></i>ポート",
"DevDetail_MainInfo_Network": "<i class=\"fa fa-server\"></i> ードMAC",
"DevDetail_MainInfo_Network_Port": "<i class=\"fa fa-ethernet\"></i> ポート",
"DevDetail_MainInfo_Network_Site": "サイト",
"DevDetail_MainInfo_Network_Title": "ネットワーク詳細",
"DevDetail_MainInfo_Owner": "所有者",
@@ -118,7 +118,7 @@
"DevDetail_Nmap_buttonFast_text": "高速スキャン: デフォルトのスキャンよりも少ないポート数100をスキャンする数秒",
"DevDetail_Nmap_buttonSkipDiscovery": "ホスト検出をスキップ",
"DevDetail_Nmap_buttonSkipDiscovery_text": "ホスト検出をスキップ(-Pnオプション: ホスト検出なしのデフォルトスキャン",
"DevDetail_Nmap_resultsLink": "スキャン開始後、このページを離れても構いません。結果は<code>app_front.log</code>ファイルにも記録されます。",
"DevDetail_Nmap_resultsLink": "スキャン開始後、このページを離れても構いません。結果は <code>app_front.log</code> ファイルにも記録されます。",
"DevDetail_Owner_hover": "このデバイスを所有者は誰ですか。自由入力欄。",
"DevDetail_Periodselect_All": "全件",
"DevDetail_Periodselect_LastMonth": "先月",
@@ -185,7 +185,7 @@
"DevDetail_Vendor_hover": "ベンダーは自動検出されるべきです。カスタム値を上書きまたは追加できます。",
"DevDetail_WOL_Title": "<i class=\"fa fa-power-off\"></i> Wake-on-LAN",
"DevDetail_button_AddIcon": "アイコンの追加",
"DevDetail_button_AddIcon_Help": "SVG HTMLタグまたはFont Awesome HTMLタグのアイコンを貼り付けてください。詳細は<a href=\"https://docs.netalertx.com/ICONS\" target=\"_blank\">アイコンのドキュメント</a>を参照してください。",
"DevDetail_button_AddIcon_Help": "SVG HTMLタグまたはFont Awesome HTMLタグのアイコンを貼り付けてください。詳細は <a href=\"https://docs.netalertx.com/ICONS\" target=\"_blank\">アイコンのドキュメント</a> を参照してください。",
"DevDetail_button_AddIcon_Tooltip": "このデバイスに、ドロップダウンにない新しいアイコンを追加します。",
"DevDetail_button_Delete": "デバイスの削除",
"DevDetail_button_DeleteEvents": "イベントの削除",
@@ -196,19 +196,19 @@
"DevDetail_button_OverwriteIcons_Warning": "このデバイスと同じデバイス種別を持つすべてのデバイスにアイコンを上書きしてもよろしいですか?",
"DevDetail_button_Reset": "変更をリセット",
"DevDetail_button_Save": "保存",
"DeviceEdit_ValidMacIp": "有効な<b>Mac</b><b>IP</b>アドレスを入力します.",
"DeviceEdit_ValidMacIp": "有効な <b>Mac</b><b>IP</b> アドレスを入力します.",
"Device_MultiEdit": "マルチエディタ",
"Device_MultiEdit_Backup": "注意:以下の項目に誤った値を入力すると設定が破損します。まずデータベースまたはデバイスの設定をバックアップしてください(<a href=\"#\" onclick=\"ExportCSV()\">クリックしてダウンロード<i class=\"fa-solid fa-download fa-bounce\"></i></a>)。このファイルからデバイスを復元する方法については、<a href=\"https://docs.netalertx.com/BACKUPS#scenario-2-corrupted-database\" target=\"_blank\">バックアップのドキュメント</a>を参照してください。変更を適用するには、更新したい各フィールドの<b>保存<i class=\"fa-solid fa-save\"></i></b>アイコンをクリックしてください。",
"Device_MultiEdit_Backup": "注意:以下の項目に誤った値を入力すると設定が破損します。まずデータベースまたはデバイスの設定をバックアップしてください(<a href=\"#\" onclick=\"ExportCSV()\">クリックしてダウンロード <i class=\"fa-solid fa-download fa-bounce\"></i></a>)。このファイルからデバイスを復元する方法については、<a href=\"https://docs.netalertx.com/BACKUPS#scenario-2-corrupted-database\" target=\"_blank\">バックアップのドキュメント</a> を参照してください。変更を適用するには、更新したい各フィールドの <b>保存<i class=\"fa-solid fa-save\"></i></b> アイコンをクリックしてください。",
"Device_MultiEdit_Fields": "フィールドの編集:",
"Device_MultiEdit_MassActions": "大量のアクション:",
"Device_MultiEdit_No_Devices": "デバイスが選択されていません。",
"Device_MultiEdit_Tooltip": "注意。これをクリックすると、左側の値が上記で選択したすべてのデバイスに適用されます。",
"Device_NextScan_Imminent": "まもなく...",
"Device_NextScan_In": "次のスキャンまでおよそ ",
"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_Title": "デバイスが見つかりません",
"Device_NoMatch_Title": "",
"Device_NoMatch_Title": "このフィルタ条件に一致するデバイスはありません",
"Device_Save_Failed": "デバイスの保存に失敗しました",
"Device_Save_Unauthorized": "許可されていない - 無効なAPIトークン",
"Device_Saved_Success": "デバイスが正常に保存されました",
@@ -269,7 +269,7 @@
"Device_Tablelenght_all": "全件",
"Device_Title": "デバイス",
"Devices_Filters": "フィルター",
"ENABLE_PLUGINS_description": "<a target=\"_blank\" href=\"https://docs.netalertx.com/PLUGINS\">プラグイン</a>機能を有効にします。プラグインの読み込みにはより多くのハードウェアリソースを必要とするため、リソースが限られているシステムでは無効にすることをお勧めします。",
"ENABLE_PLUGINS_description": "<a target=\"_blank\" href=\"https://docs.netalertx.com/PLUGINS\">プラグイン</a> 機能を有効にします。プラグインの読み込みにはより多くのハードウェアリソースを必要とするため、リソースが限られているシステムでは無効にすることをお勧めします。",
"ENABLE_PLUGINS_name": "有効プラグイン",
"ENCRYPTION_KEY_description": "データ暗号化キー。",
"ENCRYPTION_KEY_name": "暗号化キー",
@@ -372,21 +372,21 @@
"Gen_Warning": "警告",
"Gen_Work_In_Progress": "作業中、https://github.com/netalertx/NetAlertX/issues へのフィードバックの好機です",
"Gen_create_new_device": "新規デバイス",
"Gen_create_new_device_info": "デバイスは通常、<a target=\"_blank\" href=\"https://docs.netalertx.com/PLUGINS\">プラグイン</a>を使用して検出されます。ただし、特定のケースでは手動でデバイスを追加する必要がある場合があります。具体的なシナリオについては、<a target=\"_blank\" href=\"https://docs.netalertx.com/REMOTE_NETWORKS\">リモートネットワークドキュメント</a>を参照してください。",
"Gen_create_new_device_info": "デバイスは通常、<a target=\"_blank\" href=\"https://docs.netalertx.com/PLUGINS\">プラグイン</a> を使用して検出されます。ただし、特定のケースでは手動でデバイスを追加する必要がある場合があります。具体的なシナリオについては、<a target=\"_blank\" href=\"https://docs.netalertx.com/REMOTE_NETWORKS\">リモートネットワークドキュメント</a> を参照してください。",
"General_display_name": "一般",
"General_icon": "<i class=\"fa fa-gears\"></i>",
"HRS_TO_KEEP_NEWDEV_description": "これは<b>デバイスを削除</b>するメンテナンス設定です。有効にした場合(<code>0</code>で無効)、<b>新規デバイス</b>としてマークされたデバイスの内、<b>初回検知時刻</b>が指定された時間より古いものは削除されます。<b>新規デバイス</b><code>X</code>時間後に自動削除したい場合に使用してください。",
"HRS_TO_KEEP_NEWDEV_description": "これは <b>デバイスを削除</b> するメンテナンス設定です。有効にした場合(<code>0</code> で無効)、<b>新規デバイス</b> としてマークされたデバイスの内、<b>初回検知時刻</b> が指定された時間より古いものは削除されます。<b>新規デバイス</b><code>X</code> 時間後に自動削除したい場合に使用してください。",
"HRS_TO_KEEP_NEWDEV_name": "新規デバイスの削除",
"HRS_TO_KEEP_OFFDEV_description": "これは<b>デバイスを削除</b>するメンテナンス設定です。有効にした場合(<code>0</code>で無効)、<b>オフライン</b>状態のデバイスの内、<b>最終接続日時</b>が指定された時間より古いものは削除されます。<b>オフラインデバイス</b><code>X</code>時間経過後に自動削除したい場合に使用してください。",
"HRS_TO_KEEP_OFFDEV_description": "これは <b>デバイスを削除</b> するメンテナンス設定です。有効にした場合(<code>0</code> で無効)、<b>オフライン</b> 状態のデバイスの内、<b>最終接続日時</b> が指定された時間より古いものは削除されます。<b>オフラインデバイス</b><code>X</code> 時間経過後に自動削除したい場合に使用してください。",
"HRS_TO_KEEP_OFFDEV_name": "オフラインデバイスを削除する",
"LOADED_PLUGINS_description": "読み込まれたプラグイン。プラグインの追加はアプリケーションの速度を低下させる可能性があります。有効化が必要なプラグインの種類やスキャンオプションについては、<a target=\"_blank\" href=\"https://docs.netalertx.com/PLUGINS\">プラグインのドキュメント</a>を参照してください。読み込まれなかったプラグインの設定は失われます。読み込まない設定にできるのは<code>無効化</code>されたプラグインのみです。",
"LOADED_PLUGINS_description": "読み込まれたプラグイン。プラグインの追加はアプリケーションの速度を低下させる可能性があります。有効化が必要なプラグインの種類やスキャンオプションについては、<a target=\"_blank\" href=\"https://docs.netalertx.com/PLUGINS\">プラグインのドキュメント</a> を参照してください。読み込まれなかったプラグインの設定は失われます。読み込まない設定にできるのは <code>無効化</code> されたプラグインのみです。",
"LOADED_PLUGINS_name": "読み込まれたプラグイン",
"LOG_LEVEL_description": "この設定により、より詳細なログ出力が有効になります。データベースへのイベント書き込みのデバッグに有用です。",
"LOG_LEVEL_name": "追加のログ出力",
"Loading": "読み込み中…",
"Login_Box": "パスワードを入力してください",
"Login_Default_PWD": "デフォルトパスワード「123456」は有効なままです。",
"Login_Info": "パスワードはSet Passwordプラグインで設定されます。ログインに問題がある場合は<a target=\"_blank\" href=\"https://github.com/netalertx/NetAlertX/tree/main/front/plugins/set_password\">SETPWDのドキュメント</a>を確認してください。",
"Login_Info": "パスワードはSet Passwordプラグインで設定されます。ログインに問題がある場合は <a target=\"_blank\" href=\"https://github.com/netalertx/NetAlertX/tree/main/front/plugins/set_password\">SETPWDのドキュメント</a> を確認してください。",
"Login_Psw-box": "パスワード",
"Login_Psw_alert": "パスワードアラート!",
"Login_Psw_folder": "config フォルダ内。",
@@ -403,31 +403,31 @@
"Maint_Restart_Server_noti_text": "バックエンドサーバーを再起動してもよろしいですか?アプリの不整合が発生する可能性があります。まず設定のバックアップを行ってください。<br/> <br/> 注:この操作には数分かかる場合があります。",
"Maintenance_InitCheck": "初期化チェック",
"Maintenance_InitCheck_Checking": "確認中…",
"Maintenance_InitCheck_QuickSetupGuide": "<a href=\"https://docs.netalertx.com/INITIAL_SETUP/\" target=\"_blank\">クイックセットアップガイド</a>に従ったことを確認してください。",
"Maintenance_InitCheck_QuickSetupGuide": "<a href=\"https://docs.netalertx.com/INITIAL_SETUP/\" target=\"_blank\">クイックセットアップガイド</a> に従ったことを確認してください。",
"Maintenance_InitCheck_Success": "アプリケーションの初期化に成功!",
"Maintenance_ReCheck": "再チェック",
"Maintenance_Running_Version": "インストールバージョン",
"Maintenance_Status": "状態",
"Maintenance_Title": "メンテナンスツール",
"Maintenance_Tool_DownloadConfig": "設定エクスポート",
"Maintenance_Tool_DownloadConfig_text": "<code>app.conf</code>ファイルに保存されている構成設定の完全なバックアップをダウンロードしてください。",
"Maintenance_Tool_DownloadConfig_text": "<code>app.conf</code> ファイルに保存されている構成設定の完全なバックアップをダウンロードしてください。",
"Maintenance_Tool_DownloadWorkflows": "ワークフローのエクスポート",
"Maintenance_Tool_DownloadWorkflows_text": "<code>workflows.json</code>ファイルに保存されているワークフロー設定の完全なバックアップをダウンロードしてください。",
"Maintenance_Tool_DownloadWorkflows_text": "<code>workflows.json</code> ファイルに保存されているワークフロー設定の完全なバックアップをダウンロードしてください。",
"Maintenance_Tool_ExportCSV": "デバイスエクスポートcsv",
"Maintenance_Tool_ExportCSV_noti": "デバイスエクスポートcsv",
"Maintenance_Tool_ExportCSV_noti_text": "CSVファイルを生成してよろしいですか",
"Maintenance_Tool_ExportCSV_text": "ネットワークードとデバイス間の接続関係を含むデバイス一覧を記載したCSVカンマ区切り値ファイルを生成します。この操作は、<a href=\"settings.php#CSVBCKP_header\">CSVバックアップ</a>プラグインを有効化することで実行できます。",
"Maintenance_Tool_ExportCSV_text": "ネットワークードとデバイス間の接続関係を含むデバイス一覧を記載したCSVカンマ区切り値ファイルを生成します。この操作は、<a href=\"settings.php#CSVBCKP_header\">CSVバックアップ</a> プラグインを有効化することで実行できます。",
"Maintenance_Tool_ImportCSV": "デバイスインポートcsv",
"Maintenance_Tool_ImportCSV_noti": "デバイスインポートcsv",
"Maintenance_Tool_ImportCSV_noti_text": "CSVファイルを本当にインポートしますかこれによりデータベース内のデバイスが完全に<b>上書き</b>されます。",
"Maintenance_Tool_ImportCSV_text": "この機能を使用する前に、必ずバックアップを作成してください。ネットワークードとデバイス間の接続関係を含むデバイス一覧を記載したCSVカンマ区切り値ファイルをインポートします。そのためには、<b>devices.csv</b> という名前のCSVファイルを<b>/config</b>フォルダに配置してください。",
"Maintenance_Tool_ImportCSV_noti_text": "CSVファイルを本当にインポートしますかこれによりデータベース内のデバイスが完全に <b>上書き</b> されます。",
"Maintenance_Tool_ImportCSV_text": "この機能を使用する前に、必ずバックアップを作成してください。ネットワークードとデバイス間の接続関係を含むデバイス一覧を記載したCSVカンマ区切り値ファイルをインポートします。そのためには、<b>devices.csv</b> という名前のCSVファイルを <b>/config</b> フォルダに配置してください。",
"Maintenance_Tool_ImportConfig_noti": "設定のインポート (app.conf)",
"Maintenance_Tool_ImportPastedCSV": "デバイスのインポートcsv貼り付け",
"Maintenance_Tool_ImportPastedCSV_noti_text": "貼り付けたCSVを本当にインポートしますかこれによりデータベース内のデバイスが完全に<b>上書き</b>されます。",
"Maintenance_Tool_ImportPastedCSV_noti_text": "貼り付けたCSVを本当にインポートしますかこれによりデータベース内のデバイスが完全に <b>上書き</b> されます。",
"Maintenance_Tool_ImportPastedCSV_text": "この機能を使用する前に、必ずバックアップを作成してください。ネットワークードとデバイス間の接続関係を含むデバイス一覧が記載されたCSVカンマ区切り値ファイルをインポートします。",
"Maintenance_Tool_ImportPastedConfig": "設定のインポート(貼り付け)",
"Maintenance_Tool_ImportPastedConfig_noti_text": "貼り付けた設定を本当にインポートしますか?これにより<code>app.conf</code>ファイルが完全に<b>上書き</b>されます。",
"Maintenance_Tool_ImportPastedConfig_text": "アプリケーション設定をすべて含む<code>app.conf</code>ファイルをインポートします。まず<b>設定のエクスポート</b>で現在の<code>app.conf</code>ファイルをダウンロードすることをお勧めします。",
"Maintenance_Tool_ImportPastedConfig_noti_text": "貼り付けた設定を本当にインポートしますか?これにより <code>app.conf</code> ファイルが完全に <b>上書き</b> されます。",
"Maintenance_Tool_ImportPastedConfig_text": "アプリケーション設定をすべて含む <code>app.conf</code> ファイルをインポートします。まず <b>設定のエクスポート</b> で現在の <code>app.conf</code> ファイルをダウンロードすることをお勧めします。",
"Maintenance_Tool_UnlockFields": "デバイスフィールドのロック解除",
"Maintenance_Tool_UnlockFields_noti": "デバイスフィールドのロック解除",
"Maintenance_Tool_UnlockFields_noti_text": "全デバイスのデバイスフィールドのソース値LOCKED/USERをすべてクリアしてもよろしいですか この操作は元に戻せません。",
@@ -435,7 +435,7 @@
"Maintenance_Tool_arpscansw": "arpスキャンの切り替えオン/オフ)",
"Maintenance_Tool_arpscansw_noti": "arpスキャンをオンまたはオフにする",
"Maintenance_Tool_arpscansw_noti_text": "スキャンをオフにした場合、再度有効化されるまでオフのままとなります。",
"Maintenance_Tool_arpscansw_text": "ARPスキャンの有効化または無効化。スキャンを無効化した場合、再度有効化されるまで無効状態が維持されます。アクティブなスキャンはキャンセルされません。",
"Maintenance_Tool_arpscansw_text": "arpスキャンの有効化または無効化。スキャンを無効化した場合、再度有効化されるまで無効状態が維持されます。アクティブなスキャンはキャンセルされません。",
"Maintenance_Tool_backup": "DBバックアップ",
"Maintenance_Tool_backup_noti": "DBバックアップ",
"Maintenance_Tool_backup_noti_text": "データベースのバックアップを実行してもよろしいですか? 現在スキャンが実行されていないことを確認してください。",
@@ -475,7 +475,7 @@
"Maintenance_Tool_del_unknowndev_noti_text": "すべての(Unknown)のデバイスと(name not found)のデバイスを削除してもよろしいですか?",
"Maintenance_Tool_del_unknowndev_text": "この機能を使用する前に、必ずバックアップを作成してください。削除操作は元に戻せません。データベースから(Unknown)という名前のデバイスをすべて削除します。",
"Maintenance_Tool_del_unlockFields_selecteddev_text": "これにより、選択したデバイスの「LOCKED/USER」フィールドのロックが解除されます。この操作は取り消せません。",
"Maintenance_Tool_displayed_columns_text": "<a href=\"devices.php\"><b><i class=\"fa fa-laptop\"></i>デバイス</b></a>ページの列の表示状態と順序を変更します。",
"Maintenance_Tool_displayed_columns_text": "<a href=\"devices.php\"><b><i class=\"fa fa-laptop\"></i> デバイス</b></a> ページの列の表示状態と順序を変更します。",
"Maintenance_Tool_drag_me": "ドラッグして列を並べ替え。",
"Maintenance_Tool_order_columns_text": "Maintenance_Tool_order_columns_text",
"Maintenance_Tool_purgebackup": "バックアップ除去",
@@ -500,7 +500,7 @@
"Maintenance_arp_status_off": "無効化中",
"Maintenance_arp_status_on": "スキャン中",
"Maintenance_built_on": "ビルド日",
"Maintenance_current_version": "最新です。<a href=\"https://github.com/netalertx/NetAlertX/issues/138\" target=\"_blank\">現在の取り組み</a>をご覧ください。",
"Maintenance_current_version": "最新です。<a href=\"https://github.com/netalertx/NetAlertX/issues/138\" target=\"_blank\">現在の取り組み</a> をご覧ください。",
"Maintenance_database_backup": "DBバックアップ",
"Maintenance_database_backup_found": "バックアップが見つかりました",
"Maintenance_database_backup_total": "総ディスク使用量",
@@ -512,13 +512,13 @@
"Maintenance_lang_selector_empty": "言語を選択",
"Maintenance_lang_selector_lable": "言語を選択",
"Maintenance_lang_selector_text": "変更はクライアント側で行われるため、現在のブラウザにのみ影響します。",
"Maintenance_new_version": "新しいバージョンが利用可能です。<a href=\"https://github.com/netalertx/NetAlertX/releases\" target=\"_blank\">リリースノート</a>を確認してください。",
"Maintenance_new_version": "新しいバージョンが利用可能です。<a href=\"https://github.com/netalertx/NetAlertX/releases\" target=\"_blank\">リリースノート</a> を確認してください。",
"Maintenance_themeselector_apply": "適用",
"Maintenance_themeselector_empty": "スキンを選択",
"Maintenance_themeselector_lable": "スキンを選択",
"Maintenance_themeselector_text": "変更はサーバー側で行われるため、使用中のすべてのデバイスに影響します。",
"Maintenance_version": "アプリのアップデート",
"NETWORK_DEVICE_TYPES_description": "ネットワークビューにおいてネットワーク機器として使用できるデバイス種別。デバイス種別は、デバイス詳細の特定のデバイスにおける<code>種別</code>設定と一致する必要があります。デバイスに追加するには<code>+</code>ボタンを使用してください。既存の種別を削除せず、新しい種別のみを追加してください。",
"NETWORK_DEVICE_TYPES_description": "ネットワークビューにおいてネットワーク機器として使用できるデバイス種別。デバイス種別は、デバイス詳細の特定のデバイスにおける <code>種別</code> 設定と一致する必要があります。デバイスに追加するには <code>+</code> ボタンを使用してください。既存の種別を削除せず、新しい種別のみを追加してください。",
"NETWORK_DEVICE_TYPES_name": "ネットワーク機器の種別",
"Navigation_About": "概要",
"Navigation_AppEvents": "アプリイベント",
@@ -536,7 +536,7 @@
"Navigation_Settings": "設定",
"Navigation_SystemInfo": "システム情報",
"Navigation_Workflows": "ワークフロー",
"Network_Assign": "上記<i class=\"fa fa-server\"></i>ネットワークノードに接続",
"Network_Assign": "上記 <i class=\"fa fa-server\"></i> ネットワークノードに接続",
"Network_Cant_Assign": "ルートインターネットノードを子リーフノードとして割り当てることはできません.",
"Network_Cant_Assign_No_Node_Selected": "割り当てられません、親ノードが選択されていません。",
"Network_Configuration_Error": "設定エラー",
@@ -546,7 +546,7 @@
"Network_ManageAdd_Name": "デバイス名",
"Network_ManageAdd_Name_text": "特殊文字を含まない名前",
"Network_ManageAdd_Port": "ポート数",
"Network_ManageAdd_Port_text": "Wi-FiおよびPLCの場合は空欄にしてください",
"Network_ManageAdd_Port_text": "wifiおよびplcの場合は空欄にしてください",
"Network_ManageAdd_Submit": "デバイス追加",
"Network_ManageAdd_Type": "デバイス種別",
"Network_ManageAdd_Type_text": "-- 種別選択 --",
@@ -562,19 +562,19 @@
"Network_ManageEdit_Name": "新規デバイス名",
"Network_ManageEdit_Name_text": "特殊文字を含まない名前",
"Network_ManageEdit_Port": " 新規ポート数",
"Network_ManageEdit_Port_text": "Wi-FiおよびPLCの場合は空欄にしてください",
"Network_ManageEdit_Port_text": "wifiおよびplcの場合は空欄にしてください",
"Network_ManageEdit_Submit": "変更を保存",
"Network_ManageEdit_Type": "新規デバイス種別",
"Network_ManageEdit_Type_text": "-- 種別選択 --",
"Network_ManageLeaf": "割り当ての管理",
"Network_ManageUnassign": "割り当て解除",
"Network_NoAssignedDevices": "このネットワークードには割り当てられたデバイスリーフードがありません。以下のデバイスから1つを割り当てるか、<a href=\"devices.php\"><b><i class=\"fa fa-laptop\"></i>デバイス</b></a>内の任意のデバイスの<b><i class=\"fa fa-info-circle\"></i>詳細</b>タブに移動し、そこでネットワーク<b><i class=\"fa fa-server\"></i>ードMAC</b><b><i class=\"fa fa-ethernet\"></i>ポート</b>に割り当ててください。",
"Network_NoAssignedDevices": "このネットワークードには割り当てられたデバイスリーフードがありません。以下のデバイスから1つを割り当てるか、<a href=\"devices.php\"><b><i class=\"fa fa-laptop\"></i> デバイス</b></a> 内の任意のデバイスの <b><i class=\"fa fa-info-circle\"></i> 詳細</b> タブに移動し、そこでネットワーク <b><i class=\"fa fa-server\"></i> ードMAC</b><b><i class=\"fa fa-ethernet\"></i> ポート</b> に割り当ててください。",
"Network_NoDevices": "設定するデバイスがありません",
"Network_Node": "ネットワークノード",
"Network_Node_Name": "ノード名",
"Network_Parent": "上位のネットワーク機器",
"Network_Root": "ルートノード",
"Network_Root_Not_Configured": "<a href=\"deviceDetails.php?mac=Internet\">インターネットルートデバイス</a><b>種別</b>フィールドで、<b>ゲートウェイ</b>などのネットワーク機器種別を選択し、この画面の設定を開始してください。<br/><br/>詳細なドキュメントは<a href=\"https://docs.netalertx.com/NETWORK_TREE\" target=\"_blank\">ネットワークの設定方法ページ</a>ガイドでご覧いただけます",
"Network_Root_Not_Configured": "<a href=\"deviceDetails.php?mac=Internet\">インターネットルートデバイス</a><b>種別</b> フィールドで、<b>ゲートウェイ</b> などのネットワーク機器種別を選択し、この画面の設定を開始してください。<br/><br/> 詳細なドキュメントは <a href=\"https://docs.netalertx.com/NETWORK_TREE\" target=\"_blank\">ネットワークの設定方法ページ</a> ガイドでご覧いただけます",
"Network_Root_Unconfigurable": "設定不可のルート",
"Network_ShowArchived": "アーカイブを表示",
"Network_ShowOffline": "オフラインを表示",
@@ -585,13 +585,13 @@
"Network_UnassignedDevices": "未割り当てデバイス",
"Notifications_All": "すべての通知",
"Notifications_Mark_All_Read": "すべて既読にする",
"PIALERT_WEB_PASSWORD_description": "デフォルトのパスワードは<code>123456</code>です。パスワードを変更するには、コンテナ内で<code>/app/back/pialert-cli</code>を実行するか、<a onclick=\"toggleAllSettings()\" href=\"#SETPWD_RUN\"><code>SETPWD_RUN</code>パスワード設定プラグイン</a>を使用してください。",
"PIALERT_WEB_PASSWORD_description": "デフォルトのパスワードは <code>123456</code> です。パスワードを変更するには、コンテナ内で <code>/app/back/pialert-cli</code> を実行するか、<a onclick=\"toggleAllSettings()\" href=\"#SETPWD_RUN\"><code>SETPWD_RUN</code> パスワード設定プラグイン</a> を使用してください。",
"PIALERT_WEB_PASSWORD_name": "ログインパスワード",
"PIALERT_WEB_PROTECTION_description": "有効にするとログインダイアログが表示されます。インスタンスにロックアウトされた場合は、以下をよくご確認ください。",
"PIALERT_WEB_PROTECTION_name": "ログインを有効化",
"PLUGINS_KEEP_HIST_description": "プラグイン履歴スキャン結果のエントリをいくつ保持すべきか(デバイス固有ではなく、プラグインごとに)。",
"PLUGINS_KEEP_HIST_name": "プラグイン履歴",
"PRAGMA_JOURNAL_SIZE_LIMIT_description": "SQLite WALWrite-Ahead Logの自動チェックポイント発生前の最大サイズMB単位。低い値1020 MBではディスク/ストレージ使用量を削減しますが、スキャン時のCPU使用率が増加します。高い値50100 MBは操作中のCPUスパイクを軽減しますが、RAMとディスク容量をより多く消費する可能性があります。デフォルトの<code>50 MB</code>は両者のバランスを取ります。SDカードを搭載したNASデバイスなどのリソース制約のあるシステムで有用です。設定保存後、変更を有効にするにはサーバーを再起動してください。",
"PRAGMA_JOURNAL_SIZE_LIMIT_description": "SQLite WALWrite-Ahead Logの自動チェックポイント発生前の最大サイズMB単位。低い値1020 MBではディスク/ストレージ使用量を削減しますが、スキャン時のCPU使用率が増加します。高い値50100 MBは操作中のCPUスパイクを軽減しますが、RAMとディスク容量をより多く消費する可能性があります。デフォルトの <code>50 MB</code> は両者のバランスを取ります。SDカードを搭載したNASデバイスなどのリソース制約のあるシステムで有用です。設定保存後、変更を有効にするにはサーバーを再起動してください。",
"PRAGMA_JOURNAL_SIZE_LIMIT_name": "WALサイズ制限(MB)",
"Plugins_DeleteAll": "すべて削除(フィルターは無視されます)",
"Plugins_Filters_Mac": "Macフィルター",
@@ -628,12 +628,12 @@
"REPORT_DASHBOARD_URL_description": "このURLは、HTMLレポートメール内のリンク生成のベースとして使用されます。ポート番号を含め、<code>http://</code> で始まる完全なURLを入力してください末尾のスラッシュ <code>/</code> は不要です)。",
"REPORT_DASHBOARD_URL_name": "NetAlertX URL",
"REPORT_ERROR": "お探しのページは一時的に利用できません、数秒後に再度お試しください",
"REPORT_MAIL_description": "有効化すると、購読した変更点のリストが記載されたメールが送信されます。以下のSMTP設定に関連する残りの設定もすべて入力してください。問題が発生した場合は、<code>LOG_LEVEL</code><code>debug</code>に設定し、<a href=\"/maintenance.php#tab_Logging\">エラーログ</a>を確認してください。",
"REPORT_MAIL_description": "有効化すると、購読した変更点のリストが記載されたメールが送信されます。以下のSMTP設定に関連する残りの設定もすべて入力してください。問題が発生した場合は、<code>LOG_LEVEL</code><code>debug</code> に設定し、<a href=\"/maintenance.php#tab_Logging\">エラーログ</a> を確認してください。",
"REPORT_MAIL_name": "メールを有効化",
"REPORT_TITLE": "レポート",
"RandomMAC_hover": "このデバイスはランダムなMACアドレスを使用しています",
"Reports_Sent_Log": "送信レポートログ",
"SCAN_SUBNETS_description": "ほとんどのネットワーク内スキャナーARP-SCAN、NMAP、NSLOOKUP、DIGは、特定のネットワークインターフェースとサブネットをスキャンすることに依存しています。この設定に関するヘルプについては、<a href=\"https://docs.netalertx.com/SUBNETS\" target=\"_blank\">サブネットのドキュメント</a>を確認してください。特にVLAN、サポートされているVLANの種類、ネットワークマスクとインターフェースの確認方法についてです。<br/><br/>ネットワーク内スキャナーの代替手段として、NetAlert<sup>X</sup>がネットワークにアクセスする必要のない他のデバイススキャナー/インポーターUNIFI、dhcp.leases、PiHoleなどを有効化できます。<br/><br/>注スキャン時間自体は確認するIPアドレス数に依存するため、適切なネットワークマスクとインターフェースで慎重に設定してください。",
"SCAN_SUBNETS_description": "ほとんどのネットワーク内スキャナーARP-SCAN、NMAP、NSLOOKUP、DIGは、特定のネットワークインターフェースとサブネットをスキャンすることに依存しています。この設定に関するヘルプについては、<a href=\"https://docs.netalertx.com/SUBNETS\" target=\"_blank\">サブネットのドキュメント</a> を確認してください。特にVLAN、サポートされているVLANの種類、ネットワークマスクとインターフェースの確認方法についてです。<br/><br/> ネットワーク内スキャナーの代替手段として、NetAlert<sup>X</sup> がネットワークにアクセスする必要のない他のデバイススキャナー/インポーターUNIFI、dhcp.leases、PiHoleなどを有効化できます。<br/><br/> スキャン時間自体は確認するIPアドレス数に依存するため、適切なネットワークマスクとインターフェースで慎重に設定してください。",
"SCAN_SUBNETS_name": "スキャン対象ネットワーク",
"SYSTEM_TITLE": "システム情報",
"Setting_Override": "上書き値",
@@ -641,7 +641,7 @@
"Settings_Metadata_Toggle": "指定された設定のメタデータを表示/非表示にする。",
"Settings_Show_Description": "説明を表示",
"Settings_device_Scanners_desync": "⚠デバイススキャナーのスケジュールが同期されていません。",
"Settings_device_Scanners_desync_popup": "デバイススキャナーのスケジュール(<code>*_RUN_SCHD</code>)は同一ではありません。これにより、デバイスのオンライン/オフライン通知に一貫性が生じます。意図的な場合を除き、有効化されているすべての<b>🔍デバイススキャナー</b>で同一のスケジュールを使用してください。",
"Settings_device_Scanners_desync_popup": "デバイススキャナーのスケジュール(<code>*_RUN_SCHD</code>)は同一ではありません。これにより、デバイスのオンライン/オフライン通知に一貫性が生じます。意図的な場合を除き、有効化されているすべての <b>🔍デバイススキャナー</b> で同一のスケジュールを使用してください。",
"Speedtest_Results": "スピードテスト結果",
"Systeminfo_AvailableIps": "利用可能なIP",
"Systeminfo_CPU": "CPU",
@@ -718,22 +718,22 @@
"Systeminfo_System_Uptime": "稼働時間:",
"Systeminfo_This_Client": "使用中のクライアント",
"Systeminfo_USB_Devices": "USBデバイス",
"TICKER_MIGRATE_TO_NETALERTX": "⚠古いマウント位置が検出されました。新しい<code>/data/config</code>および<code>/data/db</code>フォルダと<code>netalertx</code>コンテナへの移行については、<a href=\"https://docs.netalertx.com/MIGRATION\" target=\"_blank\">このガイド</a>に従ってください。",
"TIMEZONE_description": "統計情報を正しく表示するためのタイムゾーン。タイムゾーンは<a target=\"_blank\" href=\"https://en.wikipedia.org/wiki/List_of_tz_database_time_zones\" rel=\"nofollow\">こちら</a>で確認してください。",
"TICKER_MIGRATE_TO_NETALERTX": "⚠古いマウント位置が検出されました。新しい <code>/data/config</code> および <code>/data/db</code> フォルダと <code>netalertx</code> コンテナへの移行については、<a href=\"https://docs.netalertx.com/MIGRATION\" target=\"_blank\">このガイド</a> に従ってください。",
"TIMEZONE_description": "統計情報を正しく表示するためのタイムゾーン。タイムゾーンは <a target=\"_blank\" href=\"https://en.wikipedia.org/wiki/List_of_tz_database_time_zones\" rel=\"nofollow\">こちら</a> で確認してください。",
"TIMEZONE_name": "タイムゾーン",
"UI_DEV_SECTIONS_description": "デバイスページで非表示にするUI要素を選択してください。",
"UI_DEV_SECTIONS_name": "デバイスセクションを非表示",
"UI_ICONS_description": "事前定義済みアイコンの一覧。注意して操作してください。アイコン追加の推奨方法は、<a href=\"https://docs.netalertx.com/ICONS\" target=\"_blank\">アイコンのドキュメント</a>に記載されています。base64エンコードされたSVG HTMLまたはFont Awesome HTMLタグを追加できます。",
"UI_ICONS_description": "事前定義済みアイコンの一覧。注意して操作してください。アイコン追加の推奨方法は、<a href=\"https://docs.netalertx.com/ICONS\" target=\"_blank\">アイコンのドキュメント</a> に記載されています。base64エンコードされたSVG HTMLまたはFont Awesome HTMLタグを追加できます。",
"UI_ICONS_name": "事前定義済みアイコン",
"UI_LANG_description": "お好みのUI言語を選択してください。翻訳のお手伝いや言語の提案は、<a href=\"https://hosted.weblate.org/projects/pialert/core/\" target=\"_blank\">Weblate</a>のオンラインポータルで行えます。",
"UI_LANG_description": "お好みのUI言語を選択してください。翻訳のお手伝いや言語の提案は、<a href=\"https://hosted.weblate.org/projects/pialert/core/\" target=\"_blank\">Weblate</a> のオンラインポータルで行えます。",
"UI_LANG_name": "UI言語",
"UI_MY_DEVICES_description": "デフォルトの<b>マイデバイス</b>ビューに表示すべきデバイスの状態。",
"UI_MY_DEVICES_description": "デフォルトの <b>マイデバイス</b> ビューに表示すべきデバイスの状態。",
"UI_MY_DEVICES_name": "自分のデバイスビューに表示",
"UI_NOT_RANDOM_MAC_description": "ランダムデバイスとしてマークすべきでないMACプレフィックス。例えば<code>52</code>と入力すると、<code>52:xx:xx:xx:xx:xx</code>で始まるデバイスがランダムMACアドレスを持つデバイスとしてマークされるのを除外します。",
"UI_NOT_RANDOM_MAC_description": "ランダムデバイスとしてマークすべきでないMACプレフィックス。例えば <code>52</code> と入力すると、<code>52:xx:xx:xx:xx:xx</code> で始まるデバイスがランダムMACアドレスを持つデバイスとしてマークされるのを除外します。",
"UI_NOT_RANDOM_MAC_name": "ランダムとしてマークしない",
"UI_PRESENCE_description": "<a href=\"/devices.php\" target=\"_blank\">デバイス</a>ページ内の<b>デバイス状態</b>チャートに表示するステータスを選択してください。",
"UI_PRESENCE_description": "<a href=\"/devices.php\" target=\"_blank\">デバイス</a> ページ内の <b>デバイス状態</b> チャートに表示するステータスを選択してください。",
"UI_PRESENCE_name": "検出チャートの表示",
"UI_REFRESH_description": "UIが再読み込みされるまでの秒数を指定します。無効にするには<code>0</code>を設定してください。",
"UI_REFRESH_description": "UIが再読み込みされるまでの秒数を指定します。無効にするには <code>0</code> を設定してください。",
"UI_REFRESH_name": "UI自動更新",
"VERSION_description": "バージョンまたはタイムスタンプヘルパー値で、アプリがアップグレードされたかどうかを確認します。",
"VERSION_name": "バージョンまたはタイムスタンプ",
@@ -767,13 +767,13 @@
"add_option_event_tooltip": "値の追加",
"copy_icons_event_tooltip": "同じ種別の全デバイスにアイコンを上書き",
"devices_old": "リフレッシュ中…",
"general_event_description": "トリガーされたイベントは、バックグラウンド処理が完了するまで時間がかかる場合があります。以下の実行キューが空になると処理は終了します(問題が発生した場合は<a href='/maintenance.php#tab_Logging'>エラーログ</a>を確認してください)。<br/> <br/> 実行キュー:",
"general_event_description": "トリガーされたイベントは、バックグラウンド処理が完了するまで時間がかかる場合があります。以下の実行キューが空になると処理は終了します(問題が発生した場合は <a href='/maintenance.php#tab_Logging'>エラーログ</a> を確認してください)。<br/> <br/> 実行キュー:",
"general_event_title": "アドホックイベントの実行",
"go_to_device_event_tooltip": "デバイスに移動",
"go_to_node_event_tooltip": "指定されたノードのネットワークページに移動する",
"new_version_available": "新しいバージョンが利用可能です。",
"report_guid": "通知GUID:",
"report_guid_missing": "リンクされた通知が見つかりません。送信された通知が利用可能になるまで、わずかな遅延が生じます。数秒後にページとキャッシュを更新してください。また、<code>DBCLNP_NOTIFI_HIST</code>設定で指定されているメンテナンス中に、選択した通知が削除された可能性もあります。<br/> <br/>代わりに最新の通知が表示されます。欠落している通知のGUIDは以下の通りです:",
"report_guid": "通知guid:",
"report_guid_missing": "リンクされた通知が見つかりません。送信された通知が利用可能になるまで、わずかな遅延が生じます。数秒後にページとキャッシュを更新してください。また、<code>DBCLNP_NOTIFI_HIST</code> 設定で指定されているメンテナンス中に、選択した通知が削除された可能性もあります。<br/> <br/>代わりに最新の通知が表示されます。欠落している通知のGUIDは以下の通りです:",
"report_select_format": "フォーマット選択:",
"report_time": "通知時刻:",
"run_event_tooltip": "設定を有効にし、実行する前にまず変更を保存してください。",
@@ -782,7 +782,7 @@
"settings_core_label": "Core",
"settings_device_scanners": "デバイススキャナーは、CurrentScanデータベーステーブルに書き込みを行うデバイスを発見するために使用されます。",
"settings_device_scanners_icon": "fa-solid fa-magnifying-glass-plus",
"settings_device_scanners_info": "<a href=\"/settings.php#LOADED_PLUGINS\">LOADED_PLUGINS</a>設定でより多くのデバイススキャナーを読み込みます",
"settings_device_scanners_info": "<a href=\"/settings.php#LOADED_PLUGINS\">LOADED_PLUGINS</a> 設定でより多くのデバイススキャナーを読み込みます",
"settings_device_scanners_label": "デバイススキャナー",
"settings_enabled": "有効な設定",
"settings_enabled_icon": "fa-solid fa-toggle-on",
@@ -797,10 +797,10 @@
"settings_other_scanners_label": "その他のスキャナー",
"settings_publishers": "有効化された通知ゲートウェイ - 設定に応じて通知を送信する発行元。",
"settings_publishers_icon": "fa-solid fa-paper-plane",
"settings_publishers_info": "<a href=\"/settings.php#LOADED_PLUGINS\">LOADED_PLUGINS</a>設定でさらに多くのパブリッシャーを読み込みます",
"settings_publishers_info": "<a href=\"/settings.php#LOADED_PLUGINS\">LOADED_PLUGINS</a> 設定でさらに多くのパブリッシャーを読み込みます",
"settings_publishers_label": "パブリッシャー",
"settings_readonly": "<code>app.conf</code>の読み取りまたは書き込みができません。コンテナを再起動し、<a href=\"https://docs.netalertx.com/FILE_PERMISSIONS\" target=\"_blank\">ファイルの権限に関するドキュメント</a>を参照してください",
"settings_saved": "<br/>設定が保存されました。<br/>再読込中…<br/><i class=\"ion ion-ios-loop-strong fa-spin fa-2x fa-fw\"></i><br/>",
"settings_readonly": "<code>app.conf</code> の読み取りまたは書き込みができません。コンテナを再起動し、<a href=\"https://docs.netalertx.com/FILE_PERMISSIONS\" target=\"_blank\">ファイルの権限に関するドキュメント</a> を参照してください",
"settings_saved": "<br/>設定が保存されました。<br/> 再読込中…<br/><i class=\"ion ion-ios-loop-strong fa-spin fa-2x fa-fw\"></i><br/>",
"settings_system_icon": "fa-solid fa-gear",
"settings_system_label": "システム",
"settings_update_item_warning": "以下の値を更新してください。以前のフォーマットに従うよう注意してください。<b>検証は行われません。</b>",

View File

@@ -1,11 +1,11 @@
{
"default": "en_us",
"languages": [
{ "code": "en_us", "display": "English (en_us)" },
{ "code": "ar_ar", "display": "Arabic (ar_ar)" },
{ "code": "ca_ca", "display": "Catalan (ca_ca)" },
{ "code": "cs_cz", "display": "Czech (cs_cz)" },
{ "code": "de_de", "display": "German (de_de)" },
{ "code": "en_us", "display": "English (en_us)" },
{ "code": "es_es", "display": "Spanish (es_es)" },
{ "code": "fa_fa", "display": "Farsi (fa_fa)" },
{ "code": "id_id", "display": "Indonesian (id_id)" },

View File

@@ -208,7 +208,7 @@
"Device_NoData_Help": "Если устройства не отображаются после сканирования, проверьте настройку SCAN_SUBNETS и <a href=\"https://docs.netalertx.com/SUBNETS\" target=\"_blank\">документацию</a>.",
"Device_NoData_Scanning": "Ожидание первого сканирования — это может занять несколько минут после первоначальной настройки.",
"Device_NoData_Title": "Устройства пока не найдены",
"Device_NoMatch_Title": "",
"Device_NoMatch_Title": "Нет устройств, соответствующих текущему фильтру",
"Device_Save_Failed": "Не удалось сохранить устройство",
"Device_Save_Unauthorized": "Не авторизован - недействительный токен API",
"Device_Saved_Success": "Устройство успешно сохранено",

View File

@@ -341,7 +341,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
"transformers": []
}
]
@@ -372,7 +372,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
"transformers": []
}
]

View File

@@ -315,7 +315,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
"transformers": []
}
]
@@ -348,7 +348,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
"transformers": []
}
]

View File

@@ -274,7 +274,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
"transformers": []
}
]
@@ -305,7 +305,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
"transformers": []
}
]
@@ -338,7 +338,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
"transformers": []
}
]
@@ -387,7 +387,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
"transformers": []
}
]

View File

@@ -136,7 +136,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
"transformers": []
}
]
@@ -169,7 +169,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
"transformers": []
}
]

View File

@@ -233,7 +233,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
"transformers": []
}
]
@@ -264,7 +264,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
"transformers": []
}
]

View File

@@ -432,7 +432,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
"transformers": []
}
]
@@ -477,7 +477,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
"transformers": []
}
]

View File

@@ -689,7 +689,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
"transformers": []
}
]
@@ -720,7 +720,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
"transformers": []
}
]
@@ -753,7 +753,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
"transformers": []
}
]
@@ -802,7 +802,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
"transformers": []
}
]

View File

@@ -478,7 +478,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
"transformers": []
}
]
@@ -519,7 +519,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
"transformers": []
}
]

View File

@@ -241,7 +241,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
"transformers": []
}
]
@@ -272,7 +272,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
"transformers": []
}
]

View File

@@ -28,31 +28,17 @@ Limitations:
- The Freebox must be your gateway
- 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
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
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
- Version: 1.0
- Version: 2.0
- Author: [KayJay7](https://github.com/KayJay7), [Lucide](https://github.com/Lucide)
- Maintainers: [mathoudebine](https://github.com/mathoudebine)
- Release Date: 2-Dec-2024

View File

@@ -311,7 +311,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
"transformers": []
}
]
@@ -345,7 +345,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
"transformers": []
}
]

View File

@@ -8,10 +8,11 @@ from datetime import datetime
from pathlib import Path
from typing import cast
import socket
import aiofreepybox
from aiofreepybox import Freepybox
from aiofreepybox.api.lan import Lan
from aiofreepybox.exceptions import NotOpenError, AuthorizationError
import freebox_api
from freebox_api import Freepybox
from freebox_api.api.lan import Lan
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
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):
# ensure existence of db path
config_base = Path(os.getenv("NETALERTX_CONFIG", "/data/config"))
data_dir = config_base / "freeboxdb"
data_dir = Path(os.getenv("NETALERTX_CONFIG", "/data/config")) / "freeboxdb"
data_dir.mkdir(parents=True, exist_ok=True)
# 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_id": "netalertx",
"app_name": "NetAlertX",
"app_version": aiofreepybox.__version__,
"app_version": freebox_api.__version__,
"device_name": socket.gethostname(),
},
api_version="v" + str(api_version),
data_dir=data_dir,
token_file=data_dir / "token",
)
# Connect to the freebox
# Be ready to authorize the application on the Freebox if you run this
# for the first time
try:
await fbx.open(host=api_address, port=api_port)
await fbx.open(host=api_address, port=str(api_port))
except NotOpenError as e:
mylog("verbose", [f"[{pluginName}] Error connecting to freebox: {e}"])
return None, []
except AuthorizationError as e:
mylog("verbose", [f"[{pluginName}] Auth error: {str(e)}"])
return None, []
# 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()
hosts = await cast(Lan, fbx.lan).get_hosts_list()
assert config is not None
@@ -145,16 +147,17 @@ def main():
mylog("verbose", [freebox])
mylog("verbose", [hosts])
plugin_objects.add_object(
primaryId=freebox["mac"],
secondaryId=freebox["ip"],
watched1=freebox["name"],
watched2=freebox["operator"],
watched3="Gateway",
watched4=timeNowUTC(),
extra="",
foreignKey=freebox["mac"],
)
if freebox:
plugin_objects.add_object(
primaryId=freebox["mac"],
secondaryId=freebox["ip"],
watched1=freebox["name"],
watched2=freebox["operator"],
watched3="Gateway",
watched4=timeNowUTC(),
extra="",
foreignKey=freebox["mac"],
)
for host in hosts:
# Check if 'l3connectivities' exists and is a list
if "l3connectivities" in host and isinstance(host["l3connectivities"], list):
@@ -175,7 +178,7 @@ def main():
# Optional: Log or handle hosts without 'l3connectivities'
mylog("verbose", [f"[{pluginName}] Host missing 'l3connectivities': {host}"])
# commit result
# Commit result
plugin_objects.write_result_file()
return 0

View File

@@ -304,7 +304,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
"transformers": []
}
]
@@ -335,7 +335,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
"transformers": []
}
]

View File

@@ -324,7 +324,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
"transformers": []
}
]
@@ -369,7 +369,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
"transformers": []
}
]
@@ -418,7 +418,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
"transformers": []
}
]
@@ -449,7 +449,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
"transformers": []
}
]

View File

@@ -561,7 +561,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
"transformers": []
}
]
@@ -610,7 +610,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
"transformers": []
}
]

View File

@@ -139,7 +139,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
"transformers": []
}
]
@@ -173,7 +173,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
"transformers": []
}
]

View File

@@ -391,7 +391,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
"transformers": []
}
]
@@ -422,7 +422,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
"transformers": []
}
]

View File

@@ -275,7 +275,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
"transformers": []
}
]
@@ -307,7 +307,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
"transformers": []
}
]

View File

@@ -241,7 +241,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
"transformers": []
}
]
@@ -272,7 +272,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
"transformers": []
}
]

View File

@@ -1463,7 +1463,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "ordeable": "true"}],
"elementOptions": [{ "orderable": "true"}],
"transformers": ["deviceRelType"]
}
]
@@ -1528,7 +1528,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true", "readonly": "true" }],
"elementOptions": [{ "multiple": "true", "orderable": "true", "readonly": "true" }],
"transformers": ["deviceChip"]
}
]
@@ -1899,7 +1899,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true", "readonly": "true" }],
"elementOptions": [{ "multiple": "true", "orderable": "true", "readonly": "true" }],
"transformers": ["deviceChip"]
}
]

View File

@@ -459,7 +459,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
"transformers": []
}
]
@@ -492,7 +492,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
"transformers": []
}
]

View File

@@ -553,7 +553,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
"transformers": []
}
]
@@ -594,7 +594,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
"transformers": []
}
]

View File

@@ -34,7 +34,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
"transformers": []
}
]

View File

@@ -241,7 +241,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
"transformers": []
}
]
@@ -272,7 +272,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
"transformers": []
}
]

View File

@@ -429,7 +429,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
"transformers": []
}
]
@@ -462,7 +462,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
"transformers": []
}
]
@@ -475,7 +475,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
"transformers": []
}
]
@@ -510,7 +510,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
"transformers": []
}
]

View File

@@ -402,7 +402,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
"transformers": []
}
]
@@ -435,7 +435,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
"transformers": []
}
]
@@ -448,7 +448,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
"transformers": []
}
]
@@ -484,7 +484,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
"transformers": []
}
]

View File

@@ -122,7 +122,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
"transformers": []
}
]
@@ -155,7 +155,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
"transformers": []
}
]

View File

@@ -223,7 +223,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
"transformers": []
}
]
@@ -257,7 +257,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
"transformers": []
}
]
@@ -290,7 +290,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
"transformers": []
}
]
@@ -331,7 +331,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
"transformers": []
}
]

View File

@@ -593,7 +593,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
"transformers": []
}
]
@@ -625,7 +625,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
"transformers": []
}
]
@@ -658,7 +658,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
"transformers": []
}
]
@@ -699,7 +699,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
"transformers": []
}
]

View File

@@ -459,7 +459,7 @@
"elementOptions": [
{
"multiple": "true",
"ordeable": "true"
"orderable": "true"
}
],
"transformers": []
@@ -604,7 +604,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
"transformers": []
}
]
@@ -636,7 +636,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
"transformers": []
}
]

View File

@@ -187,9 +187,10 @@ def main():
with open(file_path, 'r') as f:
data = json.load(f)
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
unique_mac_addresses.add(device['devMac'])
unique_mac_addresses.add(device['devMac'].lower())
device_data.append(device)
# Rename the file to "processed_" + current name
@@ -206,7 +207,7 @@ def main():
# Retrieve existing devMac values from the Devices table
placeholders = ', '.join('?' for _ in 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
for device in device_data:
@@ -229,7 +230,10 @@ def main():
db_columns = {row[1] for row in cursor.fetchall()}
# 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}] New devices: "{len(new_devices)}"'])

View File

@@ -280,7 +280,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
"transformers": []
}
]
@@ -307,7 +307,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
"transformers": []
}
]
@@ -334,7 +334,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
"transformers": []
}
]
@@ -361,7 +361,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
"transformers": ["getString"]
},
{
@@ -467,7 +467,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
"transformers": ["getString"]
},
{
@@ -545,7 +545,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
"transformers": []
}
]
@@ -590,7 +590,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
"transformers": []
}
]

View File

@@ -505,7 +505,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
"transformers": []
}
]
@@ -538,7 +538,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
"transformers": []
}
]

View File

@@ -923,7 +923,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
"transformers": []
}
]
@@ -960,7 +960,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
"transformers": []
}
]
@@ -1026,7 +1026,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
"transformers": []
}
]
@@ -1067,7 +1067,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
"transformers": []
}
]

View File

@@ -233,7 +233,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
"transformers": []
}
]
@@ -265,7 +265,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true" }],
"elementOptions": [{ "multiple": "true", "orderable": "true" }],
"transformers": []
}
]
@@ -299,7 +299,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
"transformers": []
}
]
@@ -344,7 +344,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
"transformers": []
}
]

View File

@@ -538,7 +538,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
"transformers": []
}
]
@@ -579,7 +579,7 @@
"elements": [
{
"elementType": "select",
"elementOptions": [{ "multiple": "true", "ordeable": "true"}],
"elementOptions": [{ "multiple": "true", "orderable": "true"}],
"transformers": []
}
]

View File

@@ -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-----

View File

@@ -24,4 +24,4 @@ librouteros
yattag
zeroconf
psutil
git+https://github.com/foreign-sub/aiofreepybox.git
freebox-api

View File

@@ -24,4 +24,4 @@ librouteros
yattag
zeroconf
psutil
git+https://github.com/foreign-sub/aiofreepybox.git
freebox-api

View File

@@ -30,7 +30,7 @@ six
urllib3
httplib2
gunicorn
git+https://github.com/foreign-sub/aiofreepybox.git
freebox-api
mcp
psutil
pydantic>=2.0,<3.0

View File

@@ -242,7 +242,7 @@ def importConfigs(pm, db, all_plugins):
[],
c_d,
"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",
)