- KKTerm-style UI: Activity Rail, Connection Sidebar, Tabbed Workspace - Serial Port connection (System.IO.Ports) - SSH connection (SSH.NET, password/key/keyboard-interactive) - Local Shell via Windows ConPTY (PowerShell/Bash/Cmd) - VT100/ANSI terminal rendering (owner-drawn, double-buffered) - TTL script engine: send, sendln, wait, pause, timeout, if/while, messagebox - Group execution: waitall, sendlnall, sendlngroup (Barrier sync) - Run All / Run Group toolbar buttons - SFTP file browser sidebar (SSH.NET SftpClient) - PDU control via SNMP (pduconnect/pductrl commands) - Settings: Terminal prefs, Shell config, PDU monitoring - About page with changelog - AppSettings persisted to %LocalAppData%\ETTerms\ - Dark theme throughout (KKTerm purple accent)
2.0 KiB
2.0 KiB
ETTerms
原生 Windows 終端機工作台(C# .NET 8 WinForms),支援 SSH 與 Serial Port 連線, 並內建從 MyTeraTerm 移植的 TTL 腳本引擎做自動化。單機、無雲、無登入系統。
詳細架構見 ARCHITECTURE.md。
建置 / 執行
dotnet build
dotnet run --project src\ETTerms\ETTerms.csproj
TTL 腳本
在任一連線分頁頂部的腳本列按 ▶ Script 載入 .ttl 對該連線執行;左側狀態列即時顯示
執行到的行號與指令,■ Stop 可中止。完整語法與範例見
docs/ttl-script-reference.md,範例腳本在 tools/scripts/。
目前支援的指令
| 指令 | 說明 |
|---|---|
send '文字' |
送出文字(不加換行) |
sendln '文字' |
送出文字並附加 \r\n |
wait '字串' |
一直等到接收緩衝出現該字串才往下(預設無限等待,可按 Stop 取消);命中後 result=1 |
flushrecv |
清空接收緩衝區 |
pause 秒數 |
暫停 N 秒(可被 Stop 中止) |
timeout = 秒數 |
設定 wait 逾時秒數;0=無限等待,N>0 超時會中止腳本並報錯 |
if … then / elseif … then / else / endif |
條件分支(可巢狀) |
while … / endwhile |
迴圈(可巢狀,可被 Stop 中止) |
名稱 = 值 |
變數指派;支援 + - * / 整數運算與字串;內建變數 result |
logopen '檔名' |
開啟 log 檔(覆寫) |
logwrite '文字' |
寫一行到 log |
logclose |
關閉 log(腳本結束自動關閉) |
messagebox '訊息' |
跳出對話框(會顯示在最上層) |
; 註解 |
行內註解(; 之後到行尾) |
:label |
標籤行(會被略過) |
條件運算子(if / elseif / while):>= <= > < == != =,或無運算子(非零為真)。
pductrl/pduconnect(SNMP PDU 控制)屬 Phase 7,目前尚未支援。