GeoIP、GeoSite 規則檔更新教學:v2rayN/v2rayNG 資料庫替換與引用方式

了解 geoip.dat、geosite.dat 的用途,以及 v2rayN、v2rayNG 的更新方式,並掌握 geosite:cn、geoip:private 等常用引用語法。

本文重點

適合已匯入節點,正在排查分流或 Geo 資源錯誤的使用者。先分辨網域資料庫與 IP 資料庫,再透過用戶端更新資源;手動替換時確認核心實際讀取的目錄,最後查看路由記錄,驗證引用標籤與規則順序。本文的 dat 檔案與 JSON 語法適用於 V2Ray/Xray 格式,不適用於其他格式的規則資料庫。

1. GeoIP 與 GeoSite 分別比對什麼

geoip.dat 儲存依標籤分類的 IP 位址範圍,geosite.dat 儲存依標籤分類的網域規則。這些是供核心查詢的二進位資源,不是節點清單,也不是訂閱網址。更新資源不會變更伺服器、連接埠或使用者憑證。

GeoIP:比對目標 IP

檔名
geoip.dat
規則欄位
ip
常見引用方式
geoip:cn、geoip:private
資料內容
IPv4、IPv6 位址範圍集合

地理分類表示資料來源中的目標 IP 位址範圍,不代表服務營運者所在地。

GeoSite:比對目標網域

檔名
geosite.dat
規則欄位
domain
常見引用方式
geosite:cn
資料內容
完整網域、網域後綴等規則

是否包含特定標籤,取決於所使用的資料庫,不會依標籤名稱自動產生。

geosite:cn 並不代表「所有解析到中國大陸 IP 的網域」。同樣地,geoip:cn 也不代表「所有中文網站」。網域可能使用境外 CDN,境外服務也可能設有中國大陸的連線節點。網域集合與 IP 集合應視為兩種獨立條件。

請求進入核心讀取目標資訊比對規則集合選擇出站標籤建立目標連線

資料庫只提供比對所需的集合,實際決定直連、代理或封鎖的是路由設定。即使資源更新成功,若目前的路由沒有引用對應集合,分流行為也不會改變。

2. 更新前先記錄核心、目錄與還原方式

v2rayN 是桌面用戶端,產生設定後會交由所選核心處理流量;v2rayNG 則使用 Xray 核心。請勿將用戶端安裝目錄、設定儲存目錄和核心資源目錄視為同一處。尤其在桌面端切換核心後,先前替換的檔案未必仍是目前程序讀取的檔案。

  1. 記錄目前環境:在用戶端的「關於」或版本資訊頁面記下用戶端版本,並從啟動記錄確認核心名稱與版本。保留原始錯誤訊息,避免只記下「無法連線」。
  2. 備份路由設定:儲存自訂規則及目前的 Geo 更新網址。若要手動替換檔案,也請備份原有的 geoip.dat 與 geosite.dat。
  3. 確認資源格式:本文使用 dat 格式。請勿將副檔名不同的規則集改名為 geosite.dat;檔名相同不代表內部格式相容。
  4. 控制變更範圍:先更新資源並完成驗證,再調整規則。請勿同時升級用戶端、替換核心、修改 DNS 和調整路由順序,否則難以找出變更來源。

3. v2rayN:優先使用更新功能,再考慮手動替換

在提供此功能的 v2rayN 桌面介面中,開啟頂端的「檢查更新」選單,選擇「更新 Geo 檔案」。不同版本或介面配置可能會調整選單位置或名稱,請以目前介面中的 Geo 更新項目為準。這項操作與「更新訂閱」不同;更新訂閱只會重新整理伺服器設定,不能取代規則資源更新。

  1. 確認更新網路可用:先使用現有設定連線至可用節點。如果更新功能提供直連或透過代理下載的選項,請依目前可連線的方式選擇;瀏覽器能下載,不代表用戶端的更新請求也會經由相同路徑。
  2. 執行 Geo 更新:查看用戶端記錄,確認資源已下載並儲存完成。逾時、連線中斷或寫入失敗都不算成功,請勿只憑選單關閉就判定更新完成。
  3. 重新載入核心:更新完成後,透過用戶端重新啟動目前的服務,或正常結束用戶端後再啟動,讓新檔案在下次載入設定時生效。
  4. 檢查啟動結果:確認沒有資源載入錯誤,再各測試一個直連規則與代理規則的目標。若新資料庫缺少原有規則使用的標籤,請先還原資料庫或修改對應規則。

手動替換時,先找出實際資源目錄

可攜式部署中看到的 bin 子目錄只能作為尋找線索,並非所有安裝方式都適用的固定位置。請先查看啟動記錄、核心啟動參數和用戶端目錄設定,確認實際使用的資源位置;若有多份同名檔案,請勿依檔案修改時間猜測。

判斷方式:先確認讀取路徑,再替換檔案

看到多份同名資料庫時,先從啟動資訊確認目前核心使用哪一份;請勿將檔案複製到所有目錄,以免下次切換核心時產生難以追查的設定差異。

4. v2rayNG:透過 Geo 資源功能更新

