• Xray / V2Fly
  • 訂閱與路由
  • 系統代理 / TUN

v2rayN 設定指南從入門到進階

先讓一條連線正常運作,再逐步新增規則。本頁分成九個階段,適合安裝前先閱讀,也可在遇到特定設定問題時查找。只想完成首次連線,請先看快速入門教學;想了解各項設定之間的關係,再回到相關章節。安裝檔請依平台前往下載中心選擇。

選單名稱可能會隨介面更新而變動。操作時請優先確認設定用途、目前使用的核心與記錄檔,不要將範例連接埠、選單位置或設定片段視為所有版本都適用的固定值。

一、核心概念:先釐清連線路徑

用戶端、核心與伺服器各自負責什麼

先分清圖形介面與實際處理連線的程式。v2rayN 負責儲存伺服器資料、管理訂閱、選擇路由及啟動核心;核心則負責監聽本機連接埠、解析設定並建立連線。介面已開啟,不代表核心已成功執行。無法連線時,第一步應查看啟動記錄是否有錯誤,而不是反覆修改瀏覽器。設定語法錯誤、連接埠遭占用或缺少元件,都可能造成介面正常顯示,代理入口卻未建立。

Project V 是相關代理技術的生態背景,V2Fly 與 Xray 則是需要區分的核心家族。協定支援、設定欄位與功能實作會因核心而異,不能因名稱相近就認定行為完全相同。圖形用戶端通常會將介面選項轉換成核心設定;一般使用者不必先手動撰寫完整檔案,但應了解目前使用哪個核心。查閱說明時,請分別核對用戶端設定與核心參數,避免直接貼上另一種實作的欄位。

伺服器資料描述遠端連線入口,包括位址、連接埠、驗證資訊、協定與傳輸參數。用戶端本身不會提供這些資料,也不會在安裝完成後自動取得遠端服務。分享連結通常包含建立一條連線所需的欄位;訂閱網址則用來取得及更新一組連線資料。兩者都可能包含敏感資訊。將訂閱網址貼到公開討論區,等於公開連線入口;分享螢幕截圖前,也應遮住驗證識別資訊與完整連結。

由應用程式到出站:依方向理解流量

典型的連線路徑是:應用程式先連到本機代理入口,核心再依路由規則選擇出站,接著連線至遠端伺服器或直接存取目標。這裡的「入站」是指流量進入本機核心的方式;「出站」則是核心向外建立連線的方式。直連也是一種出站方式,不代表跳過所有處理。看到記錄中的本機來源位址,不要誤認為遠端伺服器位址;看到目標網域,也不代表它已由預期的解析器成功解析。

系統代理只會向遵循該設定的應用程式提供代理位置;TUN 則透過虛擬網路介面接管符合路由條件的流量。路由規則是在流量進入核心後決定連線方向,不能取代流量接管方式。如果某個應用程式完全不讀取系統代理,修改「繞過中國大陸」通常也無法讓它突然進入代理入口。排查時先確認「連線有沒有進入核心」,再確認「進入後選了哪個出站」;順序顛倒容易誤判。

協定、傳輸與加密不可混為一談

VMess、VLESS、Trojan 是連線協定名稱;TCP、WebSocket、gRPC 等描述傳輸方式;TLS 與相關安全設定則屬於另一層。匯入連線資料後,應核對這些欄位的組合,而不是只看協定名稱相同就認為可以互換。例如伺服器要求特定路徑或服務名稱時,用戶端缺少對應值,即使驗證資料正確也可能連線失敗。請勿憑經驗更換伺服器提供的傳輸參數。

網域名稱解析也是連線路徑的一環。應用程式可能先將網域解析成位址,也可能將網域交由代理端處理,實際方式取決於應用程式與代理協定。規則能否依網域比對,則與核心實際取得的資訊有關。單憑「網頁無法開啟」無法判斷問題出在解析、驗證還是路由。記下目標類型、應用程式的連線方式及記錄中的錯誤階段,後續才能逐項確認。

二、用戶端選型:依裝置與核心挑選

桌面裝置優先選用 v2rayN

桌面使用情境首推 v2rayN。先確認作業系統,再確認處理器架構,最後選擇相應的安裝版本。Windows 桌面版採用跨平台介面,經典 WPF 版則使用另一套桌面介面,兩者並非不同的代理協定。初次使用可依下載頁說明選擇其中一種;若已有穩定設定,則不必為了介面差異而遷移。排錯時同時安裝並執行兩種介面,反而可能造成監聽連接埠與系統代理設定衝突。

