v2rayN 核心啟動失敗排除:檢查設定檔語法錯誤與本機連接埠衝突

Claude Code 在國內連線失敗、回應很慢,或終端機請求逾時嗎?本篇以 v2rayN 示範如何設定終端機代理,檢查代理連接埠與環境變數,並依需求調整路由規則。也會整理常見故障排除方式與節點挑選方向,讓你更容易掌握命令列工具的連線設定。

Claude Code 在瀏覽器可以正常使用,但從終端機啟動後卻一直逾時,不一定是 v2rayN 節點故障。終端機程式通常不會自動沿用瀏覽器的代理設定;即使 v2rayN 已開啟系統代理,命令列工具仍可能直接連線。以下會先確認 v2rayN 的本機監聽,再用環境變數指定代理,最後檢查路由、終端機環境與錯誤類型。範例以 Windows PowerShell 為主,其他終端機需使用各自的環境變數語法。

本文重點

適合 Claude Code 在終端機中連線逾時、但瀏覽器代理正常的使用者。本文會示範如何核對 v2rayN 的 HTTP 或 SOCKS 監聽、在目前終端機工作階段設定代理環境變數,並用 curl.exe 驗證連線。範例連接埠僅供說明,請以 v2rayN 實際顯示的設定為準。

一、系統代理不等於終端機已使用代理

v2rayN 管理本機代理入口與遠端節點;Claude Code 則是由終端機啟動的命令列工具。瀏覽器可能讀取作業系統的代理設定,但終端機程式通常要透過自己的代理選項或環境變數取得代理位址。因此,瀏覽器能開啟網頁,只能說明瀏覽器的連線路徑可用,不能據此確認 Claude Code 也會走相同路徑。

啟動 Claude Code 讀取代理變數 連至本機入口 核心比對路由 連線遠端服務

排查時要分開確認兩件事:第一,Claude Code 是否把請求送到本機代理;第二,v2rayN 核心收到請求後,是否依目前路由交給預期的出站。若環境變數指向錯誤連接埠,請求連本機核心都到不了;若本機入口正常但規則選擇直連,則問題在路由或出站,而不是環境變數。

二、先核對 v2rayN 的本機代理入口

在 v2rayN 主視窗或相關設定中,確認目前使用的本機代理位址、連接埠與協定。常見安裝設定可能會使用 127.0.0.1:10808 作為 SOCKS 入口、127.0.0.1:10809 作為 HTTP 入口,但這不是每台電腦都相同的固定值。請查看自己的設定,不要只因範例中出現某個連接埠,就直接照抄。

HTTP 代理入口

範例位址
127.0.0.1
範例連接埠
10809
環境變數
HTTP_PROXY、HTTPS_PROXY
測試格式
http://127.0.0.1:10809

適用於 v2rayN 確實提供 HTTP 代理監聽的情況;請以實際設定替換連接埠。

SOCKS 代理入口

範例位址
127.0.0.1
範例連接埠
10808
測試格式
socks5h://127.0.0.1:10808
遠端解析
socks5h

只有在該入口支援 SOCKS5 時使用;socks5h 會將網域解析交由代理端處理。

環境變數的代理網址格式要與入口相符。若 v2rayN 提供的是 HTTP 代理,可先用 http:// 格式測試;若只有 SOCKS 入口,則應依 Claude Code 所使用的執行環境是否支援 SOCKS 環境變數來判斷。不同版本、執行方式及底層網路元件對代理變數的支援可能不同,因此建議先用 curl 驗證入口,再測試 Claude Code。

三、在終端機設定代理環境變數

先在 v2rayN 啟動核心並選取可用節點,再於同一個終端機視窗設定環境變數並啟動 Claude Code。以下 PowerShell 範例使用 HTTP 入口 127.0.0.1:10809;若你的設定不同,請替換連接埠,並確認該入口確實支援 HTTP 代理。

  1. 確認監聽設定

    在 v2rayN 的「設定」→「參數設定」或目前版本提供的本機監聽設定中,查看 HTTP 代理位址與連接埠。若介面將系統代理與本機監聽分開列出,請確認自己查看的是核心實際監聽的入口。

  2. 設定工作階段

    在 PowerShell 輸入下列命令。這些變數只套用於目前視窗及由它啟動的子程序,不會永久改動整個 Windows 的系統代理設定。

  3. 測試代理連線

    先用 curl.exe 對 HTTPS 網址發出請求,確認能連上本機入口並取得目標回應,再測試 Claude Code。使用 curl.exe 可避免 PowerShell 將 curl 解讀為其他命令別名。

  4. 啟動命令列工具

    在同一個 PowerShell 視窗執行 claude。若是從另一個終端機、IDE 工作階段或遠端環境啟動,需在那個實際執行 Claude Code 的環境中重新設定變數。

$env:HTTP_PROXY = "http://127.0.0.1:10809"
$env:HTTPS_PROXY = "http://127.0.0.1:10809"

curl.exe -v --proxy $env:HTTPS_PROXY --connect-timeout 5 --max-time 20 https://example.com/ -o NUL

claude

這裡的 HTTPS 代理網址仍以 http:// 開頭,因為它表示用戶端先透過 HTTP 代理入口建立通道,再連線至 HTTPS 目標,並不是將目標網站降級為 HTTP。若 curl 顯示無法連線至 127.0.0.1,先檢查 v2rayN 是否啟動及連接埠是否填對;若已連上本機但目標請求逾時,則應查看核心連線紀錄與路由結果。

