一、關掉客戶端後,為何還像「掛在代理上」?
多數圖形化 Clash 客戶端在啟用「設為系統代理」時,會幫你改寫 Windows 使用者層的 HTTP/HTTPS 代理,指向如 127.0.0.1:7890 的本機埠。理論上,當你關閉客戶端或結束常駐程式,應一併關掉這些系統參考;實務上卻常見三種斷點:程式異常結束、手動刪除資料夾或解除安裝時沒有跑完還原流程、或權限/防毒軟體阻斷了寫回。結果是代理伺服器實體已不存在,但作業系統仍嘗試把流量送往該位址,瀏覽器便出現逾時、空白頁、或 ERR_PROXY_CONNECTION_FAILED 之類的提示。
這類問題和「節點掛了」「DNS 解析錯誤」不同步:後者多半在 Clash 仍執行時才討論,而本題的特徵是不論你有沒有再開啟客戶端,只要系統層沒還原,上網就壞得一致。也有讀者反映「Edge 正常、Chrome 不行」或相反,多與各瀏覽器讀取代理設定的路徑有關,但根本作法仍是把 Windows 系統代理清乾淨。若你同時用過 TUN 或虛擬介面,另請參考 TUN 與 Windows 路由、防火牆專文,與僅系統代理念疊的故障區隔。
HTTP(S)_PROXY(見第七節)。
二、系統、WinINet 與 WinHTTP 不是同一件事
在 Windows 上談「系統上網方式」,實務上常拆成兩層:大多數傳統桌面程式、以及沿用「網際網路內容」的元件,讀取的是 WinINet 相關設定(內建「Proxy」分頁可見的位址、連接埠、例外清單、PAC 網址等)。另一邊,部分系統服務、更新元件,以及某些企業內部工具,會讀 WinHTTP 的靜態代理。少數實況兩邊不同步,便會出現「圖形介面顯示關了,但某系統服務還是走舊的」。
與本題最相關的通常是 INet 使用者設定
圖形化 Clash 客戶端在開啟系統代理時,主要影響的是當前使用者可見的 HTTP/HTTPS 與 SOCKS 相關欄位(實作細節隨客戶端而異,但觀感上就是「關了程式,這裡還有 IP:Port」)。先從內建設定關掉,是風險最低的一步。
何時要想到 WinHTTP
若你已經在設定裡關閉、甚至清過登錄表,卻還有少數內建流程異常,才值得用後文的 netsh 顯示與重設。這條路需要系統管理員權限,執行前先確認沒有公司 IT 以群組原則強制指定代理,以免與內部政策衝突。
三、在 Windows 10/11「設定」內關閉系統代理
在較新版本的 Windows 上,建議從內建「設定」操作,較不會誤觸不熟悉的選項。步驟大致如下:開啟「設定」→「網路和網際網路」→「Proxy(或 代理)」。以下分兩段說明。
關掉「手動」代理
在「手動設定 Proxy」區段,把開關關閉,並確認下方不再顯示 127.0.0.1 與某個本機埠。若你曾經在這裡手動貼上過內容,關掉開關後仍建議看一次,避免殘值留在輸入框裡佔到下次誤觸啟用。
檢查「使用設定腳本(PAC)」
少數人會同時以 PAC 描述檔導向本機。若你見到「使用設定腳本」或類似敘述且指向本機位址,請一併關閉或清空,否則系統可能仍先嘗試解析腳本,再才到你預期的直連。完成後可重新開關飛行模式或斷接 Wi‑Fi 再連,讓新設定有機會下發到子系統(非必須,但實測有時能加速讓行為一致)。
若你習慣在客戶端內一鍵「還原系統代理」,在重新安裝或更新 Clash 前,也可先從舊版介面觸發一次還原,再解除安裝,可降低殘留。
四、從舊的「網際網路內容」與舊式控制台核對
歷史因素下,部分元件仍參考「網際網路內容」這個小視窗(常被誤稱為 IE 設定),路徑可在控制台搜尋「網際網路選項」開啟。在「連線」分頁內的「區域網路設定」中,可檢查是否仍勾選了「在您的區域網路使用 Proxy 伺服器」或自動設定。若 關閉客戶端後此處仍打勾並指向 127.0.0.1,就應取消勾選並儲存。
和前一節的內建「設定」理論上會同步,但實測有版本差與權限差;因此兩邊都檢查一次在排錯上非常划算。若你完全沒有企業內部網需求,卻在這裡看到指向內部網域的 PAC,也應釐清來源,避免誤刪了公司合規的設定;家用情境則多半只需要清到乾淨的直連狀態。
五、以登錄檔驗證 ProxyEnable 與位址欄位
願意多一步的使用者,可在登錄編輯程式中檢查(執行 regedit),路徑通常位於 HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings 之下。關注欄位包括:
ProxyEnable:為0代表不啟用;若為1而代理服務已停,就會產生典型上網失敗。ProxyServer:若仍寫成127.0.0.1:埠或你的舊內部格式,在確認圖形介面已關後,可一併清空或讓欄位不生效(依實測,有些機器先關圖形介面再開一次登錄表,欄位會自己清掉)。
在「同一個 Internet Settings 子樹」內有時可見與 自動設定 相關的鍵值(例如 AutoConfigURL 類敘述)。若裡面仍掛舊的 PAC 而你不打算再用,刪字串或讓圖形介面先關閉是較可逆的方式。此類改動有風險,建議在操作前匯出該子機碼備份。若你對登錄檔不熟,寧可先只做第三、四節的圖形介面處理,多數家用途徑就足夠還原。
六、以 netsh winhttp 顯示與重設
針對 WinHTTP 層,可開啟具系統管理員權限的命令提示字元或 Windows Terminal,執行 netsh winhttp show proxy 檢視目前靜態設定。若你預期應回復沒有企業靜態代理的直連,而輸出仍顯示了與本機舊 Clash 埠有關的內容,可再使用 netsh winhttp reset proxy 讓作業系統還原預設。此指令會一併清掉以手動寫在 WinHTTP 的設定,若你在公司專用機上執行,務必先確認 IT 政策。
實務上,家常常見流程是:已在前述步驟關好 INet 與圖形介面 → 仍少數內建元件異常 → 顯示與重設 WinHTTP 後,重新開機,再觀察瀏覽器與 Microsoft Store 類行為。若你同時有 自訂 YAML 與 TUN 相關 實驗,記得在測直連時暫關 TUN 模式,避免和「系統代理沒了但虛擬介面還在」的症狀混淆;後者可回到 TUN 專文對照檢查。
七、仍異常?環境變數、UWP 與 WSL2 補遺
使用者或系統的 HTTP(S)_PROXY 環境變數
少數開發者先前為了讓 git、npm 走本機,曾在「環境變數」內寫入 HTTP_PROXY 等。若變數仍指 127.0.0.1:已關閉的埠,則在終端機執行指令的程式會和瀏覽器不同步。可在「變更系統的環境變數」中逐項檢查、暫清後重開工作階段。若你同時有跨平台專文需求,可另讀 終端機與代理環境變數專文 作為交叉排錯(主軸是 macOS/Linux,但觀念可類推至 Windows 自訂變數)。
Microsoft Store 與 UWP
少數 UWP 在代理行為上與傳統 Win32 不盡相同;若大方向已切回直連、僅少數內建商店與內建 App 仍慢,可等待排程的商店更新、或釐清帳戶下載地區。若你懷疑仍與 DNS 有關,可同步閱讀 fake-ip 與 DNS 專文,與純系統層關掉代理的場景作區隔。
在 WSL2 內的連線
若你另在 WSL2 中工作,Windows 主機關了代理,但 WSL 內曾設靜態代理或 resolv.conf 策略,也會產生「一邊好一邊壞」的觀感。可搭配 WSL2 與本機 Clash 專文 核對。核心判斷仍是:WSL 內的錯常見於內部解析與轉送,不會取代本機瀏覽器整台失聯的主因,但若你同時開發兩邊,值得一起盤點。
| 你看到的狀況 | 優先比對的設定層 |
|---|---|
| 全機瀏覽器同時逾時、ERR_PROXY 類 | 內建 Proxy 分頁、舊式網際網路內容、ProxyEnable/ProxyServer |
| 僅內建服務、更新、少數系統工具異常 | netsh winhttp 顯示內容;公司群組原則 |
| 僅某終端與建置工具、瀏覽器正常 | 使用者/系統環境變數 HTTP(S)_PROXY、工具自帶的 proxy 設定 |
八、小結
「關掉 Clash 之後卻還 無法上網」在 Windows 上多半不是新聞,而是 系統代理與關聯的 WinHTTP/PAC/登錄檔敘述沒還原。依序在內建「設定」關閉手動與腳本、在舊式「網際網路內容」再核對一輪、必要時在備份子機碼下檢查 登錄檔、最後以 netsh 對齊 WinHTTP,大半恢復直連;若牽涉 TUN 或 WSL2,則以專文交叉排除即可。和 macOS 上「系統延伸與權限」導向的題材不同,本題是典型桌面關閉客戶端後的代理殘留,長尾搜尋上值得獨立成篇。
相較只提供固定幾條內建規則的工具,Clash 生態在規則、核心替換與圖形客戶端上較有彈性;若你之後要重新啟用客戶端,建議養成在結束前「關閉系統代理或一鍵還原」的習慣,能明顯減少同類遺留。
若你尚未安裝、或想從可稽核的管道取得安裝包,可自本站匯入訂閱與教學完成基本設定,再依需求決定是否使用系統層或 TUN。