macOS 裝置需分清 Apple Silicon 與 Intel,不能只看電腦外觀判斷。可在系統的「關於這台 Mac」查看晶片資訊,再前往相應頁面下載。Linux 則需同時確認發行版的套件管理方式與處理器架構;使用 deb 或 rpm 取決於發行版,而非個人偏好。架構不符與缺少相依套件都屬於安裝問題,尚未進入連線階段,修改訂閱或伺服器參數通常無法解決。

挑選用戶端時,也要考慮應用程式是否只需要瀏覽器代理、是否需要接管不讀取系統代理的程式,以及裝置是否具備安裝虛擬網路介面的權限。先用最少功能滿足目前需求,再逐步啟用進階設定。不要將某個開關是否存在,直接等同於裝置一定能使用該功能;作業系統權限、核心支援與網路環境都會影響實際運作。

Android 優先選用 v2rayNG,視需求選擇 v2flyNG

Android 首選 v2rayNG,使用 Xray 核心;v2flyNG 使用 V2Fly 核心,適合明確需要該核心行為的情境。兩者都應以實際支援的協定與傳輸組合為準,不能假設匯入成功就一定能建立連線。多數較新的手機使用 arm64,但購買年份不是可靠的架構判斷依據。不確定時請查看裝置資訊與下載頁說明,再決定選擇架構版本或通用版本。

行動裝置會透過系統 VPN 介面授權建立本機接管通道。首次啟動連線時出現系統確認視窗,屬於正常的權限流程;若裝置上已有其他服務占用該介面,可能無法同時啟用。應用程式顯示已啟動,只能表示本機服務已進入執行狀態,不能證明遠端連線與目標存取都正常。仍需透過記錄、實際應用程式存取及分流結果完成驗證。

裝置情境選擇優先確認
Windows、macOS、Linux 桌面裝置v2rayN作業系統、架構與安裝版本
Android 一般使用v2rayNGXray 支援情況與系統授權
Android 指定核心需求v2flyNGV2Fly 支援的欄位與傳輸方式

遷移前先確認相容性限制

從一個用戶端遷移到另一個用戶端時,優先遷移訂閱網址或標準分享連結,不要直接複製整個程式目錄。介面設定、路由範本與本機資料庫格式未必通用。即使兩個用戶端都支援相同協定,對擴充參數的辨識範圍也可能不同。遷移後先選一筆已知可用的連線資料,維持傳輸參數不變,確認基本存取正常,再加回自訂規則與應用程式分流。

也要確認訂閱內容是通用分享連結集合,還是針對特定程式設計的完整設定。後者可能包含專用欄位、指令碼或範本,不能只修改副檔名就當成通用訂閱。遇到格式不支援時,先向資料提供者確認輸出格式,不要任意轉換。選型的重點不在功能數量,而在現有連線資料、裝置權限與維護方式能否搭配穩定運作。

完成本章後,應能明確列出裝置作業系統、處理器架構、用戶端名稱與使用的核心。將這些資訊留在個人排錯紀錄中,日後查閱文件時就不會混用不同平台的說明。想進一步比較三款用戶端的操作差異,可閱讀用戶端評測;安裝檔一律從下載中心取得,避免將介紹文章誤認為安裝檔清單。

三、安裝與初始化:先確認本機服務

依安裝版本完成首次啟動

下載前確認作業系統與架構,安裝後先以預設設定啟動。使用安裝程式時,依畫面指示選擇目錄並完成安裝;若下載的是壓縮檔,應先完整解壓縮至可寫入且固定的位置,再啟動主程式。不要直接從壓縮檔預覽視窗執行,也不要只抽出單一執行檔。核心、資源與設定檔可能位於相鄰目錄;缺少這些檔案時,介面雖能啟動,背景元件卻可能無法運作。

程式目錄應方便日後備份,避免放在暫存下載快取或經常自動清理的位置。若要在多部裝置間同步設定,不建議讓檔案同步工具同時改寫執行中的資料庫。系統提示目錄無法寫入時,先檢查目錄權限與安裝位置,不要直接停用所有安全功能。一般啟動時應使用一般使用者權限;只有明確涉及虛擬網路介面或受保護操作時,才依功能需求授權。

