Gately v0.6.5.2 發佈
2026 年 11 月 8 日
群暉 DSM 等核心沒有 nf_tables 的系統
群暉 DSM 的核心沒有啟用 nf_tables,此前入侵防護寫入防火牆規則會每分鐘失敗重試一次,自動放行防火牆也無法生效。這一版:
- 入侵防護在核心沒有 nf_tables、或系統沒有 nft 命令時改用 iptables(legacy)與 ipset。規則寫在 mangle 表中 Gately 自己的鏈裡,先於群暉防火牆和 Docker 的規則處理;手動封鎖、永久封鎖、誘餌連接埠與連接埠掃描偵測都在核心層生效,剩餘時間超過約 24 天的封鎖在到期前自動續寫;
- 連接埠轉發、Web 服務、協定分流的「自動放行防火牆」使用 Gately 專用的 iptables 鏈,跳轉放在 INPUT 第一位,群暉防火牆重新載入後 30 秒內恢復;Docker 部署與直接安裝都適用;
- Docker 映像內建 iptables-legacy 與 ipset,nftables 可用的系統行為不變;
- 兩者都不可用時,入侵防護顯示「不可用」並說明原因,不再定時重試。
Docker 部署需要 host 網路與 cap_add: NET_ADMIN。詳見 入侵防護。
Web 站點首段萬用字元
站點網域的第一段可以寫一個 *,例如 api-*.example.com 匹配 api-1.example.com、api-test.example.com,不匹配更深一層的子網域。匹配順序為精確網域、萬用字元、*:首段萬用字元優先於 *.example.com,長度相同的萬用字元以清單中靠前的站點為準。重新導向中可以用 {1} 取得 * 匹配的部分;憑證仍按 *.example.com 申請。詳見 Web 服務。
轉發認證:跟隨 401 跳轉
轉發認證新增「跟隨 401 跳轉」開關,適用於 Casdoor 等在 401 回應的 Location 中給出動態登入位址的認證服務。開啟且未填寫「登入跳轉」時,Gately 把訪客 302 跳轉到該位址,並傳遞 Set-Cookie 與 Cache-Control;相對位址、javascript: 等寫法保持原樣回傳 401。開關預設關閉。
問題修正
- 後端在讀完請求本文之前就回應時(例如在區域網路用 Home Assistant iOS 應用程式登入),HTTP/2 請求會導致 Gately 程序退出;
- 帶結尾點的網域(如
example.com.)與不帶點的寫法匹配同一個站點; - 診斷包按完整的詞替換主機名稱,不區分大小寫:主機名稱較短(如 gate)時不再把 gately 改成
<hostname>ly,nas-backup這類複合名稱中的主機名稱照常替換; - 網路拓撲的遮罩涵蓋首段萬用字元網域;複製站點的分享連結時使用第一個具體網域,略過所有萬用字元寫法。