swpa
|
7a49ef9833
|
feat(core): 系統底層架構重構、資安強化與極致效能優化
本次提交涵蓋了 Phase 3.5 至 Phase 4 的核心架構翻修,徹底解決了 SSH 互動陷阱、資料庫冗餘、機密外洩以及巨量 DOM 渲染的效能瓶頸。
🏗️ 1. 資料庫與快取架構整併 (DB Consolidation)
- 重構 `cmts_options` 資料表,主鍵簡化為 `(host, path)`,徹底解耦 `config_type`。
- 實現 `running-tree` 與 `full-tree` 共用全域選項字典,達成極致的「增量掃描 (Incremental Scanning)」。
- 強化 `init_db.py` 防呆機制,保留 `config_backups` 避免誤刪珍貴快照。
🔒 2. 企業級資安與權限管理 (Security Hardening)
- 導入 `python-dotenv`,全面落實 12-Factor App 規範。
- 徹底淨化 `index.html`, `shared.py`, `database.py` 中的硬編碼 (Hardcoded) 密碼。
- 建立 `.env.example` 範例檔,確保正式機密碼「零外洩 (Zero Secrets Leakage)」。
- 強化 God Mode 驗證邏輯,未設定環境變數時預設拒絕所有進階授權 (Fail-Fast)。
📡 3. SSH 引擎與 SSE 廣播機制 (SSH & SSE Engine)
- 修復 SSH Echo 與 MOTD 陷阱,導入精準的 `prompt_pattern` 絕對靜音偵測。
- 廢除危險的 `Ctrl+C`,改用底層 `Ctrl+U (\x15)` 瞬間清空輸入緩衝區,確保 100% 停留在 config 模式。
- 完善 SSE (Server-Sent Events) 廣播機制,前端精準呈現「百分比進度條」與「動態狀態文字」。
⚡ 4. 前端效能與使用者體驗 (Performance & UX)
- 升級 Regex 解析器,完美支援水平列表與無標題說明,成功找回消失的 `❓` 提示。
- 導入 HTML5 `<datalist>`,將 Enum 欄位無痛升級為「半自由下拉選單 (Combobox)」。
- 解決「延遲載入 (Lazy Load)」與「編輯模式」的衝突:實作「預先渲染但不展開」機制,結合 `content-visibility: auto` 達成零效能損耗。
- 實作 Xterm.js DOM 事件防火牆 (Capture Phase Interception),完美阻擋第三方外掛產生的殘缺鍵盤事件,消除 Console 紅字報錯。
⚠️ Breaking Changes (破壞性變更)
- 系統啟動前必須建立 `.env` 檔案並填入必要的資料庫與設備連線資訊。
- 資料庫結構已變更,舊有環境需執行 `python init_db.py --reset` 重新建表。
|
2026-06-10 14:37:16 +08:00 |
swpa
|
4437e4e3fa
|
refactor(backend): 實施 Priority 1 核心穩定性升級與連線防護
- 實作設備級別鎖 (Per-Host Lock):將全域鎖改為 defaultdict(asyncio.Lock),大幅提升多人併發操作能力 (shared.py, config.py, backup.py)。
- 修復 Netmiko 連線洩漏:全面導入 try...finally 機制,確保發生異常時 disconnect() 絕對會被執行 (query.py, config.py)。
- 解除 Event Loop 阻塞:將解析樹狀圖等 CPU-Bound 任務移至 asyncio.to_thread 背景執行,防止 API 請求卡死 (config.py)。
- 強化 AsyncSSH 生命週期:於備份還原路由導入 async with Context Manager,確保 SSH 連線與 Process 絕對乾淨釋放 (backup.py)。
|
2026-05-31 14:24:10 +08:00 |
swpa
|
fb1c091be9
|
fix(backup): 設備終端機分頁機制(Pagination)問題處理
- 根據 config_type 切換模式與指令,並加上 | nomore 關閉分頁
refactor(backup): 將 CMTS 的 CLI 配置文字轉換為完美的邏輯巢狀 JSON (兩階段解析法)
- 階段 0: 預處理 (清理雜訊,移除危險的自動黏合)
- 階段 2: 邏輯群組化與字典合併 (保留嚴格型別防護)
refactor(ui): 獲取整台 CMTS 的完整配置 (串流進度回報版)
- 前端串流接收器 (Streaming UI)
fix(ui): 修復 SSH 終端機無底洞溢出與頁籤底部左右捲軸錯位問題
- 於 .xterm 新增 height: 100% 與 box-sizing: border-box,確保終端機畫布完美貼合黑底外框,並將捲動權限成功交還給終端機內部。
|
2026-05-30 00:48:53 +08:00 |
swpa
|
f8285f7ff7
|
fix: 對 CMTS 設定階層實施強化排查機制
|
2026-05-28 13:28:39 +08:00 |
swpa
|
3cebbb2824
|
feat: 1.PostgreSQL 高可用性架構升級, 2.導入continue.dev與Roo Code偕同開發模式。
|
2026-05-21 16:57:45 +08:00 |
swpa
|
8f4faa8956
|
refactor: isNoCommand 讀取寫入邏輯重整
|
2026-05-21 16:52:20 +08:00 |
swpa
|
523ebc706f
|
fix: 讓樹狀結構符合Harmonic設定檔的結構
|
2026-05-21 16:52:20 +08:00 |
swpa
|
9365fef8c5
|
feat: 樹狀結構修整 & 各欄位提示資料建立與快取設計
|
2026-05-21 16:50:38 +08:00 |
swpa
|
562625abb3
|
feat: 開發樹狀配置與系統設定頁面
|
2026-05-21 16:48:54 +08:00 |
swpa
|
67a30b5780
|
Initial commit: 完成基礎架構與 MAC Domain 正名
|
2026-04-29 18:00:40 +08:00 |