macOS 請依下載版本完成安裝,並在系統「隱私權與安全性」設定中確認可信來源提示;Linux 則使用相應發行版的套件安裝方式,遇到相依套件錯誤時先閱讀套件管理器訊息。不要將不同發行版的操作方式混用。首次開啟後,確認視窗能正常關閉並重新啟動,且設定可以儲存。這能提早發現唯讀目錄、安裝不完整或執行環境缺失,不必等匯入訂閱後才開始排查。

確認連接埠、核心與記錄

在 v2rayN 的設定與執行記錄中檢查本機監聽資訊。常見設定會使用 SOCKS 連接埠 10808、HTTP 連接埠 10809,但不同版本或既有設定可能改用其他連接埠,也可能使用混合入口。請以目前介面與啟動記錄為準,不要只照教學中的數字填寫。遠端伺服器連接埠來自連線資料,與本機監聽連接埠不是同一項;修改其中一個不會自動變更另一個。

若記錄顯示位址已被使用,先確認是否有另一個用戶端執行個體或同類本機服務正在運作。關閉重複執行的程式後重新啟動,或替目前執行個體設定不衝突的監聽連接埠,並同步修改應用程式代理設定。不要只把錯誤提示隱藏起來。監聽未成功時,即使瀏覽器正確指向本機也無法連線;此時更換伺服器沒有幫助,因為流量尚未離開本機代理入口。

保留最精簡的初始設定

首次設定時,先關閉 TUN、區域網路分享及不必要的自訂路由,只保留本機入口與一筆連線資料。這樣遇到問題時,變因會集中在核心啟動、驗證與遠端是否可連線。確認基本連線正常後,再逐項增加功能。若一開始就匯入大量規則、修改 DNS 並啟用多種接管方式,即使無法存取,也很難判斷是哪一層改變了實際路徑。

Android 安裝後先開啟應用程式完成初始化,匯入一筆連線資料,再啟動連線並確認系統授權。不要連續按下啟動按鈕來代替等待記錄更新。切換至其他應用程式後若連線中斷,可檢查系統背景執行與電池管理設定,但只調整確有需要的應用程式。背景限制、系統授權與遠端驗證分屬不同層次,排查時應分別記錄,不要一概稱為「節點失效」。

初始化完成的標準是:設定可以儲存、核心可以啟動、本機入口沒有連接埠衝突,而且知道記錄檔的位置。此時不要求所有應用程式都已接入代理。建議記下目前的監聽位址、連接埠與預設路由名稱,建立第一份基準設定。日後修改失敗時,先還原這份基準;若連基準設定都無法啟動,再檢查程式檔案與系統環境。常見啟動錯誤可參考常見問題繼續排查。

四、匯入訂閱:網址、更新與連線資料管理

先辨認輸入內容,再選擇匯入方式

先確認取得的是訂閱網址、單筆分享連結,還是完整設定。訂閱網址通常是用來取得內容的網路網址;分享連結會以相應協定前綴標示一筆連線資料;完整設定則包含入站、出站或路由等結構。不要把三種內容都貼到同一個編輯欄位。複製時留意前後空格、換行及聊天軟體附加的標點,特別是較長網址被分成多行時,表面上看似完整,實際上可能已遺失欄位。

在 v2rayN 管理訂閱時,進入「訂閱分組」,新增分組並填寫方便辨識的備註與訂閱網址,儲存後執行「更新全部訂閱」或更新相應分組。儲存網址與取得內容是兩個步驟。剛儲存後清單仍是空的,不能據此判定網址無效;應先確認是否確實執行更新,再查看記錄是否成功取得內容。不同來源分開建立分組,有助於區分更新範圍與保留方式。

單筆分享連結可使用「從剪貼簿匯入分享連結」;桌面介面支援時,也可使用 Ctrl+V。匯入後開啟編輯視窗,核對協定、位址、連接埠與傳輸方式。清單中出現資料名稱,不代表所有參數都已正確辨識。若連結包含額外傳輸選項,尤其要確認安全設定、伺服器名稱、路徑或服務名稱與原始資料一致,不要自行把空值填成常見範例。

更新失敗時,先區分取得內容與解析內容

