Gately v0.6.2.2 發布
2026 年 11 月 1 日
Web 服務拓撲視圖(#54)
Web 服務頁首新增「列表 / 拓撲」切換。拓撲視圖依 網際網路 → Gately → 監聽 → 站點 / 監聽層級動作 → 後端 / 去向 排成五欄,每 2 秒重新整理:
- 節點顯示執行狀態、匹配方式、QPS 與進行中請求數,無法使用的後端與啟動失敗的監聽標紅,預設站點中斷連線、HTTPS 重新導向、未匹配站點的 404 等預期設定以灰色顯示;
- 連線粗細隨 QPS 變化,游標停在節點上或點擊節點時醒目顯示整條鏈路並標出 QPS 與流量;
- 詳情面板列出 QPS、60 秒平均、流量、進行中與累計請求、後端錯誤、依原因的攔截次數、狀態碼分布、近 60 秒曲線與經過該節點的活動 IP,每項指標附計算方式說明;
- 選擇一個活動 IP 後只醒目顯示它經過的鏈路,精確到具體後端;
- 遮蔽開關把 IP 末段與後端、監聽、重新導向目標和錯誤訊息中的位址顯示為
*,方便截圖分享。
數據全部來自本執行個體記憶體中的計數,介面為 GET /api/webservice/topology,唯讀帳號可以查看。站點統計同時新增依原因的攔截次數與各後端的請求數、流量,Prometheus 新增 gately_site_blocked_total、gately_upstream_requests_total、gately_upstream_response_bytes_total與 gately_listener_requests_total。詳見 Web 服務 · 拓撲視圖。
可信代理後的訪客真實 IP(#50)
Web 服務「全域設定」新增「訪客真實 IP」:填寫 CDN、WAF 等可信代理的回源位址或網段,並依順序選擇真實 IP 請求標頭(CF-Connecting-IP、X-Forwarded-For、X-Real-IP、True-Client-IP 或自訂)。只有直接對端屬於可信代理時才讀取這些標頭,訪客直接存取時自帶的標頭一律忽略;X-Forwarded-For 由右至左跳過可信代理。取得的位址用於存取日誌、IP 名單、僅內網存取、國家過濾、封鎖、統計與轉發給後端的標頭。使用 Cloudflare 時建議選 CF-Connecting-IP。詳見 Web 服務。
站點即時連線(#51)
站點列表的每個網域列顯示進行中的請求數,「連線」視窗每 2 秒重新整理:
- 即時列表顯示來源位址、協定(h1 / h2 / h3,WebSocket 單獨標記)、方法與路徑(不含查詢字串)、已持續時間與上下行流量,可依 IP 搜尋;
- 歷史記錄保留每個站點最近 200 筆持續 1 秒以上或被手動中斷的請求,只存在記憶體中;
- 可以中斷單一請求(HTTP/2、HTTP/3 只重設這個請求串流),或中斷並封鎖來源位址,同時中斷它在全部站點上的請求。自己目前使用的位址、回環位址與可信代理不能被封鎖。
來源 IP 存取控制(#49)
連接埠轉發、協定分流、STUN 內建轉發與 frps 實例都可以設定白名單或黑名單,名單由手動填寫的 IP / 網段和 Web 服務中的訂閱 IP 清單組成,訂閱清單重新整理後立即生效,無需重啟規則:
- 最先檢查入侵防護的封鎖,然後才是名單;
- 規則卡片顯示存取模式與拒絕次數,IP 清單頁面顯示哪些規則引用了它,被引用的清單無法刪除;
- frps 的名單在 frpc 登入時檢查,保護綁定連接埠;
- 從 Lucky 匯入連接埠轉發與 STUN 規則時,安全模式一併轉換為來源 IP 存取控制(需同時上傳
lucky_ipfilter.lkcf)。
詳見 連接埠轉發 與 Tailscale / frp / cloudflared。
站點連結(#52)
站點列表中的每個具體網域都可以點擊開啟,旁邊可複製帶協定與連接埠的完整位址;經由協定分流、連接埠對應、frp 或 CDN 存取時,可以在監聽中填寫對外的存取位址。frpc 的 http / https 代理、File Browser 存取位址、Cloudflare 臨時隧道位址與 Tailscale 登入連結也可以點擊和複製。網域儲存時統一為瀏覽器傳送的形式(小寫,國際化網域轉為 punycode),帶連接埠、路徑等永遠無法匹配的寫法會被拒絕。
動態網域
- 記錄備註(留空時使用任務備註)寫入阿里雲、Cloudflare、騰訊雲、DNSPod 與華為雲;
- 刪除記錄或任務時可勾選「同時從 DNS 服務商刪除解析」,14 個服務商支援。只刪除值與 Gately 最近一次同步結果相同的那筆解析;值未知、在控制台改過或記錄集中還有其他值時都不刪除,並說明原因;
- 模組開關移入「全域設定」,這裡也可設定刪除勾選框的預設值。
其他改進
- Docker 頁面可以直接升級 Gately 自身所在的容器:先拉取新映像,確有新版本時由臨時輔助容器完成重建,新容器啟動失敗時恢復舊容器;Web 終端機的本機 Shell 執行在 Gately 容器內時,會提示改用這裡升級;
- 手機上的 Web 終端機長按約半秒進入選取模式,可使用系統的選取控點與複製選單,自動換行拆開的長行複製時會還原;按鍵列新增貼上鍵,HTTP 存取時開啟貼上面板,可重新傳送本分頁最近複製或輸入的 10 筆文字;貼上多行且遠端程式沒有開啟括號貼上(bracketed paste)時先確認;
- 認證使用者頁面可以直接取消只靠共享使用者認證的站點,關閉這些站點的認證前會先確認;
- 協定分流修改規則時,協定、網域與 ALPN 不變的路由保留命中次數;
- 網路診斷測速每次請求 50 MB,修正 Cloudflare 回傳 HTTP 403,新增 Vultr、Hetzner、OVH 測速節點,任務標題只顯示目前工具的目標;
- 預設站點對名單外訪客中斷連線時,拒絕按 444 計入 Web 路徑探測(#53);
- 開啟安全入口時,iOS 加入主畫面的圖示不再顯示為字母佔位。
修正與強化
- Web 終端機貼上時去除控制字元,內嵌的括號貼上結束序列無法繞過多行確認;直接從系統剪貼簿讀到的內容不寫入剪貼簿記錄,登出或工作階段失效時清空記錄;
- 中斷請求與請求自然結束同時發生時,不再影響同一連線上的下一個請求;
- 升級 Gately 自身進行中時再次發起升級會被拒絕;升級輔助容器連同匿名卷一起刪除,同一 Docker 主機上的多個 Gately 只處理自己的輔助容器;
- 編輯動態網域任務時刪除記錄並勾選「同時從 DNS 服務商刪除解析」,會先校驗待儲存的設定,校驗失敗時不刪除服務商處的解析;騰訊雲同步時依主機記錄精確匹配;
- 修正熱更新站點時與進行中請求之間的資料競爭;後端位址在日誌、事件與監控指標中去掉使用者名稱、密碼與查詢字串;
- 離開頁面後連線與統計視窗停止輪詢;封鎖失敗時保留封鎖視窗;frp 子網域拒絕 IPv6 位址;從 Lucky 匯入黑名單模式的規則缺少名單時給出提示。
升級提示
- Docker 拉取新映像後重建容器,已掛載 Docker socket 的也可以在 Gately 的 Docker 頁面直接升級 Gately 自身;OpenWrt 覆蓋安裝新的
.apk/.ipk;飛牛在應用中心手動安裝新版.fpk;其他部署方式可在「系統設定」中線上升級。