在 v2rayNG 主畫面開啟右上角的「⋮」選單,尋找「更新 Geo 資源」相關項目;部分版本可能顯示為「更新 Geo 資源檔案」。這裡更新的是 Xray 使用的本機資源,不是訂閱中的節點。如果目前版本沒有相應項目,請先確認版本及功能說明,勿在系統下載目錄中任意覆寫同名檔案。

  1. 保留原有路由設定:記下目前的路由模式、自訂規則與資源來源設定。更新時不應順便變更這些設定。
  2. 執行資源更新:確認更新網址可連線。如果版本支援自訂 Geo 資源網址,請填入會直接傳回對應二進位檔案的網址,不要填發布頁面或訂閱連結。
  3. 逐項確認結果:若介面分別顯示 GeoIP、GeoSite 的下載狀態,請分別確認。只成功更新其中一項,不代表另一項也已替換。
  4. 重新啟動連線:完成後先停止再啟動連線,檢查核心記錄,接著測試需要比對的網域與區域網路目標。

自訂資源來源應維持穩定。更換來源後,請先確認現有規則引用的 cn、private 等標籤是否存在。部分擴充分類只會出現在特定資料集中,不能因為其他教學曾經使用,就直接照抄填入。

5. geosite:cn 與 geoip:private 的引用方式

以下是 V2Ray/Xray 的 routing 欄位範例,並非完整的用戶端設定。範例假設現有出站已定義 direct 與 proxy 兩個標籤;若實際標籤不同,請一併調整。一般節點設定通常由用戶端產生,請勿將整段內容貼入訂閱網址欄位。

{
  "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"
      },
      {
        "type": "field",
        "network": "tcp,udp",
        "outboundTag": "proxy"
      }
    ]
  }
}

IPIfNonMatch 表示網域階段沒有比對結果時,再嘗試解析並進行 IP 比對。這不代表「先解析所有網域,再執行所有規則」。若使用 AsIs,只有網域而沒有目標 IP 的請求,不會因為設定了 geoip:cn 就自動以相同方式完成解析比對。DNS 回傳結果也會影響最終的 IP 分類,因此資源更新與 DNS 排查是兩回事。

私有 IPv4 位址範圍參考

排查區域網路直連問題時,可先參考以下三個 RFC 1918 位址範圍,判斷目標是否屬於私有 IPv4 網路。這些只是具體核對項目,並非 geoip:private 的全部內容;迴路位址、鏈路本地位址與 IPv6 範圍則須另外考量。

10.0.0.0/8
私有 IPv4 位址範圍
172.16.0.0/12
範圍至 172.31.255.255
192.168.0.0/16
常見的家用區域網路位址範圍

6. 更新後驗證與常見錯誤

驗證分為兩個階段:先確認檔案已成功載入,再確認請求符合預期規則。下載完成、核心成功啟動,以及網站可以開啟,是三種不同結果。單次成功開啟網頁,無法證明直連規則已生效。

  1. 查看啟動記錄:搜尋 geoip、geosite、failed 等關鍵字,排除檔案不存在、格式錯誤或分類不存在等問題。
  2. 查看實際出站:若記錄能顯示路由或連線紀錄,請確認測試請求使用的出站標籤。必要時可暫時提高記錄層級,排查完成後再恢復,以免長時間累積連線紀錄。
  3. 固定測試條件:使用相同節點、相同路由模式和相同目標,關閉舊連線後重新發出請求。既有連線不會因資料庫替換而立即重新選擇出站。
  4. 保留還原步驟:若新資源導致啟動失敗,請停止核心,還原原檔案或原資源來源,再重新啟動驗證。確認還原成功後,再逐項檢查新增標籤與資源格式。

提示找不到 geosite.dat,需要重新匯入訂閱嗎?

先檢查實際資源目錄、檔名和讀取權限,再透過用戶端更新 Geo 資源。訂閱通常只提供伺服器設定,重新匯入並不能補上核心缺少的資料庫。

出現 list not found,檔案不是已經下載了嗎?

這類訊息通常表示規則引用的分類不存在於目前資料庫中。請記下錯誤訊息中的標籤並確認資料來源;還原原資料來源,或將規則改為目前資料庫確實提供的分類。

資源更新逾時,但瀏覽器可以開啟下載網址?

確認用戶端的更新請求是否經由代理、代理連線是否已可用,以及更新網址傳回的是檔案而非網頁。若更新功能提供直連與代理兩種方式,請切換後重試,並以記錄中的結果為準。

更新後,中國大陸網站仍走代理,接下來該檢查什麼?

先確認目前路由引用了 geosite:cn 或 geoip:cn,再檢查是否有優先順序更高的代理規則先行符合。若應用程式只提供 IP,網域規則可能無法參與比對,須搭配目標資訊和解析策略一併檢查。

需要每天手動更新資料庫嗎?

沒有統一要求必須每日更新。可依資料來源的發布頻率安排維護,並在確認有分類遺漏時更新。每次更新都保留可還原的舊資源,比頻繁更換來源不明的資料庫更容易排查問題。

下載 v2rayN桌面與 Android 用戶端