訂閱更新主要分成兩個階段:先連線至訂閱網址,再解析傳回的內容。連線逾時、憑證錯誤與網域解析失敗都屬於取得階段;網址可以連線卻提示格式不支援,則屬於內容解析階段。登入頁面、到期提示或網頁內文都不是有效訂閱,即使伺服器回傳成功狀態,也不能直接匯入。若記錄只顯示簡短錯誤,可核對網址來源與有效期限,不要將完整網址傳給無關人士。

部分介面會區分直連更新與透過代理更新。只有目前已有可用代理時,透過代理更新才有意義。首次安裝時尚無可用連線,卻讓訂閱更新依賴該連線,會形成循環。應依資料提供者允許的方式取得內容,或先匯入一筆有效分享連結建立基本連線。切換更新方式後,一次只重試一個分組,避免多筆並行要求掩蓋真正的錯誤原因。

訂閱中的連線資料可能在更新後新增、刪除或改名;本機手動修改的內容也可能在下次更新時被覆寫。重要的自訂資料應分開管理,並確認用戶端是否提供保留或複製方式。不要長期直接修改由訂閱產生的項目來維護自己的參數。刪除分組前也要確認是否會一併刪除組內資料;清空清單不是修復更新失敗的必要步驟,先保留現有可用資料才能降低復原成本。

匯入後的驗證與隱私界線

Android 上的 v2rayNG 與 v2flyNG 同樣採用「管理訂閱網址,再更新內容」的流程,實際位置請依應用程式目前的選單為準。匯入後選取一筆資料,啟動連線並查看執行記錄。清單排序、測速結果與目前選取狀態是不同概念,排在第一筆不代表一定會使用。切換資料後,也要確認連線服務已套用新設定,必要時依介面提供的方式重新啟動連線。

驗證時先使用一筆來源明確、參數完整的資料,不要一次匯入多個來源再憑名稱猜測。連線失敗時應記錄錯誤階段,不要公開驗證內容。訂閱網址可能附帶存取權杖,分享連結可能包含身分識別資訊,匯出的設定檔也可能含有伺服器驗證欄位。備份檔同樣應視為敏感資料,不要因為只是文字檔,就放進公開分享目錄或未經確認的同步空間。

五、代理模式:確認應用程式如何進入核心

系統代理的三種操作,不代表三種路由

桌面端可先使用系統代理驗證基本連線。v2rayN 的「自動設定系統代理」會將本機代理入口寫入系統相關設定,供遵循該設定的應用程式使用;「清除系統代理」用來移除代理設定;「不變更系統代理」則保留目前的系統設定,不主動改寫。第三項不代表自動還原預設值,也不保證系統維持直連。切換前若已有其他程式設定代理,原有設定可能仍會保留。

系統代理與「全域」、「繞過中國大陸」等路由選項屬於不同層次。系統代理決定應用程式是否將流量送到本機入口;路由則決定流量進入核心後要選擇哪個出站。將路由設為全域,不代表所有應用程式都已被接管。遇到瀏覽器能用、另一個程式無法使用時,優先確認後者是否讀取系統代理,以及是否有獨立的網路設定;暫時不要修改協定或重新建立整份訂閱。

部分應用程式只會在啟動時讀取系統代理,因此修改後需要完全關閉再重新開啟。已建立的長連線也不一定會立即改用新路徑。驗證切換效果時,應關閉相關連線或重新啟動測試應用程式,再送出新的要求。不要根據舊分頁仍能顯示內容就判定連線正常,因為頁面可能來自快取;也不要將仍在運作的舊連線誤認為新設定已生效。

手動設定代理時,核對協定與監聽位址

若應用程式提供獨立的代理設定,可明確填入本機位址與實際監聽連接埠。應用程式與用戶端在同一台裝置上執行時,通常使用迴路位址 127.0.0.1。HTTP 代理與 SOCKS 代理的協定類型必須對應相應入口,不能因為都填同一個連接埠,就認為兩者相同。若目前核心提供混合入口,請依該入口支援的範圍設定;若分別監聽,則應填入各自的連接埠。

應用程式中的「遠端解析」或類似選項,會影響網域由本機還是代理鏈路處理。沒有這個選項,也不能據此推斷解析一定發生在某一端。若只有網域無法存取、使用位址時結果不同,應記錄應用程式協定與解析方式,再檢查 DNS。直接用某個網站的位址取代網域測試也有其限制:HTTPS 憑證與虛擬主機可能依賴網域,連線失敗不代表網路一定不通。

