Skip to content
此頁面由 AI 翻譯,內容可能有疏漏。歡迎到 GitHub 協助改進。

Gately v0.6.6 發佈 ​

2026 年 11 月 12 日

下載 v0.6.6 · GitHub Release

這是一個以安全強化為主的版本,建議所有使用者升級。

安全修復 ​

  • 來源請求標頭偽造:此前只刪除訪客自帶的 X-Real-Ip 等完全同名的標頭,PHP、WSGI、CGI 一類後端會把 X_Forwarded_For、X_Real_IP 與正式標頭視為同一個變數,訪客可藉此向後端偽造用戶端位址或存取協定。現在訪客自帶的來源類、來源連接埠類請求標頭連同底線寫法的變體在轉發前一律刪除;轉發驗證的子請求同樣處理,並由 Gately 寫入 X-Original-URI,驗證服務依路徑放行時不會再被訪客自帶的值誤導。
  • 檔案服務登入限速:WebDAV、FTP、SMB 的密碼驗證此前沒有次數限制。現在同一來源 15 分鐘內失敗 10 次即拒絕至視窗結束(IPv6 以 /64 計算,成功登入不會清零),近期驗證通過的憑證不佔名額,SMB 的匿名試探不計入。
  • 還原備份:還原帳號檔案時改用新的工作階段金鑰,舊備份不會讓此後因「登出所有裝置」或登出而撤銷的權杖重新生效;解壓縮總量超過 128 MB 或檔案超過 256 個的備份會被拒絕。
  • 其他:nginx 設定匯入限制區塊巢狀深度(深度巢狀的設定會耗盡堆疊導致程序結束);超過 300 位元組的 Host 請求標頭直接回傳 400;登入失敗時寫入稽核與日誌的使用者名稱截斷為 64 個字元。
  • 相依套件:Go 1.26.11 標準函式庫安全修復,更新 golang.org/x/net、klauspost/compress、andybalholm/brotli,儲存掛載的 SMB 用戶端改用持續維護的 cloudsoda/go-smb2(GO-2026-5051)。

帳號與工作階段 ​

  • 伺服器端工作階段撤銷:登出時撤銷該權杖;「設定 → 帳號與安全 → 登入工作階段」新增「登出所有裝置」(POST /api/account/sessions/revoke),密碼、Passkey、第三方登入與飛牛閘道登入簽發的工作階段立即全部失效,API 權杖不受影響。
  • 對外請求限制(restrictOutbound,預設關閉):開啟後 Webhook、通知、IP 清單訂閱、DDNS 回呼、更新檢查、第三方登入等由管理員設定的對外請求會拒絕迴環、私有網路、連結本機(含 169.254.169.254)等位址,依解析後的 IP 在每次連線時檢查,重新導向與 DNS 重綁定同樣涵蓋;反向代理上游、網路喚醒、儲存掛載等面向內網的功能不受影響。
  • 慢速請求防護:管理連接埠依介面限制請求本體的讀取,一般介面須在 60 秒內傳完;備份還原、升級包與檔案上傳等大檔案介面不限總時長,但須持續傳送並保持每秒 4 KiB 以上的平均速率。

Web 服務 ​

  • 分路徑後端去掉前綴(#86):分路徑後端新增「轉發時去掉路徑前綴」,/api/zyqd/abc 發往後端時為 /abc,後端位址自帶的路徑接在前面,對應 nginx 的 proxy_pass http://後端/;;匯入 nginx 設定時自動轉換。
  • 訪客來源連接埠(#83):開啟「新增 X-Forwarded-*」後向後端傳送 X-Real-Port 與 X-Forwarded-For-Port;Gately 位於 CDN/反向代理之後時,可在全域設定中指定「真實連接埠請求標頭」。
  • 雙層 Gately(#81):外層只做 WAF、內層負責登入時,兩層填寫相同的驗證標記金鑰,外層站台開啟「信任後端驗證標記」,內層驗證過的訪客在外層同樣略過 WAF。

詳見 Web 服務 與 WAF。

備份與還原(#85) ​

還原設定新增「保留目前管理員帳號」:備份裡的帳號、API 權杖與管理介面的第三方登入設定保持目前值,備份可以不含 account.json,適合把另一台實例的設定遷移過來。詳見 設定 · 備份與還原。

問題修復 ​

  • 動態網域(#84):dynv6 記錄的主網域填成 dynv6.net、子網域填 xxxx 時,同步與刪除服務商記錄不再回傳 404,會自動比對到 xxxx.dynv6.net 區域。

效能 ​

  • 封鎖名單在大量封鎖時增刪不再重建網段清單;站台路由在精確網域未命中時只比較萬用網域;限流與驗證失敗記錄的過期清理改為每秒最多一次。
  • 站台基本驗證與 WebDAV 快取驗證通過的 bcrypt 結果 10 分鐘,每個請求的 CPU 開銷從約 85 毫秒降到微秒級。
  • 連接埠轉發在無法使用 splice 時重複使用緩衝區;即時連線清單只建構回傳的 500 列;來源類請求標頭清理不再配置記憶體。
  • 管理介面的站台統計、Docker 狀態與日誌、終端機工作階段清單在瀏覽器分頁隱藏時停止輪詢。

升級提示 ​

  • Docker 拉取新映像後重建容器;OpenWrt 覆蓋安裝新的 .apk / .ipk;飛牛在應用中心手動安裝新版 .fpk;其他部署方式可在「系統設定」中線上升級。
  • 升級後已登入的工作階段繼續有效;需要讓所有裝置重新登入時使用「登出所有裝置」。

以 Apache-2.0 授權條款開源發布。