forked from kay/RouterOS
Dauer-Editor auf Keepalive/Scheduler-Intervall/Netwatch-Intervall ausgerollt
WireGuard-Peer "Keepalive", Scheduler "Intervall" und Netwatch "Prüf-Intervall" nutzen jetzt RouterOSFieldSchema.Kind.duration statt Freitext. Netwatch-Default von "00:00:10" auf "10s" umgestellt, da DurationFieldEditor.parse nur das Suffix-Format versteht, kein HH:MM:SS. Vorher live geprüft, dass RouterOS das Suffix-Format bei allen drei Feldern akzeptiert. Live bestätigt. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
+14
-6
@@ -1338,12 +1338,20 @@ passenden Namen lesbar. Live bestätigt ("sieht gut aus").
|
||||
bestätigt (siehe oben), der Moduswechsel im Wizard noch nicht.
|
||||
4. M10: WLAN-Schemas (an Gerät mit WLAN-Chip), Bonding, PPPoE-Client
|
||||
(mit echten oder Test-ISP-Zugangsdaten) noch gegen Hardware verifizieren.
|
||||
5. Optional, kleinere Politur: den neuen Dauer-Editor
|
||||
(`RouterOSFieldSchema.Kind.duration`) auch auf weitere Zeitwert-Felder
|
||||
anwenden, die bisher nur Text mit Beispiel-Tooltip sind — WireGuard-
|
||||
Peer "Keepalive", Scheduler "Intervall", Netwatch "Prüf-Intervall".
|
||||
Optional auch für den Geräte-Tab, falls dort künftig Zeitfelder
|
||||
dazukommen.
|
||||
5. ~~Dauer-Editor (`RouterOSFieldSchema.Kind.duration`) auch auf weitere
|
||||
Zeitwert-Felder anwenden~~ — erledigt (2026-09-16): WireGuard-Peer
|
||||
"Keepalive" (Label-Zusatz "(Sekunden)" entfernt, Stepper zeigt Einheit
|
||||
selbst), Scheduler "Intervall", Netwatch "Prüf-Intervall" (Default
|
||||
von `"00:00:10"` auf `"10s"` umgestellt — `DurationFieldEditor.parse`
|
||||
versteht nur das Suffix-Format `<Zahl><d/h/m/s>` bzw. eine nackte
|
||||
Sekundenzahl, kein `HH:MM:SS`; der alte Default wäre beim Öffnen
|
||||
stillschweigend als "leer" geparst worden). Vor der Umstellung live
|
||||
geprüft (Test-Einträge angelegt und sofort wieder entfernt): RouterOS
|
||||
akzeptiert das Suffix-Format bei allen drei Feldern
|
||||
(`persistent-keepalive=25s`, Scheduler-`interval=30s`,
|
||||
Netwatch-`interval=30s`, jeweils im `print terse` bestätigt). Live in
|
||||
der App bestätigt ("passt, live bestätigt"). Geräte-Tab hat weiterhin
|
||||
keine Zeitfelder, daher nicht betroffen.
|
||||
6. ~~Firewall-NAT-/Filter-`add`-Befehle sind bei wiederholtem Wizard-Lauf
|
||||
weiterhin nicht idempotent~~ — behoben (2026-09-16): im Gegensatz zu den bei Bug 22–24
|
||||
gefixten Menüs (dort per `.set`-Retry auf einem eindeutigen Feld wie
|
||||
|
||||
@@ -245,9 +245,9 @@ enum L10n {
|
||||
"Port der Gegenstelle": "Peer's Port",
|
||||
"Meist derselbe Port wie der Listen-Port der Gegenstelle, z.B. 51820.":
|
||||
"Usually the same as the peer's listen port, e.g. 51820.",
|
||||
"Keepalive (Sekunden)": "Keepalive (seconds)",
|
||||
"Z.B. 25 — hält die Verbindung durch NAT/Firewalls am Leben. Wichtig bei Clients hinter NAT.":
|
||||
"E.g. 25 — keeps the connection alive through NAT/firewalls. Important for clients behind NAT.",
|
||||
"Keepalive": "Keepalive",
|
||||
"Hält die Verbindung durch NAT/Firewalls am Leben. Wichtig bei Clients hinter NAT.":
|
||||
"Keeps the connection alive through NAT/firewalls. Important for clients behind NAT.",
|
||||
"PPPoE-Client": "PPPoE Client",
|
||||
"Ersetzt eine feste/DHCP-WAN-Adresse durch eine PPPoE-Einwahl beim Provider.":
|
||||
"Replaces a static/DHCP WAN address with a PPPoE dial-in to the provider.",
|
||||
@@ -481,8 +481,8 @@ enum L10n {
|
||||
"Startzeit": "Start Time",
|
||||
"Z.B. 00:00:00 oder \"startup\".": "E.g. 00:00:00 or \"startup\".",
|
||||
"Intervall": "Interval",
|
||||
"Wie oft wiederholt wird, z.B. 1d oder 01:00:00. Leer = nur einmal zur Startzeit.":
|
||||
"How often it repeats, e.g. 1d or 01:00:00. Empty = only once, at the start time.",
|
||||
"Wie oft wiederholt wird. Alles auf 0 lassen = nur einmal zur Startzeit.":
|
||||
"How often it repeats. Leave everything at 0 = only once, at the start time.",
|
||||
"Auszuführendes Skript": "Script to Run",
|
||||
"Name eines zuvor unter \"Skripte\" angelegten Skripts.": "Name of a script previously created under \"Scripts\".",
|
||||
"Zeitplan inaktiv schalten, ohne ihn zu löschen.": "Turn the schedule off without deleting it.",
|
||||
@@ -512,7 +512,7 @@ enum L10n {
|
||||
"IP-Adresse oder Hostname, ohne Präfix, z.B. 192.168.88.1 oder 8.8.8.8.":
|
||||
"IP address or hostname, without a prefix, e.g. 192.168.88.1 or 8.8.8.8.",
|
||||
"Prüf-Intervall": "Check Interval",
|
||||
"Z.B. 00:00:10.": "E.g. 00:00:10.",
|
||||
"Wie oft die Erreichbarkeit geprüft wird.": "How often reachability is checked.",
|
||||
"Skript bei Erreichbarkeit": "Script on Reachable",
|
||||
"Name eines Skripts unter \"Skripte\".": "Name of a script under \"Scripts\".",
|
||||
"Skript bei Nichterreichbarkeit": "Script on Unreachable",
|
||||
|
||||
@@ -292,8 +292,8 @@ enum RouterOSSchemaCatalog {
|
||||
help: "Nur nötig, wenn diese Gegenstelle selbst erreichbar sein muss (Site-to-Site), z.B. eine feste öffentliche IP oder ein DNS-Name. Bei Roadwarrior-Clients, die sich selbst melden, leer lassen."),
|
||||
RouterOSFieldSchema(key: "endpoint-port", label: "Port der Gegenstelle", kind: .text,
|
||||
help: "Meist derselbe Port wie der Listen-Port der Gegenstelle, z.B. 51820."),
|
||||
RouterOSFieldSchema(key: "persistent-keepalive", label: "Keepalive (Sekunden)", kind: .text,
|
||||
help: "Z.B. 25 — hält die Verbindung durch NAT/Firewalls am Leben. Wichtig bei Clients hinter NAT.")
|
||||
RouterOSFieldSchema(key: "persistent-keepalive", label: "Keepalive", kind: .duration,
|
||||
help: "Hält die Verbindung durch NAT/Firewalls am Leben. Wichtig bei Clients hinter NAT.")
|
||||
],
|
||||
listColumns: ["interface", "allowed-address"]
|
||||
),
|
||||
@@ -681,8 +681,8 @@ enum RouterOSSchemaCatalog {
|
||||
fields: [
|
||||
RouterOSFieldSchema(key: "name", label: "Name", kind: .text, help: "Frei wählbar, z.B. taeglicher-neustart.", required: true),
|
||||
RouterOSFieldSchema(key: "start-time", label: "Startzeit", kind: .text, help: "Z.B. 00:00:00 oder \"startup\"."),
|
||||
RouterOSFieldSchema(key: "interval", label: "Intervall", kind: .text,
|
||||
help: "Wie oft wiederholt wird, z.B. 1d oder 01:00:00. Leer = nur einmal zur Startzeit."),
|
||||
RouterOSFieldSchema(key: "interval", label: "Intervall", kind: .duration,
|
||||
help: "Wie oft wiederholt wird. Alles auf 0 lassen = nur einmal zur Startzeit."),
|
||||
RouterOSFieldSchema(key: "on-event", label: "Auszuführendes Skript",
|
||||
kind: .menuItemPick(menuPath: "/system script", restPath: "system/script", valueField: "name"),
|
||||
help: "Name eines zuvor unter \"Skripte\" angelegten Skripts."),
|
||||
@@ -733,7 +733,8 @@ enum RouterOSSchemaCatalog {
|
||||
fields: [
|
||||
RouterOSFieldSchema(key: "host", label: "Zu überwachende Adresse", kind: .text,
|
||||
help: "IP-Adresse oder Hostname, ohne Präfix, z.B. 192.168.88.1 oder 8.8.8.8.", required: true),
|
||||
RouterOSFieldSchema(key: "interval", label: "Prüf-Intervall", kind: .text, help: "Z.B. 00:00:10.", defaultValue: "00:00:10"),
|
||||
RouterOSFieldSchema(key: "interval", label: "Prüf-Intervall", kind: .duration,
|
||||
help: "Wie oft die Erreichbarkeit geprüft wird.", defaultValue: "10s"),
|
||||
RouterOSFieldSchema(key: "up-script", label: "Skript bei Erreichbarkeit", kind: .text,
|
||||
help: "Name eines Skripts unter \"Skripte\"."),
|
||||
RouterOSFieldSchema(key: "down-script", label: "Skript bei Nichterreichbarkeit", kind: .text,
|
||||
|
||||
Reference in New Issue
Block a user