設定層級決定事項無法直接證明的事項
系統代理應用程式使用的代理入口所有處理程序都已接管
應用程式內代理該應用程式自身的連線方式其他應用程式也會生效
核心路由已進入核心的連線走向未進入核心的連線走向

驗證連線並正常結束

驗證時使用一般瀏覽器送出新要求,並查看同一時間的用戶端記錄。先確認有新的連線進入,再檢查是否出現驗證、傳輸交握或目標連線錯誤。瀏覽器擴充功能、自訂代理外掛與應用程式內的設定都可能覆蓋系統代理;測試期間只保留一種明確的入口方式。若記錄中完全沒有相應活動,通常應先檢查應用程式入口,而不是只認定遠端伺服器故障。

結束用戶端前,建議先清除由它設定的系統代理,再正常關閉程式。若程式異常結束,系統仍指向已停止的本機連接埠,遵循系統代理的應用程式就會持續連線失敗。要恢復設定,可重新開啟用戶端清除代理,也可在系統網路設定中檢查代理位址。不了解原有環境時,不要清除企業代理等設定;事先記下原值,才能在測試後正確還原。

Android 通常不使用桌面系統代理的三種選項,而是透過應用程式建立的 VPN 介面接管流量;應用程式分流與繞過設定也應在相應用戶端中檢查。完成本章後,應能說明測試應用程式使用的是系統代理、獨立代理還是虛擬介面入口。若仍不清楚,請先回頭檢查入口。只有確認入口後,下一章討論的規則順序與直連策略才有可驗證的基礎。

六、路由與 DNS:讓規則和解析方式一致

先選用內建方案,再新增例外

首次設定分流時,建議先使用用戶端內建的路由方案,再依實際目標新增少量規則。「繞過中國大陸」通常表示符合條件的網域或位址會直連,其餘連線則依方案選擇出站;但不同規則集與範本的實作方式不一定完全相同。選擇後查看規則說明與記錄結果,確認本機服務、大陸境內目標及其他目標的實際路徑。介面顯示方案名稱,只代表已選取範本,不能證明每個網域都已正確分類。

規則順序非常重要。對採用依序比對的規則清單,前面的符合項目會影響後續規則是否有機會生效;範圍較精確的例外通常應放在廣泛規則之前。新增規則時,也要確認比對條件與出站標籤:網域填寫正確但標籤不存在,仍然無法運作;標籤正確但規則被前面的廣泛條件攔截,也不會得到預期結果。一次只新增一個目標,儲存並套用後送出新連線,確認命中結果再擴大範圍。

以下是 Xray 風格的路由片段,示範如何完整比對一個保留作測試用途的網域。這不是可單獨啟動的完整檔案,必須已有名為 direct 的出站。full: 表示精確比對網域;domain: 則用來比對該網域及其子網域。不要將範例網域當成真實服務清單,也不要把路由物件貼入圖形介面的分享連結匯入欄位。

{
  "routing": {
    "domainStrategy": "AsIs",
    "rules": [
      {
        "type": "field",
        "domain": ["full:example.com"],
        "outboundTag": "direct"
      }
    ]
  }
}

DNS 會影響連線,也會影響規則判斷

設定 DNS 時,先釐清「哪些網域由誰解析」。本機網路可連線的解析器適合部分直連目標;其他目標可能需要透過指定路徑存取解析服務。關鍵不只是填入伺服器位址,也包括解析要求如何送達該伺服器。若解析器必須透過代理才能存取,而代理伺服器位址又要依賴同一解析器解析,就可能形成啟動依賴循環。應先確保伺服器位址能完成初始解析,再細分目標網域。

路由中的網域解析策略與 DNS 模組的查詢策略不是同一個參數。前者會影響路由判斷是否需要將網域解析成位址;後者則會影響查詢位址類型等行為。以下 DNS 片段只示範依網域指定伺服器與限制查詢類型的語法,不是適用所有網路的建議方案。使用前請確認解析伺服器可連線,並檢查完整設定中解析流量的出站路徑;不能只複製一段設定,就認定解析已被接管。

{
  "dns": {
    "servers": [
      {
        "address": "223.5.5.5",
        "domains": ["full:example.com"]
      }
    ],
    "queryStrategy": "UseIPv4"
  }
}

