本文適合已匯入節點、準備調整路由分流的使用者。先分清網域集合與 IP 網段集合,再確認規則庫來源、用戶端實際讀取位置及標籤名稱。依照桌面版或 Android 版的步驟完成更新後,透過啟動記錄與連線記錄確認結果;若出現標籤不存在或分流異常,請從檔案、設定、DNS 三個層面逐一排查。
一、GeoIP 與 GeoSite:比對對象不同
geoip.dat 儲存依標籤分類的 IP 網段,geosite.dat 儲存依標籤分類的網域規則。這兩者都是供核心讀取的二進位資料檔,不是訂閱連結,也不包含可用的代理伺服器。更新規則庫只會改變比對依據,不會自動更新節點位址、連接埠或驗證資訊。
geoip.dat
- 比對對象
- 目標 IP 與網段
- 設定欄位
ip- 常見引用方式
geoip:cn- 私有網路引用
geoip:private
IP 所屬分類不等於網站使用的語言、服務地區或實際連線品質。
geosite.dat
- 比對對象
- 目標網域
- 設定欄位
domain- 常見引用方式
geosite:cn- 資料內容
- 網域與對應的比對類型
網域分類由規則庫維護者定義,是否包含特定標籤取決於資料來源。
例如,geosite:cn 代表引用名為 cn 的網域集合,不是依網域後綴即時判斷所屬地區;geoip:cn 則引用對應的 IP 網段集合。使用境外 CDN 位址的網域,可能符合前者,但不符合後者。兩種規則必須分開設定,不能將 geosite:cn 放進 ip 陣列。
這個流程說明網域規則與位址規則之間的關係,不表示每次連線都會執行 DNS 解析。是否解析、何時解析,也取決於目標原本是網域還是 IP,以及 routing.domainStrategy。核心若只取得 IP,通常就沒有網域可供網域規則比對;嗅探可能補充部分連線資訊,但無法保證還原所有網域。
二、規則庫來源:先確認標籤,再選擇檔案
常見來源包括 V2Fly 的 domain-list-community 網域分類資料、V2Fly 的 geoip 資料專案,以及 Loyalsoldier 的 v2ray-rules-dat 等衍生規則集。前兩者分別整理網域分類與位址資料;衍生專案則可能重新組合清單、新增類別或調整收錄範圍。檔名相同,不代表內含標籤與分類定義完全一致。
- 確認發佈檔:需要的是用戶端與核心支援的
.dat成品檔案,不是原始碼目錄、網頁內容或壓縮檔本身。 - 確認標籤:設定中的每個
geosite:、geoip:引用,都必須能在對應來源的分類說明中找到。請勿直接套用其他格式規則集的標籤。 - 確認更新網址:檢查用戶端設定的是哪個發佈來源;若使用自訂下載網址,請確認取得的是檔案內容,而非要求登入的下載頁面。
- 保留回復依據:記下來源、下載日期與原始檔案大小,並備份舊檔。切換來源時,請將兩個檔案視為一組管理,避免標籤預期不一致。
建議:維持來源與標籤一致,再安排更新
現有路由能正確載入時,建議沿用已確認的來源。只有在需要新增分類或調整收錄範圍時才更換來源,並先逐一確認自訂路由使用的標籤。
三、v2rayN 更新:優先使用內建功能,手動替換須確認目錄
v2rayN 是設定管理用戶端,實際讀取規則庫的是所選用的核心。以下步驟適用於使用 V2Ray 或 Xray,且產生的設定會引用 Geo 資料的情況。不同發行版本的選單名稱與資料目錄可能不同,不能只因安裝目錄中有同名檔案,就認定那是目前核心讀取的檔案。
- 記錄目前環境:在用戶端確認目前使用的核心,並備份自訂路由與現有 Geo 檔案。先不要同時升級核心或變更 DNS,以免更新後難以判斷問題來源。
- 執行內建更新:開啟主視窗的「更新」選單,尋找 Geo 檔案更新項目,常見名稱為「更新 Geo 檔案」。若該版本將 GeoIP、GeoSite 分開列出,請分別執行;實際選單名稱以目前介面為準。
- 確認下載完成:在記錄或通知區確認兩個檔案都已成功下載。若逾時,請檢查下載網址是否可連線;若介面提供透過代理更新的選項,先建立可用連線,再啟用該選項重試。
- 重新載入核心:更新完成後重新啟動服務,或中斷連線後重新連線。接著查看啟動記錄,確認沒有資源讀取失敗或分類不存在的錯誤。
若無法使用內建更新,再考慮手動替換。先從用戶端記錄、執行設定及核心資源設定確認實際資源目錄;可攜式目錄、使用者資料目錄與核心程式目錄可能各不相同。若手動啟動核心,也應檢查是否設定了 V2RAY_LOCATION_ASSET 或 XRAY_LOCATION_ASSET 等資源路徑環境變數。
- 完全結束用戶端及其啟動的核心程序,將實際使用的
geoip.dat與geosite.dat複製到個別的備份目錄。 - 將下載好的兩個檔案放入已確認的資源目錄,並保留原始檔名。若系統隱藏副檔名,請注意不要變成
geoip.dat.dat。 - 確認目前使用者具有檔案讀取權限,再啟動用戶端。若仍出現舊標籤或資源錯誤,請重新確認讀取路徑,不要繼續將檔案盲目複製到多個目錄。
更新訂閱與更新 Geo 是兩種不同操作。「訂閱群組」中的更新主要處理伺服器設定,通常不能取代 Geo 資料更新。成功匯入訂閱,也不代表路由引用的分類已存在。
四、v2rayNG 更新:使用應用程式內建功能,勿直接覆寫私有目錄
v2rayNG 使用 Xray 核心,Geo 檔案通常存放在應用程式管理的資料空間中。Android 檔案管理員的「下載」目錄不是核心資源目錄;將檔案放在那裡,不會自動套用於路由。由於系統限制存取應用程式的私有目錄,不能直接照搬桌面版的檔案覆寫方式。
- 保存目前路由設定:開啟側邊欄的「路由」頁面,記下目前模式與自訂規則。若使用自訂設定,也請保存原始設定文字,以便發生問題時還原。
- 尋找資源更新功能:查看「路由」頁面右上角的選單,以及應用程式的設定選單,尋找 Geo 資源更新項目。不同版本可能顯示為「更新 Geo 資源檔案」,或將 GeoIP、GeoSite 更新項目分開列出,請以實際介面為準。
- 確認來源並下載:若可設定資源網址,請確認兩個網址分別對應所需檔案。先確認更新網址可以連線,並等待完成提示;只有明確提供匯入功能的版本,才使用本機檔案匯入。
- 重新連線並確認:停止目前連線後重新啟動,查看記錄中是否出現 Geo 檔案載入錯誤,再依照下方的規則驗證步驟檢查出站。
若目前版本找不到資源更新或匯入功能,請先查看該版本內建說明,必要時前往用戶端下載頁選擇合適的安裝檔。不要只為了替換兩個檔案就先清除應用程式資料;清除資料可能同時移除節點、群組與路由設定。更新期間也不必重建目前運作正常的 VMess 或 VLESS 節點。
五、路由設定:一併檢查標籤、出站與比對順序
以下是 V2Ray/Xray 的 routing 設定片段,用來說明 GeoSite 與 GeoIP 欄位的位置,並非可獨立啟動的完整設定。現有的 outbounds 必須已定義名為 direct 的直連出站。圖形化用戶端可能會產生不同的標籤名稱,貼上前務必確認,不要只根據顯示名稱推斷內部標籤。
{
"routing": {
"domainStrategy": "IPIfNonMatch",
"rules": [
{
"type": "field",
"ip": ["geoip:private"],
"outboundTag": "direct"
},
{
"type": "field",
"domain": ["geosite:cn"],
"outboundTag": "direct"
},
{
"type": "field",
"ip": ["geoip:cn"],
"outboundTag": "direct"
}
]
}
}
IPIfNonMatch 表示網域在目前比對過程中未符合規則時,依此策略嘗試解析 IP,再進行位址規則比對。這不等於「所有網域都會先解析」,也不會替你設定可用的 DNS。AsIs 不會為了路由主動將網域解析成 IP;IPOnDemand 則會在比對需要 IP 的規則時觸發相應解析,可能較早產生 DNS 查詢。
| 檢查項目 | 本例設定 | 容易忽略的條件 |
|---|---|---|
| 網域分類 | domain: geosite:cn | 實際 JSON 使用 domain 陣列,且資料來源包含 cn 分類 |
| 位址分類 | ip: geoip:cn | 目標必須是 IP,或路由策略已取得解析結果 |
| 直連出站 | outboundTag: direct | 現有 outbounds 中有完全相同名稱的標籤 |
| 未符合規則的流量 | 依現有設定而定 | 沒有預設規則時,通常會使用第一個出站 |
規則會依序比對,最先符合的規則決定出站。若要強制代理特定網域例外,應將其放在範圍較廣的直連分類之前;若把所有流量的預設規則放在開頭,後續 Geo 規則就不會生效。上例未規定其他流量必須代理,實際使用時還要檢查用戶端產生的最終出站順序與預設規則。
分開檢查 DNS 與路由。網域分類只能決定比對方向,無法修正已取得的錯誤解析結果。若網域規則命中正確,但連線目標不如預期,應繼續檢查 DNS 伺服器、解析時使用的出站與快取,而非反覆更換 dat 檔案。
六、更新驗證:從成功載入到實際命中
完成下載只是第一步。要可靠驗收,必須同時確認檔案可讀取、分類可載入,而且連線使用正確的出站。建議每次只調整一組變數:先更新檔案並重新啟動,再調整路由;不要同時切換節點、修改 DNS 和更換資料來源。
- 檢查啟動記錄:搜尋包含
geoip、geosite、failed或not found的記錄。若顯示載入某個分類失敗,請先確認標籤拼寫與資料來源,不要直接認定節點失效。 - 挑選測試樣本:從目前資料來源的分類清單中,選一個確認有收錄的網域,再選一個不應屬於該分類的網域。不要只憑網域後綴猜測是否屬於
cn。 - 建立新連線:關閉原頁面的長連線,或重新啟動測試應用程式,再存取測試樣本。已建立的連線不會因路由檔案變更而自動重新選擇出站。
- 比對連線記錄:若可查看核心的連線記錄,請確認目標位址與出站標籤。若用戶端未顯示規則命中編號,可一次只啟用一條測試規則來縮小範圍,完成後還原原本設定。
- 確認可以還原:若只有新檔案會導致啟動失敗,請停止服務並還原備份,重新啟動確認。還原後若仍有異常,應繼續檢查設定與 DNS,不要將所有問題都歸咎於規則庫更新。
連線記錄可能包含網域、目標位址等使用資訊。為了排查問題而暫時提高記錄詳細程度後,請恢復日常設定;將記錄提供給他人前,請刪除節點憑證、訂閱網址及個人瀏覽記錄。
七、常見問題:分類不存在、更新無效與分流錯誤
更新後顯示 geosite 分類不存在,應該重新下載嗎?
先查看錯誤訊息中的具體標籤,再對照目前資料來源的分類說明。檔案可讀取但標籤不存在時,通常需要改用該來源支援的標籤,或還原原本的資料來源。重複下載同一份資料不會自動增加分類。
兩個檔案都已替換,為什麼行為和更新前一樣?
先重新啟動核心,再確認實際讀取目錄。也要確認目前模式確實啟用了引用 Geo 的路由;若使用全域代理,或有更前面的預設規則,更新分類也不會改變這些連線的出站。
geosite:cn 已設定直連,為什麼部分中國大陸網站仍走代理?
確認連線使用的實際網域是否包含在目前的 cn 集合中,並檢查是否被前面的規則覆蓋。若應用程式直接連線至 IP,網域分類可能無法參與比對;此時應搭配位址規則及網域取得方式一起排查,不要直接將所有目標設為直連。
Geo 檔案需要每天手動更新嗎?
更新頻率應依分類變更需求決定。現有規則穩定時,可使用用戶端提供的更新機制定期維護;遇到新網域未收錄或位址分類變更時,再查看來源的發佈記錄。保留可還原的檔案,比頻繁更換來源更有助於排查問題。