Files
ETTerms/README.md
T
etwen 2bfb2c6575 feat: initial release v0.1.0
- 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)
2026-06-03 17:09:55 +08:00

2.0 KiB
Raw Blame History

ETTerms

原生 Windows 終端機工作台(C# .NET 8 WinForms),支援 SSHSerial 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 / pduconnectSNMP PDU 控制)屬 Phase 7,目前尚未支援。