IPv6 需要另外檢查。應用程式可能優先使用 IPv6 位址;若代理或直連路徑只驗證過 IPv4,就可能間歇性失敗,或等待一段時間才連線成功。應分別確認系統位址、解析結果、出站能力與規則範圍,不要將停用某個位址家族當成通用的長期修復方式。暫時限制查詢類型有助於排查,但應記下原因並重新評估,以免掩蓋原本可以修復的網路或路由問題。

用明確目標驗證規則

選一個應該直連的目標,以及一個應該經過代理的目標,分別送出新要求並核對記錄。瀏覽器快取、既有連線與系統 DNS 快取可能保留舊結果,必要時重新開啟應用程式或等待相關快取失效。不要為了驗證一條規則就一次清除所有設定。若只有某個子網域異常,先確認精確比對與網域後綴比對範圍,不要直接將整個網域類別改走另一條路徑。

網域嗅探功能有時能補足應用程式只提供位址的情況,但它不是所有協定都能通用的辨識工具,也不保證能還原原始網域。涉及區域網路服務時,也應保留本機解析與私有位址的可連線性。規則越多,就越需要記錄來源、用途與優先順序。完整欄位說明請參閱DNS 分流與解析說明;本章先以少量可驗證規則建立基準。

七、TUN 模式:從應用程式代理到網路接管

先確認是否真的需要 TUN

當目標應用程式不讀取系統代理,或希望以統一的網路路徑處理更多連線時,再考慮使用 TUN。它透過虛擬網路介面與系統路由接管流量,不是提升遠端伺服器效能的加速開關。先確認一般本機代理模式能正常存取,再啟用 TUN,才能將故障範圍限縮在新增的權限、介面、路由與解析環節。若基本連線本來就失敗,開啟 TUN 通常只會增加排查變因。

v2rayN 中的「啟用 Tun」實際運作方式,可能取決於目前選用的核心元件與用戶端設定;不能直接將 Xray 的一般入站片段當成通用 TUN 設定。先在介面確認相關元件可用,再依提示授予權限。系統要求授權時,請確認要求來自目前使用的用戶端。啟動失敗時,先查看記錄中的介面建立、路由新增或權限錯誤,不要反覆安裝無關元件。

TUN 接管不代表所有協定都會自動正常運作。應用程式使用 UDP 的方式、伺服器端支援、網路路徑與目前核心的轉送能力,都可能影響結果。若網頁可開啟,但某類即時通訊失敗,應依該應用程式實際使用的協定繼續檢查,不要直接套用瀏覽器測試結果。記錄故障是否只發生在 UDP,或是否與特定目標有關,比只描述「開啟後不能用」更有助於排查。

避免路由迴圈與解析依賴

啟用前先關閉其他會修改預設路由或占用虛擬介面的服務,並記錄原本的網路狀態。TUN 必須確保代理程序連往遠端伺服器的連線仍能透過底層網路送出,否則可能將自身連線再次送回虛擬介面,造成路由迴圈。用戶端通常會處理相應的排除項目,但在多網卡、企業網路或手動靜態路由等複雜環境中,可能需要額外確認。沒有記錄佐證時,不要任意刪除系統路由。

DNS 是另一個常見的界線問題。TUN 可以接管網路流量,但系統、應用程式與核心可能各自維護解析快取;部分應用程式還會使用獨立的解析機制。應確認系統查詢會送往何處、核心如何處理,以及解析伺服器透過哪個出站存取。使用虛擬位址映射類功能時,更要確保相應位址範圍由正確介面承接;關閉後若仍殘留舊解析結果,可能需要重新建立應用程式連線並等待快取更新。

區域網路存取也要分開驗證。印表機、檔案分享與本機管理頁面通常使用私有位址或本地域名;若被範圍過廣的規則錯誤接管,可能造成外部網站正常、內部服務卻無法連線。先檢查私有網段與本機解析的處理方式,再決定是否新增排除項目。區域網路代理分享與 TUN 是兩種不同需求;啟用 TUN 不會自動將本機入口開放給其他裝置,也不應為了修復本機存取而直接開啟分享。

依序進行啟用與回復測試

