TeaWeb是一個可視化的Web代理服務,目標是將代理服務、日誌、統計、監控等集成在同一個服務中,讓開發者簡單地啟動就可以使用。
本版本主要增加TCP代理功能、自定義日誌策略、提供一組HTTP API以及企業微信群機器人通知推送。
TCP代理截圖:
日誌策略截圖:
完整的變更列表:
-
代理
- 增加TCP代理,可以在線瀏覽客戶端連接列表,並支持TLS
- [log]增加日誌存儲策略,支持文件、命令、MySQL、ES、TCP等
- [websocket]自動識別websocket請求並轉發到後端,意味著不再需要單獨設置websocket也可以轉發
- [websocket]websocket支持自定義請求Header
- [websocket]修復websocket Origin為空時無法通過CheckOrigin認證的問題
- 路徑規則設置websocket后,自動添加Connection/Upgrade Header,這樣能夠對一些不規則的websocket請求做出處理
- 在使用匹配條件的地方添加內置變數列表,以便於用戶可以很方便看到能使用的變數
- [log]優化訪問日誌處理速度
- 使用io.CopyBuffer()代替io.Copy(),並使用byte slice池,以提升性能
- 代理與後端伺服器之間的連接空閑時間(idle)從不限制改成2分鐘,避免長時間有大量空閑連接
- [tls]ACME證書自動更新后,自動載入生效
- 重載服務時克隆運行時狀態,避免因為重載而導致後端伺服器狀態丟失
- 使用對象池改進內存使用
- 添加新代理時,自動提示當前伺服器的地址和已綁定的網路埠
- 添加後端伺服器地址時自動去掉http(s)://和後面的路徑
- [tunnel]修復沒有後端伺服器導致HTTP隧道不可用的問題,並增加客戶端密鑰以增加安全性
- [waf]可以定製Block動作的HTTP狀態碼、響應內容、URL或文件
-
監控
- 默認分組可以修改名字
- 對MongoDB中values.agent.xxx表增加appId_itemId_nodeId索引,以便在有集群的時候加快查詢速度
- 滑鼠移入時增加tooltip顯示當前的數據
-
通知
- 增加企業微信群機器人推送
- 企業微信通知增加Markdown支持
-
API
- 提供一組API供用戶操作TeaWeb,具體可以看這裡
-
開發者
- 提供一個擴展的示例,在code源碼的ext/目錄下
-
其他
- 提供Windows和Linux上的服務安裝和卸載程序(暫不支持systemd),Agent也同樣支持
- 優化http.Client{}的應用,使用連接池提升性能
- 一些界面微調,將左側菜單中的「主機」改成「監控」
- 使用使用teautils.Every()代理timers.Every(),防止Timer不能正確停止
- 修復多處文件描述符不能自動關閉的問題
- 重啟時強制關閉HTTP服務 ,避免重啟失敗
最近的一些更新:
- v0.1.5: 提供了一個免費HTTPS證書的申請工具、一個簡單易用的HTTP隧道功能。
- v0.1.4: 提供了一個簡易的集群管理
- v0.1.3: 增加WAF
二進位下載地址:http://teaos.cn/download
文檔地址:http://teaos.cn/doc
在線Demo:http://teaos.cn:7777/