|
|
@@ -49,6 +49,14 @@ class ProtectorGUI(tk.Tk):
|
|
|
self.th_entry = tk.Entry(cf, width=10)
|
|
|
self.th_entry.grid(row=1, column=1, sticky="w", padx=4, pady=2)
|
|
|
|
|
|
+ tk.Label(cf, text="test_prefix:").grid(row=1, column=2, sticky="w", padx=(12,0))
|
|
|
+ self.test_prefix_entry = tk.Entry(cf, width=15)
|
|
|
+ self.test_prefix_entry.grid(row=1, column=3, sticky="w", padx=4, pady=2)
|
|
|
+
|
|
|
+ tk.Label(cf, text="rule_ip_limit:").grid(row=2, column=2, sticky="w", padx=(12,0))
|
|
|
+ self.rule_limit_entry = tk.Entry(cf, width=15)
|
|
|
+ self.rule_limit_entry.grid(row=2, column=3, sticky="w", padx=4, pady=2)
|
|
|
+
|
|
|
tk.Label(cf, text="scan_interval (s):").grid(row=2, column=0, sticky="w")
|
|
|
self.interval_entry = tk.Entry(cf, width=10)
|
|
|
self.interval_entry.grid(row=2, column=1, sticky="w", padx=4, pady=2)
|
|
|
@@ -88,6 +96,11 @@ class ProtectorGUI(tk.Tk):
|
|
|
self.base_entry.insert(0, self.cfg.get("base_url", ""))
|
|
|
self.th_entry.delete(0, tk.END)
|
|
|
self.th_entry.insert(0, str(self.cfg.get("conn_threshold", "")))
|
|
|
+ # new fields
|
|
|
+ self.test_prefix_entry.delete(0, tk.END)
|
|
|
+ self.test_prefix_entry.insert(0, str(self.cfg.get("test_prefix", "Test_")))
|
|
|
+ self.rule_limit_entry.delete(0, tk.END)
|
|
|
+ self.rule_limit_entry.insert(0, str(self.cfg.get("rule_ip_limit", 1000)))
|
|
|
self.interval_entry.delete(0, tk.END)
|
|
|
self.interval_entry.insert(0, str(self.cfg.get("scan_interval", 60)))
|
|
|
|
|
|
@@ -103,6 +116,9 @@ class ProtectorGUI(tk.Tk):
|
|
|
try:
|
|
|
self.cfg["base_url"] = self.base_entry.get().strip()
|
|
|
self.cfg["conn_threshold"] = int(self.th_entry.get().strip())
|
|
|
+ # optional new fields
|
|
|
+ self.cfg["test_prefix"] = str(self.test_prefix_entry.get().strip())
|
|
|
+ self.cfg["rule_ip_limit"] = int(self.rule_limit_entry.get().strip())
|
|
|
self.cfg["scan_interval"] = int(self.interval_entry.get().strip())
|
|
|
except Exception as e:
|
|
|
messagebox.showerror("错误", f"配置输入无效: {e}")
|