實際測試可分成三個階段:先驗證瀏覽器的新連線,再驗證原本不讀取系統代理的應用程式,最後驗證區域網路服務與休眠後恢復情況。每個階段都要觀察同一時間的記錄與應用程式行為。若系統代理與 TUN 同時啟用,流量路徑會更難判讀;初次測試可在確認不會影響既有環境的前提下,暫時清除系統代理,只驗證 TUN 路徑,再決定日常使用方式。

若所有網路都無法連線,先關閉 TUN 並正常結束用戶端,再確認預設網路連線是否恢復。若仍有異常,檢查殘留的系統代理、虛擬介面與 DNS 設定,不要繼續疊加其他代理服務。休眠、切換網路與重新連接網卡都可能改變底層介面,恢復後應重新驗證。長期使用前,至少測試一次從有線切換到無線,或中斷後重新連線,確認功能並非只有首次啟動時有效。

八、日常維護:備份、更新與故障紀錄

保存可還原的設定狀態

連線、分流與應用程式接管都穩定後,先儲存一份設定基準。記錄用戶端名稱、使用的核心、本機連接埠、路由方案、DNS 變更與 TUN 狀態。匯出功能與設定目錄位置會因安裝版本而異,請優先使用用戶端提供的備份方式,並確認匯出內容包含哪些設定。只儲存訂閱網址無法還原本機規則;只留介面截圖也無法還原驗證參數,兩者都不能取代完整的復原計畫。

備份前應先確認用戶端已完成儲存,必要時先正常結束程式,避免複製到正在寫入的資料庫。檔名可註明用途與備份日期,但不要將訂閱權杖寫進檔名。還原測試也很重要:確認找得到匯入位置、了解覆寫範圍,並知道如何保留舊設定。未經驗證的備份只能證明檔案存在,不能保證重新安裝後能還原相同的運作方式。

訂閱網址、分享連結與匯出檔案都應妥善保管,視為敏感資料。提供排錯資訊時,保留錯誤類型與相關欄位名稱,遮住身分識別資訊、完整伺服器驗證資料與私人位址。記錄中也可能包含存取目標與訂閱要求內容,不要直接公開全部資訊。若需要他人協助判斷格式,只提供已處理過的結構片段,並說明哪些值已替換,不要散布真實連線資料。

分階段更新,不要同時改動所有變因

用戶端更新、核心更新、訂閱更新與規則資料更新是不同操作。介面更新可能改變選單與設定產生方式;核心更新可能改變欄位支援;訂閱更新主要則是變更遠端連線資料。環境穩定時應分開更新,更新前先備份,更新後重做基本測試。若一次全部更新,出現錯誤時就很難找出原因。沒有做好復原準備時,不要為了追求更新頻率而替換仍在執行的程式檔案。

更新用戶端前先正常結束程式,確認背景程序不再占用檔案,再依安裝版本進行操作。若有多個安裝目錄,請確認實際啟動的是哪一份,避免舊捷徑仍開啟舊設定。更新後首次啟動先查看記錄,再驗證系統代理、路由與 TUN,不要只確認介面能否開啟。若設定項目已移動,請閱讀介面說明並核對原有自訂值,不要將預設值變更誤認為遠端故障。

規則資源也會隨時間變動。網域分類或位址集合調整後,原本的比對結果可能改變;但單一目標異常時,不應立即將全部規則替換成來源不明的版本。先確認命中的規則,再判斷是分類變更、解析變化還是目標本身已遷移。不再需要的例外規則應定期清理,刪除前先記錄原因,避免規則越積越多,日後無人能說明其優先順序。

沿著連線路徑記錄問題,不要反覆重裝

排錯紀錄至少應包含發生時間、受影響的應用程式、目前入口方式、選取的連線資料、錯誤訊息與最近一次變更。先判斷是所有目標都失敗,還是只有特定目標失敗;是所有應用程式都受影響,還是只有單一應用程式。全面性故障優先檢查核心啟動、入口與基本網路;單一目標故障則多半要檢查網域、路由與目標服務。縮小問題範圍,比不斷切換連線資料更容易得到可重現的結論。

只有必要時才暫時提高記錄層級,完成排查後應恢復日常設定,避免大量輸出影響閱讀並長期累積敏感存取紀錄。驗證錯誤優先核對連線資料與系統時間;交握錯誤則檢查安全與傳輸參數;連線遭拒時核對位址、連接埠與服務可達性。逾時本身提供的資訊有限,需要依失敗階段判斷,不能只憑一個詞就認定問題出在伺服器或本機網路。

