chapter one
無法上網:先區分本地網路與代理故障
「開啟代理後所有網頁都無法存取」並不能直接代表節點失效。瀏覽器請求從應用程式到目標網站,至少會經過系統代理、本機監聽連接埠、用戶端路由、協定連線與 DNS 解析。任一層中斷,表面現象都可能相同。最有效的起點不是重新安裝,而是先確認關閉用戶端後網路是否恢復,再判斷問題位於代理鏈路還是基礎網路。
建立不經過代理的基準結果
先在用戶端中關閉系統代理或停止連線,完全退出設定了獨立代理的瀏覽器,再重新開啟一般網頁。若此時仍無法存取,優先處理 Wi-Fi、有線網路、路由器登入、網路驗證或上游連線問題。可暫時切換至另一個已知可用的網路進行交叉測試,但不要立即修改用戶端設定。若關閉代理後可正常存取、開啟後立即失敗,故障才屬於用戶端鏈路。
桌面版還要區分「關閉用戶端視窗」與「結束背景程序」。v2rayN 關閉主視窗後通常仍會在系統匣執行,系統代理也可能繼續指向本機連接埠。應從系統匣選單退出,接著檢查系統代理是否已恢復為關閉狀態。若瀏覽器曾設定獨立 HTTP 或 SOCKS 代理,也要暫時改回「使用系統設定」或關閉手動代理,以免舊連接埠繼續接管請求。
確認本機監聽連接埠確實存在
系統代理只負責將請求送至本機位址,例如 127.0.0.1 與某個監聽連接埠;真正接收請求的是用戶端核心。若核心未啟動或連接埠被其他程式占用,即使系統代理顯示已開啟也無法運作。v2rayN 中應先查看執行日誌,確認設定已載入且沒有「address already in use」這類連接埠占用提示。Windows 可在終端機中檢查常見本機連接埠是否處於監聽狀態:
netstat -ano | findstr LISTENING
netstat -ano | findstr 10808
第二個命令中的連接埠應替換為用戶端設定頁顯示的實際連接埠。若沒有任何輸出,表示目前連接埠沒有程序監聽;若輸出的程序識別碼不是正在執行的用戶端,可能存在連接埠衝突。此時可以退出占用程式,或在 v2rayN 中修改本機監聽連接埠,再同步更新瀏覽器手動代理、命令列環境變數及其他依賴舊連接埠的軟體。詳細定位方法可繼續閱讀本機連接埠衝突排查。
用最小設定排除路由規則干擾
確認監聽正常後,將路由模式暫時切換至全域,並選擇一個已確認可用的節點。全域模式能繞過自訂規則、網域分類與直連出口設定,適合判斷問題是否由分流造成。若全域模式可用而原模式不可用,應恢復原模式後逐條檢查規則順序,尤其是排在前面的 domain、geosite、geoip 與兜底規則。規則通常由上而下比對,過寬的直連規則會讓原本應進入代理出口的請求提前結束比對。
若全域模式仍不可用,再更換同一訂閱中的另一個節點。單一節點失敗而其他節點正常,表示本地代理鏈路大致完整,問題集中在節點參數或伺服器端狀態;所有節點都失敗,則繼續檢查系統時間、防火牆、協定參數與 DNS。不要把「延遲測試有數值」等同於網頁一定可存取,某些測試只驗證 TCP 建立連線,無法涵蓋完整協定握手、傳輸層與目標請求。
| 基準結果 | 優先檢查範圍 | 下一步 |
|---|---|---|
| 關閉代理仍無法上網 | 本地網路、路由器、網路驗證 | 先恢復基礎網路 |
| 開啟代理後全部失敗 | 監聽連接埠、核心啟動、系統代理 | 檢查日誌與連接埠 |
| 只有個別節點失敗 | 節點狀態、協定與傳輸參數 | 進入節點逾時章節 |
| 全域可用、分流失敗 | 路由規則順序與出口 | 縮減自訂規則 |
chapter two
節點逾時:依連線層次核對參數
節點逾時表示用戶端在規定時間內未取得預期回應,但逾時發生的位置可能不同:網域無法解析、目標連接埠無法建立 TCP 連線、TLS 握手失敗、協定身分參數不相符,都可能產生相近的錯誤提示。排查時應從不依賴節點設定的條件開始,逐步深入協定細節,避免在本地網路尚未確認前反覆編輯 UUID、路徑或傳輸方式。
先檢查系統時間與目標位址
系統時間偏差會影響 TLS 憑證有效期判斷,也可能破壞依賴時間視窗的驗證流程。Windows、macOS、Android 與 Linux 都應開啟自動設定日期、時間與時區,然後重新同步一次。若裝置長時間休眠、切換雙系統或主機板電池異常,更容易出現時間偏差。修正時間後應徹底停止核心並重新連線,既有連線不會自動重新完成所有握手。
接著核對節點位址。位址若是網域,先確認裝置能夠解析;若是 IP,則排除複製時多出的空格、連接埠分隔符號或協定前綴。節點位址欄通常只填寫主機名稱或 IP,不應將完整訂閱連結、網頁路徑或 https:// 一併填入。連接埠必須是訂閱提供的目標連接埠,不能將本機 SOCKS 或 HTTP 監聽連接埠填入伺服器連接埠欄位。
區分網路不通與協定握手失敗
桌面系統可使用系統工具觀察目標主機是否能建立 TCP 連線。Windows PowerShell 可執行以下命令,將主機與連接埠替換為節點設定中的值:
Test-NetConnection example.com -Port 443
Linux 或 macOS 可使用:
nc -vz example.com 443
命令只檢查目標連接埠,不驗證 VMess、VLESS、Trojan 或傳輸層設定。連接埠測試失敗時,通常應先檢查本地網路、目標位址、連接埠與伺服器端可達性;連接埠測試成功但用戶端握手失敗,則應轉向檢查協定參數。部分網路環境會限制診斷命令,因此單次失敗不是最終結論,最好使用另一個網路再次測試。
閱讀日誌時,請注意錯誤發生的階段。網域解析類錯誤通常包含 lookup、resolve 或 DNS 相關描述;connection refused 表示目標明確拒絕連線;timeout 表示請求未在時限內回應;certificate、handshake、TLS 類錯誤則多與網域、憑證名稱、系統時間或 TLS 參數有關。不要只擷取最後一行,前後十多行通常包含真正觸發失敗的位址與出口名稱。
逐項比對協定與傳輸欄位
手動輸入節點時,應分開核對協定層與傳輸層。VMess 常見關鍵項目包括位址、連接埠、使用者識別碼、加密或安全選項;VLESS 需要核對使用者識別碼、流控、加密項目與對應傳輸設定;Trojan 的重點是密碼、TLS 服務名稱與傳輸參數。WebSocket 還要核對路徑與 Host,gRPC 要核對服務名稱,REALITY 設定則需依訂閱提供的資訊核對服務名稱、公鑰、短識別碼與指紋。任何欄位看似接近但不完全一致,都可能造成握手失敗。
若節點來自訂閱,優先重新更新訂閱,而不是手動修補欄位。訂閱提供方調整傳輸參數後,舊節點名稱可能不變,但內部設定已不同。更新前先確認訂閱位址本身有效,更新後選擇新產生的節點並重新啟動核心。若所有節點同時逾時,依節點逾時排查順序檢查本地網路與系統時間;只有一個節點失敗時,保留其他節點作為對照,不要清空整個訂閱群組。
chapter three
訂閱失敗:判斷下載、解析還是覆寫問題
訂閱更新由三個連續步驟組成:用戶端請求訂閱位址、取得回應內容,再將回應解析為節點並寫入訂閱群組。介面只顯示「更新失敗」時,需要透過日誌與更新結果判斷失敗發生在哪一步。訂閱位址無法請求、回傳登入頁面、內容格式不受支援、群組篩選隱藏節點,最後都可能顯示為清單空白。
先確認訂閱位址完整且類型正確
複製訂閱連結時,應從提供訂閱的管理頁面完整複製,不要手動省略查詢參數。連結尾端的 token、參數或路徑通常用於識別訂閱,少一個字元就可能回傳錯誤頁面。貼到 v2rayN、v2rayNG 或 v2flyNG 後,檢查開頭與結尾是否混入中文引號、換行、空格或聊天軟體附加的標點。以 QR Code 匯入後,也應查看訂閱項目,而不只是確認掃描動作完成。
訂閱連結與單一節點分享連結的用途不同。訂閱連結用於定期擷取一組設定,單一節點連結通常以協定名稱開頭,只代表一筆設定。將單一節點連結放入訂閱管理時,用戶端可能提示格式錯誤;反過來,將訂閱位址當作單一節點匯入,也不會得到預期結果。多裝置移轉時可參考訂閱連結、設定匯出與 QR Code 移轉比較,依更新需求選擇方式。
透過回應現象定位請求階段
更新時觀察日誌中的 HTTP 狀態、重新導向、逾時或解析提示。連線逾時表示用戶端尚未取得回應,應檢查目前網路、訂閱網域解析與系統代理路徑;出現未授權或禁止存取時,通常需要重新取得有效訂閱位址;回傳成功但解析數量為零,則要懷疑回應內容不是用戶端支援的訂閱格式,或回傳的是網頁文字。訂閱位址可能具有有效期限或裝置規則,失效後應從原服務入口重新產生,不能靠修改本機節點參數修復。
若一般網路可以直接請求訂閱,應先關閉「透過代理更新訂閱」進行一次測試;若只有代理連線可用時才能取得訂閱,則選擇一個已可用的舊節點,再啟用代理更新。重點是避免循環依賴:目前沒有可用節點,卻要求訂閱更新必須經過代理,更新自然無法啟動。不同用戶端對此選項的名稱略有差異,應以訂閱設定與更新日誌為準。
更新成功但看不到節點
日誌顯示訂閱取得成功後,繼續檢查群組、篩選與覆寫行為。先切換到剛更新的訂閱群組,清除名稱篩選條件,再查看是否啟用了依關鍵字包含或排除節點的規則。篩選詞中的空格、正規表示式或大小寫差異,都可能將全部節點隱藏。若用戶端支援更新時刪除舊設定,更新結果為空也可能導致原清單被清空,因此調整訂閱設定前應先匯出目前可用的設定。
同一個訂閱重複新增會產生名稱相同但來源不同的群組,容易讓人一直在舊群組中尋找新節點。建議保留一個有效項目,為群組設定可識別來源的名稱,然後執行一次完整更新。訂閱內容變更後,目前選取的節點可能已不存在,需要從新清單重新選擇並啟動連線。只看到清單更新,不代表執行中的核心已切換到新設定。
若匯入後節點存在但全部逾時,應停止處理訂閱本身,轉到上一章核對網路與節點參數。若只有部分節點缺少,可對照用戶端支援的協定與傳輸類型。桌面版優先使用 v2rayN,Android 可使用 v2rayNG;需要 v2fly 核心生態時再選擇 v2flyNG。用戶端取得入口與適用平台以下載中心為準。
| 更新結果 | 可能階段 | 檢查重點 |
|---|---|---|
| 請求逾時 | 下載訂閱 | 網路、DNS、代理更新選項 |
| 回傳未授權 | 存取訂閱 | 連結有效性與完整參數 |
| 解析數量為零 | 解析內容 | 回應格式、網頁重新導向、用戶端支援 |
| 成功但清單為空 | 寫入與顯示 | 群組、篩選、覆寫設定 |
chapter four
速度慢:拆分本地頻寬、節點與路由影響
速度慢不能只用一次網頁開啟時間判斷。首次存取包含 DNS、TCP、TLS 與內容載入,瀏覽器快取、目標網站負載及本地無線訊號都會影響結果。排查時需要在相同裝置、相同網路與相近時間建立對照:關閉代理測試基礎網路,開啟代理測試多個節點,再比較全域與分流模式。只有控制變數,才能確認瓶頸在本地、節點還是規則。
建立可重複的對照測試
先停止大檔案同步、系統更新、雲端硬碟上傳及其他裝置上的高流量工作。關閉代理後,選擇固定測試目標,記錄下載、上傳與回應表現;接著開啟代理,以同一目標重複測試。每種狀態至少執行兩次,捨棄明顯異常的一次。測試期間不要同時切換 Wi-Fi 頻段、瀏覽器、節點與 DNS,否則結果無法比較。
無線網路應特別注意訊號品質與干擾。裝置靠近路由器後速度明顯恢復,表示代理並非主要瓶頸。電腦可改用有線網路作為對照,Android 可在 Wi-Fi 與行動網路間切換一次。切換行動網路後位址與路由都會改變,因此只能用來判斷目前 Wi-Fi 是否異常,不應直接將兩種網路的絕對速度視為節點品質差異。
正確理解延遲測試與實際吞吐量
延遲測試反映建立連線或完成特定請求所需的時間,不等於持續下載速度。低延遲節點可能頻寬有限,高延遲節點也可能在傳輸大檔案時保持穩定。實際連線測試有助於排除完全不可用的節點,但選擇節點仍應綜合考量目標存取、持續傳輸與穩定性。不要依單次排序頻繁切換,反覆重建連線本身也會增加等待時間。
選擇同一訂閱中的兩至三個節點進行測試。若所有節點都比基礎網路慢很多,請檢查用戶端是否啟用了額外的鏈式代理、過於複雜的路由或不合適的傳輸設定;只有某個節點較慢時,優先更換節點。若只在尖峰時段變慢而其他時間正常,通常屬於路徑或伺服器端負載變化,本地重新安裝用戶端無法改變上游容量。
檢查分流、並行與應用程式代理方式
全域模式下所有請求都經過代理,包括原本可直連的大檔案、系統更新與區域網路服務。這會增加節點負擔,也可能讓區域網路存取繞遠。切回略過區域網路或合理的分流模式後,確認本地位址、印表機、儲存裝置與常用直連網域進入正確出口。自訂規則應依具體到寬泛的順序排列,避免過寬的代理規則提前攔截全部流量。規則語法與優先順序可查看domain、ip 與 geosite 路由規則說明。
瀏覽器擴充功能、下載工具與開發環境可能不使用系統代理,而是設定獨立的 SOCKS 或 HTTP 連接埠。連接埠類型填錯時,有些請求會失敗重試,表現為速度緩慢。檢查應用程式設定中的協定類型是否與用戶端入站一致,不要將 SOCKS 代理誤填至 HTTP 代理欄位。命令列工具還可能讀取 HTTP_PROXY、HTTPS_PROXY 或 ALL_PROXY,舊環境變數會覆蓋目前系統設定。
若只有在啟用特定 DNS 模式後變慢,可能是解析伺服器回應緩慢、錯誤回退或網域被分配到不合適的出口。先恢復用戶端預設 DNS 設定並重新啟動核心,再觀察第一個請求與後續請求的差異。第一個請求較慢、重新整理後正常,通常較接近 DNS 或建立連線問題;持續傳輸速度偏低,則更接近鏈路頻寬、節點負載或本地網路品質。
chapter five
DNS 問題:從解析結果到路由出口逐層檢查
DNS 會將網域轉換為可連線的位址。出現「IP 可以存取、網域打不開」、「部分網域間歇性失敗」或「連線日誌提示 lookup error」時,應將 DNS 作為獨立環節排查。V2Ray 用戶端可能使用系統解析,也可能透過核心設定指定伺服器、查詢策略與出口。系統 DNS 與用戶端 DNS 同時被修改後,問題容易互相疊加。
先判斷是否確實是網域解析失敗
分別在關閉代理與開啟代理的狀態下查詢同一個故障網域,觀察是否能回傳位址。Windows 可使用:
nslookup example.com
Linux 或 macOS 可使用:
dig example.com
# 系統未提供 dig 時
nslookup example.com
查詢有結果不代表最終連線一定成功,但完全沒有結果、回傳伺服器失敗或長時間等待,表示解析鏈路值得繼續檢查。瀏覽器可能啟用自身的加密 DNS,與系統命令使用不同解析路徑,因此還要在瀏覽器設定中暫時恢復為系統預設,再做一次對照。若命令正常而只有一個瀏覽器失敗,優先處理瀏覽器快取、擴充功能與獨立 DNS 設定。
清除快取並恢復單一控制點
網域記錄變更後,系統、瀏覽器與用戶端都可能保留舊快取。Windows 可在系統管理員終端機執行:
ipconfig /flushdns
清除後應完全關閉瀏覽器,並重新啟動用戶端核心。Linux 的快取方式取決於系統服務,可先查看是否使用 systemd-resolved,再執行:
resolvectl status
sudo resolvectl flush-caches
不要在同一輪排查中同時修改路由器 DNS、系統 DNS、瀏覽器 DNS 與用戶端 DNS。建議先將瀏覽器恢復為跟隨系統,將用戶端 DNS 恢復預設,只保留系統這一個可觀察的設定。確認基礎解析正常後,再逐項啟用用戶端的遠端解析、網域策略或分流 DNS。如此即可明確判斷是哪一層引入異常。
核對查詢策略與出口關係
設定中的 domainStrategy 決定路由規則何時使用網域解析結果。AsIs 傾向保留網域參與比對;其他策略可能在需要時解析為 IP,再套用 IP 規則。它不是單純的「DNS 開關」,修改後會影響路由命中。若規則依賴 geoip,而網域始終未解析為 IP,對應規則可能無法如預期運作;若過早解析,也可能讓網域規則失去優先機會。
{
"routing": {
"domainStrategy": "AsIs",
"rules": [
{
"type": "field",
"ip": ["geoip:private"],
"outboundTag": "direct"
}
]
}
}
上例表示保留網域,並讓私有位址走直連出口。實際用戶端可能透過圖形介面產生完整設定,不應直接覆蓋由用戶端管理的設定檔。需要自訂時,先匯出目前設定作為參考,只修改相關欄位,並在重新啟動核心後查看產生的日誌。JSON 中逗號、引號或層級錯誤會導致整個設定載入失敗,而不是只讓 DNS 部分失效。
還要注意 DNS 查詢本身經由哪個出口。若指定的解析伺服器只能透過某條路徑存取,而 DNS 請求被錯誤送往另一個出口,就會出現「節點已連線但網域無法解析」的現象。先使用用戶端預設設定驗證,再依需求綁定 DNS 出口。區域網路網域、裝置名稱與內部服務通常依賴本地解析,全部交給遠端 DNS 後可能無法找到本地裝置,應為私有網域與私有位址保留直連路徑。
| 現象 | 常見原因 | 驗證方式 |
|---|---|---|
| 所有網域都失敗 | 系統 DNS 不可用或 DNS 出口錯誤 | 分別測試系統與用戶端狀態 |
| 只有瀏覽器失敗 | 瀏覽器獨立 DNS、快取或擴充功能 | 恢復系統 DNS 並停用擴充功能 |
| 區域網路名稱失效 | 本地查詢被送往遠端解析 | 為私有網域保留本地路徑 |
| 首次存取很慢 | 查詢逾時後回退 | 查看日誌中的解析耗時與錯誤 |
chapter six
系統代理未生效:檢查接管範圍與連接埠一致性
用戶端顯示「系統代理已開啟」,只表示作業系統的代理欄位已寫入,不代表所有應用程式都會遵循這些欄位。瀏覽器通常跟隨系統代理,但部分命令列工具、商店應用程式、遊戲與獨立網路程式可能忽略系統設定。排查時要先確認本地代理服務正常,再確認目標應用程式採用哪種代理機制,最後檢查系統代理位址與用戶端監聽連接埠是否一致。
驗證代理位址與監聽連接埠
在 v2rayN 設定中查看本地 HTTP、SOCKS 或混合入站連接埠,再開啟作業系統代理設定,確認位址為本機回環位址,連接埠與用戶端顯示一致。修改連接埠後,舊的系統代理值不一定會自動同步;若系統仍指向舊連接埠,請先關閉系統代理,再透過用戶端選單重新開啟。不要將伺服器連接埠填入系統代理,系統代理連線的是本機用戶端,不是遠端節點。
Windows 可使用 PowerShell 查看目前使用者的代理設定:
Get-ItemProperty "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" |
Select-Object ProxyEnable, ProxyServer, AutoConfigURL
ProxyEnable、ProxyServer 與自動設定位址可能同時存在。如果先前使用過代理指令碼,AutoConfigURL 仍可能影響應用程式行為。先記錄原值,再從系統設定中關閉不再使用的自動設定。不要直接刪除不了解的企業或組織原則;受管理裝置應先確認網路原則要求。
區分系統代理、TUN 與應用程式獨立代理
系統代理主要影響主動讀取作業系統代理設定的應用程式。TUN 模式透過虛擬網路介面接管更廣泛的流量,兩者不是同一個開關,也不應在故障不明時反覆同時切換。若瀏覽器可用但某個應用程式不可用,先查該應用程式是否支援系統代理;若應用程式提供 HTTP 或 SOCKS 設定,請依用戶端入站類型手動填寫本機位址與連接埠。若應用程式完全不支援代理,再評估是否需要 TUN,而不是將系統代理故障擴大成全域設定改造。
命令列工具通常有獨立設定。以暫時環境變數為例,HTTP 代理與 SOCKS 代理的格式不同:
# HTTP 代理範例
set HTTPS_PROXY=http://127.0.0.1:10809
# PowerShell 目前工作階段
$env:HTTPS_PROXY="http://127.0.0.1:10809"
連接埠僅為寫法範例,必須替換為用戶端實際的 HTTP 入站連接埠。環境變數只對目前工作階段或其子程序生效,永久變數也可能在用戶端退出後繼續存在。排查完成後應清除不再需要的變數,避免日後出現「系統代理已關閉但命令列仍經由舊連接埠」的現象。
處理代理殘留與區域網路例外
用戶端異常退出、系統更新或帳戶切換後,代理欄位可能仍被保留。典型現象是系統匣中已沒有用戶端,但瀏覽器仍提示代理伺服器拒絕連線。此時在系統設定中手動關閉代理,重新啟動用戶端,確認核心正在監聽後再開啟代理。若重新啟動用戶端後仍自動寫入錯誤連接埠,請檢查設定中的本地連接埠是否重複,以及是否有多個 v2rayN 執行個體同時執行。
區域網路存取異常時,檢查代理例外與路由規則。回環位址、私有網段及本地域名通常應直連。代理略過清單只影響遵循系統設定的應用程式,V2Ray 核心中的路由規則則決定已進入核心的請求從哪個出口離開,兩者層級不同。只修改其中一處未必能解決所有應用程式的問題。先用 IP 存取區域網路裝置,再用裝置名稱存取;IP 正常但名稱失敗時,應回到 DNS 章節處理本地解析。
當一個瀏覽器正常、另一個瀏覽器失敗時,比較兩者是否都使用系統代理。擴充功能可能強制固定代理、自動設定指令碼或直連模式。建立一個不載入擴充功能的暫時瀏覽器設定進行測試,比逐一猜測擴充功能更快。若所有遵循系統代理的應用程式都失敗,則回到連接埠監聽與核心日誌;若只有單一應用程式失敗,問題通常位於應用程式本身的設定。
chapter seven
用戶端當機:保留日誌並縮減執行條件
用戶端無法啟動、開啟後立即退出、匯入設定時卡住或執行一段時間後當機,需要先區分圖形介面與核心程序。介面退出不一定代表核心同時停止,核心報錯也不一定會導致介面當機。處理前應記錄故障動作、日誌路徑與系統環境,接著用最小設定啟動,再逐步恢復訂閱、路由與額外功能。
確認是介面退出還是核心失敗
先查看系統匣與工作管理員。v2rayN 主視窗關閉後可能繼續駐留系統匣;真正當機時,介面程序會消失,系統事件記錄中可能留下應用程式錯誤。若介面仍在但節點無法連線,應查看用戶端執行日誌,這更接近核心啟動或設定載入失敗。若介面完全無法顯示,則檢查應用程式日誌、系統事件、執行目錄權限與相依環境。
Windows 可開啟「事件檢視器」,在 Windows 日誌的應用程式部分依故障時間尋找對應記錄。Linux 桌面版可從終端機啟動應用程式,觀察標準輸出,並查看目前使用者的服務日誌。若設定了使用者層級的自動啟動,可執行:
systemctl --user status v2rayn
journalctl --user -u v2rayn --since today
服務名稱應以實際建立的單元為準。Linux 安裝與使用者層級自動啟動流程可參考v2rayN Linux 桌面版安裝教學。macOS 出現無法啟動時,應確認應用程式位於穩定目錄、目前帳戶可讀取設定目錄,並從系統日誌依啟動時間定位錯誤。
用空白設定驗證基礎啟動
操作設定檔前,先退出用戶端及相關核心程序,然後備份設定目錄。不要直接刪除唯一的設定。將現有設定目錄重新命名,讓用戶端產生一份新的預設設定;若空白設定可以啟動,表示程式本體可運作,故障多半來自舊設定、訂閱資料、路由規則或介面狀態。接著不要一次複製整個舊目錄,而應依訂閱、路由、自訂 DNS、介面設定的順序逐項恢復。
若匯入某筆設定後立即當機,可在備份中定位最近修改的訂閱或節點。異常過長的節點名稱、損壞的 JSON、錯誤的編碼與不完整的匯入內容,都可能觸發解析問題。手動編輯 JSON 時應使用支援 UTF-8 的文字編輯器,並先檢查基本語法。以下命令可在已安裝 Python 的桌面系統中驗證 JSON 是否能被解析:
python -m json.tool config.json
該命令只檢查 JSON 語法,不驗證 V2Ray 欄位是否符合用戶端要求。語法通過後,仍需根據日誌核對出站標籤、路由引用、DNS 伺服器與協定欄位。由用戶端自動產生的檔案可能在退出時被覆寫,因此不要在用戶端執行期間直接編輯。
檢查權限、占用與資源壓力
應用程式目錄或設定目錄不可寫入時,用戶端可能無法儲存設定、更新訂閱或展開執行檔。將應用程式放在目前使用者可正常讀寫的位置,避免直接在壓縮檔預覽中執行。企業裝置、受控目錄與同步磁碟可能附加權限或檔案鎖定,測試時可改用一般使用者目錄。不要長期以系統管理員權限掩蓋目錄問題;先確認實際需要寫入哪些檔案。
安全性軟體可能阻止新程序啟動、限制本地監聽或隔離執行檔。應在系統記錄中確認是否存在明確的攔截事件,再依組織原則處理。盲目關閉所有防護無法得到穩定結論,也可能掩蓋真正的連接埠或權限錯誤。若系統記錄沒有攔截,繼續查看連接埠占用、設定解析與相依錯誤。
節點與訂閱數量很大時,啟動解析、介面繪製與延遲測試會增加資源占用。先停用自動測試、清理重複訂閱並縮小篩選範圍;若只在批次測試時當機,應減少並行工作。執行一段時間後記憶體持續增加,可記錄觸發操作與資源變化,然後重新取得目前平台用戶端進行覆蓋安裝。覆蓋前保留設定備份,安裝後先以預設設定啟動,再匯入必要內容。
chapter eight
行動裝置專項:Android 背景、VPN 與網路切換
Android 上的 v2rayNG 與 v2flyNG 通常透過系統 VPN 介面接管應用程式流量。行動裝置故障除了節點與訂閱,還會受到省電策略、背景限制、永遠開啟 VPN、私人 DNS、Wi-Fi 與行動網路切換的影響。排查順序仍從基礎網路開始,但要額外確認系統是否允許用戶端持續在背景執行,以及目前 VPN 介面是否被其他應用程式占用。
確認系統 VPN 介面與基礎網路
先停止用戶端連線,確認瀏覽器在目前 Wi-Fi 或行動網路下可以正常存取一般網頁。接著啟動 v2rayNG 或 v2flyNG,接受系統 VPN 連線要求,並觀察狀態列是否出現 VPN 標誌。若系統提示已有 VPN 正在執行,應先關閉其他使用 VPN 介面的應用程式。同一個 Android 使用者空間通常只能維持一個主要 VPN 介面,多個應用程式無法同時接管。
連線按鈕顯示已啟動但狀態列沒有 VPN 標誌時,請檢查系統是否撤銷授權,或用戶端是否在建立介面時立即報錯。進入系統的 VPN 設定,查看「永遠開啟 VPN」與「封鎖未使用 VPN 的連線」等選項。若這些選項綁定了另一個應用程式,目前用戶端可能無法正常運作;若綁定目前用戶端但節點不可用,封鎖直連會表現為所有網路中斷。排查期間可暫時關閉強制選項,確認基本連線後再依需求恢復。
處理背景停止與鎖定螢幕斷線
若前景使用正常,鎖定螢幕數分鐘後斷線,應重點檢查電池最佳化與背景活動限制。將目前用戶端加入不受限制或允許背景執行的範圍,並允許必要的前景服務通知。不同裝置對背景策略的命名不同,但判斷方法一致:螢幕保持亮起時連線穩定,鎖定螢幕後程序消失或 VPN 標誌消失,表示系統回收程序比節點故障更可疑。
部分系統還會依應用程式限制背景資料。確認用戶端可以使用 Wi-Fi、行動數據與背景數據;若只在行動網路下失敗,請檢查是否關閉了該應用程式的行動數據權限。數據節省模式可能限制背景連線,測試時可暫時允許用戶端不受限制。調整後應從最近使用的工作中關閉用戶端並重新開啟,讓新的系統策略套用至新程序。
不建議同時開啟多個「自動啟動」、「背景保護」工具,反覆修改系統狀態。先只調整系統電池與數據權限,觀察一段時間。若問題消失,再逐步恢復其他限制。連線日誌中的 EOF、network changed 或介面關閉提示,配合 VPN 標誌消失的時間,有助於判斷是網路切換、系統回收還是遠端主動斷線。
排查私人 DNS、分應用程式代理與網路切換
Android 的私人 DNS 位於系統網路設定,與用戶端內部 DNS 並非同一層。出現網域無法解析時,可將私人 DNS 暫時設為自動,將用戶端 DNS 恢復預設,然後重新連線。若恢復正常,再單獨啟用其中一項。私人 DNS 主機名稱本身無法解析或無法連線時,系統可能在用戶端建立 VPN 前就出現網域問題。
分應用程式代理可指定哪些應用程式進入 VPN。若瀏覽器正常但目標應用程式無法連線,先確認目標應用程式在包含清單中,或沒有被排除。切換規則模式後,部分已建立的連線仍會沿用舊網路,需要完全關閉目標應用程式再重新開啟。系統元件、下載服務與應用程式主程序有時會使用不同程序完成請求,因此只勾選表面上的應用程式不一定能涵蓋全部流量;排查時可暫時改為所有應用程式進入 VPN,確認後再縮小範圍。
Wi-Fi 與行動網路切換會改變底層連線。切換後用戶端通常需要重建工作階段,短時間中斷屬於連線重建過程;若長時間無法恢復,可手動停止並重新啟動連線。只在某個 Wi-Fi 下失敗時,檢查該網路的驗證頁面、DNS 與路由;只在行動網路下失敗時,檢查用戶端數據權限、網路類型及目標位址可達性。不要將網路切換前後的測試結果混在一起比較。
| 行動裝置現象 | 優先檢查 | 處理方向 |
|---|---|---|
| 鎖定螢幕後斷線 | 電池最佳化、背景限制 | 允許背景與前景服務執行 |
| 無法建立 VPN | 其他 VPN 應用程式、系統授權 | 釋放介面並重新授權 |
| 僅部分應用程式失敗 | 分應用程式代理清單 | 暫時改為所有應用程式測試 |
| 切換網路後無法恢復 | 舊工作階段與底層網路變化 | 停止後重新建立連線 |
| 網域失敗但連線存在 | 私人 DNS 與用戶端 DNS | 恢復單一 DNS 控制點 |
如果完成本章後仍無法判斷,可在疑難解答中依問題分類尋找簡短答案。需要重新設定時,從快速上手教學重新完成訂閱匯入、節點選擇與連線驗證;不要在舊設定上連續疊加未經驗證的修改。