macOS 或 Linux 的 Bash、Zsh 可在啟動 Claude Code 的同一個終端機視窗使用 export 設定,例如 export HTTPS_PROXY=http://127.0.0.1:10809。若使用 SOCKS 入口,工具可能接受 socks5h://127.0.0.1:10808,但實際支援取決於 Claude Code 執行環境;請先用對應的 curl 代理參數測試。不要將含有帳號或密碼的代理網址寫入共用設定或公開日誌。

四、用 curl 分辨入口、代理與目標服務

curl 測試的目的不是證明 Claude Code 的每項功能都正常,而是縮小問題範圍。使用與 Claude Code 相同的本機代理入口、相同終端機工作階段及一個 HTTPS 測試目標,觀察它是否能連上本機位址、是否收到代理回應,以及是否取得目標服務的 HTTP 回應。HTTP 狀態碼不是 200,也不必然表示代理失效;例如服務可能回傳重新導向、拒絕存取或其他有效狀態。

# 使用 HTTP 代理入口測試
curl.exe -v --noproxy "" --proxy http://127.0.0.1:10809 --connect-timeout 5 --max-time 20 https://example.com/ -o NUL

# 只有在該連接埠支援 SOCKS5 時才使用
curl.exe -v --noproxy "" --proxy socks5h://127.0.0.1:10808 --connect-timeout 5 --max-time 20 https://example.com/ -o NUL

--noproxy "" 用來避免這次 curl 測試受到略過代理清單影響。若輸出顯示連線遭拒,通常要先確認本機入口是否存在;若已連上入口但出現逾時,記下錯誤前後的時間與目標,檢查 v2rayN 核心日誌中是否有相符連線。完成測試後,若要避免後續命令繼續使用代理,可在 PowerShell 執行以下命令清除目前工作階段的變數:

Remove-Item Env:HTTP_PROXY -ErrorAction SilentlyContinue
Remove-Item Env:HTTPS_PROXY -ErrorAction SilentlyContinue

判斷重點:curl 成功後,再查 Claude Code 的執行環境

如果同一視窗中的 curl 能透過指定代理取得回應,但 Claude Code 仍逾時,先確認 Claude Code 是否由該視窗啟動、目前版本是否讀取相應的代理環境變數,以及是否有其他設定覆蓋代理。此時不必先更換 v2rayN 節點或重建訂閱。

五、檢查路由、略過規則與不同終端機環境

請求抵達 v2rayN 後,還要由核心依路由規則選擇出站。若目前模式或自訂規則將相關網域交給直連出站,即使 Claude Code 已連上本機代理,外部連線仍可能逾時。可在重現問題時查看核心的 access 與 error 記錄,確認請求目標、時間及出站標籤;不要只根據「代理已開啟」推斷流量一定經過代理節點。

若 Claude Code 是在 WSL、容器、SSH 工作階段或 IDE 內執行,127.0.0.1 通常指向該執行環境自己的迴圈位址,不一定是 Windows 上 v2rayN 所監聽的位置。此時先在相同環境內執行 curl,確認本機位址是否可達;若無法連線,需依該環境的網路模式確認主機端位址與監聽範圍。不要為了測試而將代理監聽無限制暴露到區域網路。

瀏覽器正常,為什麼 Claude Code 還是逾時?

瀏覽器可能讀取系統代理,終端機程式卻沒有。先在啟動 Claude Code 的同一個視窗設定 HTTP_PROXY 與 HTTPS_PROXY,再用 curl 測試相同入口。

連接埠應該填 10808 還是 10809?

不要只看範例數字。先在 v2rayN 查看實際監聽設定,確認該連接埠提供 HTTP 還是 SOCKS,再使用相符的代理網址格式。

curl 成功,但 Claude Code 仍無法連線?

確認兩者是在同一個終端機環境啟動,並檢查該版本對代理環境變數的支援、NO_PROXY 略過清單及其他代理設定。

可以把代理變數永久寫入系統嗎?

排查時建議先使用工作階段變數。確認設定可用後,再依個人需求選擇持續設定方式,並記錄如何還原,避免其他程式意外沿用本機代理。

六、依序排查,避免同時改動多個設定

終端機代理問題常被誤判為節點故障,但問題可能發生在環境變數、本機入口、路由、DNS 或目標服務等不同階段。一次只改一項,並保留測試結果,較容易找出真正差異。若 Claude Code 回報的是認證失敗或帳戶相關錯誤,應與網路逾時分開處理;代理只負責連線路徑,不會修正服務端的帳戶、權限或憑證問題。

  1. 確認 v2rayN 核心正在執行,並記下 HTTP 或 SOCKS 入口的位址與連接埠。
  2. 在啟動 Claude Code 的同一終端機設定代理變數,先以 curl 測試本機入口與 HTTPS 目標。
  3. 若入口可用但目標逾時,查看核心日誌、路由出站、DNS 與遠端節點連線。
  4. 若 curl 正常但 Claude Code 失敗,檢查執行環境、略過清單及程式版本對代理設定的支援。
  5. 完成測試後清除不再需要的工作階段變數,並遮蔽訂閱連結、UUID、權杖及私人伺服器資訊,再分享錯誤紀錄。

這套流程能把「終端機沒有使用代理」與「代理已接收請求但無法完成連線」分開處理。若需要重新確認用戶端安裝或平台選擇,可前往下載頁查看相關資訊;請先保留目前可用設定,再逐項進行調整。

v2rayN 下載平台與安裝套件選擇