九、進階方向:讓設定成為可解釋的實驗

從閱讀產生的設定開始

進階設定不代表立刻放棄圖形介面。先觀察用戶端依目前設定產生了哪些入站、出站與規則,了解介面選項和設定內容的對應關係。產生的檔案往往會在下次套用設定時被覆寫,不適合直接當成長期編輯入口。需要自訂時,應使用用戶端明確支援的設定方式,並確認它是補充欄位、替換局部內容,還是接管整份設定。不同模式的覆蓋範圍各異,不能因為編輯欄位都能輸入文字就混用。

閱讀設定時可依固定順序進行:先看入站監聽的位址與連接埠,再看出站標籤與協定,最後檢查路由如何引用這些標籤。接著查看 DNS、記錄與其他輔助模組。先從一條實際連線的路徑開始,不必一次弄懂所有欄位。檔案中沒有出現某個參數,可能是採用核心預設行為,也可能由其他元件處理,不能直接認定功能未啟用。

以下是一份完整的 Xray 最小設定範例,可用來了解設定結構。它只提供本機 SOCKS 入口並直接出站,不包含遠端代理。此範例用於說明入站標籤、路由引用與出站之間的關係,不應取代目前使用的完整代理設定。實際執行前,請確認連接埠未被占用,並透過用戶端支援的自訂設定入口套用;執行後的存取仍會透過本機網路直接完成,這正是範例預期的行為。

{
  "log": {
    "loglevel": "warning"
  },
  "inbounds": [
    {
      "tag": "local-socks",
      "listen": "127.0.0.1",
      "port": 10808,
      "protocol": "socks",
      "settings": {
        "auth": "noauth",
        "udp": true
      }
    }
  ],
  "outbounds": [
    {
      "tag": "direct",
      "protocol": "freedom",
      "settings": {}
    }
  ],
  "routing": {
    "rules": [
      {
        "type": "field",
        "inboundTag": ["local-socks"],
        "outboundTag": "direct"
      }
    ]
  }
}

每次實驗只驗證一個問題

有效的實驗應具備明確問題、單一變更與可觀察的結果。例如要確認某個網域是否命中直連規則,就固定用戶端與連線資料,只調整一條網域規則,再觀察新連線選擇的出站。不要同時更換 DNS、啟用嗅探並修改傳輸方式。實驗失敗後先還原原值,確認基準設定仍可正常運作,再測試下一種可能性。如此累積的是因果關係,而不是一份碰巧能執行的複雜設定。

學習順序可依序從規則比對、網域解析、應用程式接管到區域網路分享。每一項都先在單一裝置的環境中驗證,再擴展到更多裝置。例如開放區域網路連線時,需要確認監聽位址、防火牆與用戶端所在網路,而不是只開啟一個選項。其他裝置應填入電腦在區域網路中的位址,不能填它們自己的迴路位址;電腦位址變更後,也要同步更新使用端的設定。

區域網路分享也涉及存取界線。只在可信任的網路中開放必要連接埠,避免將未受驗證保護的入口暴露於不可信任的網路。分享期間應保留防火牆限制,並確認休眠、斷線與位址變更後的行為。不需要分享時,請關閉相關設定。完整操作請接著閱讀允許區域網路連線說明,先了解監聽範圍,再決定是否長期啟用。

了解協定差異,並保留還原方式

學習協定時,應著重實際欄位與故障階段。VMess 與 VLESS 在驗證、時間要求及安全組合上有所差異,不能只更換協定名稱就完成轉換;傳輸、安全與伺服器參數必須整套相符。先看懂現有資料,再研究其他設定方式。想快速建立基本概念,可閱讀VMess 與 VLESS 的差異,再回到實際用戶端確認支援範圍,不要只憑名稱推斷所有功能。

最終目標是建立一份能說明、驗證並還原的設定:知道每條例外規則存在的原因、解析要求會經過哪裡、應用程式如何進入核心,以及關閉用戶端後系統應恢復成什麼狀態。遇到新需求時,先從現有基準增加最少的設定,驗證後再保留。首次連線步驟可回看快速入門教學;要重新選擇安裝版本時,請回到下載中心,不必為了解決單一問題重做所有階段。