V2Ray 訂閱格式差異:Base64 訂閱、原生 JSON 設定與分享連結互轉

認識 Base64 訂閱、完整 JSON 設定與 vmess://、vless:// 分享連結的結構,並了解如何在 v2rayN 和 v2rayNG 匯入、匯出及互相轉換。

本文重點

訂閱網址用來取得及更新節點,Base64 是編碼方式,分享連結描述單一節點,完整 JSON 則定義核心的運作方式。本文適合遇到「複製後卻無法匯入」或打算跨裝置移轉的使用者:先辨識內容格式,再選擇匯入入口,最後確認轉換時容易遺失的傳輸、TLS、路由與 DNS 設定。

先分清訂閱網址、回應本文與節點連結

「V2Ray 訂閱」不是單一的檔案副檔名。常見的訂閱網址是附有權杖的 HTTPS URL,客戶端向該網址發出請求後,才會取得一批節點。回應本文可能是逐行排列的分享連結,也可能是將這些連結整體以 Base64 編碼的文字。網址是取得資料的入口,本文才是要解析的資料,兩者不能混在一起貼上。

內容類型辨識方式通常包含內容匯入位置
訂閱網址HTTPS 網址,可能含存取權杖遠端更新入口訂閱群組設定
Base64 訂閱本文編碼文字,解碼後通常是多行協定連結一批節點參數訂閱解析流程;手動處理時先解碼
分享連結vmess://、vless://、trojan://單一節點及部分連線參數從剪貼簿匯入
完整核心 JSON包含 inbounds、outbounds 等欄位入站、出站,以及可選的路由與 DNS自訂設定入口

不要只因為內容「以大括號開頭」就判定它是完整設定。VMess 常見的一種分享格式,解碼後也是 JSON,但內容通常只有 add、port、id、net 等節點欄位,並不具備完整的核心設定結構。有些訂閱 API 回傳的則是管理平台專用 JSON,不能直接交由 Xray 執行。

三種格式怎麼選:更新用訂閱,單一節點用連結

訂閱網址與節點清單

推薦

適合日常使用,由服務提供者管理節點位址。客戶端保留訂閱網址後,就能重新取得節點;Base64 只是常見的回應編碼方式,不會影響協定功能。

適用情境:多裝置使用、節點位址可能變動、需要持續更新

單一分享連結

複製、掃描 QR Code 與臨時移轉都很方便。匯入後通常會成為本機節點紀錄,不會隨原服務提供者修改參數而自動同步。

適用情境:排查單一節點、臨時移轉、逐項比對參數

原生完整 JSON

可明確定義本機監聽埠、出站選擇與規則,但須符合目標核心及其版本。這是執行設定,不是通用的跨客戶端備份格式。

適用情境:自訂入站、複雜路由、保留特定核心設定

結論:先確認是否需要持續更新

若需要隨服務提供者更新,請在兩台裝置上分別儲存訂閱網址;只有在移轉單一節點時,才匯出分享連結。不要把一次匯出的節點清單,當成仍會自動更新的訂閱。

Base64 不具備保密功能。訂閱網址中的權杖,以及分享連結中的 UUID 或密碼,都應視為存取憑證。螢幕截圖、記錄檔與剪貼簿同步都可能洩漏這些資訊;排查問題時保留欄位名稱即可,不必把真實憑證交給線上轉換網站。

Base64 與分享連結:解碼後還要檢查欄位

常見的 Base64 訂閱會先以換行符號連接多條分享連結,再將整段文字編碼。這和 vmess:// 後面的 Base64 不屬於同一層:前者包住節點清單,後者則在一種常見的 VMess 分享慣例中,包住單一節點的 JSON。解開外層後,先檢查前綴,不要對全部內容一再解碼。

  1. 移除複製時混入的前後空白,並保留原始文字備份。
  2. 如果開頭已是協定前綴,就以連結方式解析,不必再整體解碼。
  3. 如果內容是編碼本文,解碼一次,確認是否得到逐行排列的協定連結。
  4. 如果解碼後得到 HTML 登入頁或錯誤訊息,請回到訂閱取得流程處理,不要繼續嘗試「修復編碼」。

以下是使用保留範例網域的 VLESS 連結,僅供說明欄位,並非可連線的節點。連接埠為 443,傳輸方式為 TCP,安全層為 TLS,片段部分則是顯示用備註。

vless://[email protected]:443?encryption=none&security=tls&type=tcp&sni=example.net#format-demo

其中 encryption=none 是 VLESS 協定相關參數,不代表停用 TLS;安全層由 security=tls 指定。若實際節點使用 WebSocket,也要保留 type=ws、路徑與 Host;若使用 REALITY,則要確認公鑰、短 ID、伺服器名稱與指紋等參數。參數能否正確辨識,取決於客戶端匯入器及所選核心。

v2rayN 與 v2rayNG 的匯入、匯出步驟

不同版本的選單文字可能略有差異,以下依常見入口名稱說明。操作前先確認取得的是訂閱網址、分享連結,還是完整設定檔,避免將遠端網址匯入一般伺服器清單。桌面版也要確認目前使用的核心;Android 版 v2rayNG 使用 Xray 核心,不能因此推論任何格式都能自動轉換。

操作方式:依資料類型選擇入口

桌面版:v2rayN
  • 訂閱網址:開啟「訂閱群組」→「訂閱群組設定」,新增群組並填入網址,儲存後執行「更新目前訂閱」。
  • 分享連結:複製完整連結,在主視窗選擇「從剪貼簿匯入批次 URL」,常見快速鍵為 Ctrl+V。
  • 匯出節點:選取一般節點,在右鍵選單中選擇分享或匯出 URL 至剪貼簿的功能,再檢查輸出前綴。
  • 完整 JSON:使用新增自訂設定伺服器的入口選取檔案,不要將檔案本文貼入訂閱網址欄位。
Android 版:v2rayNG
  • 訂閱網址:從選單進入「訂閱群組設定」,新增群組並儲存網址,再返回主畫面執行「更新訂閱」。
  • 分享連結:點選右上角「+」→「從剪貼簿匯入」;QR Code 則使用相應的掃描入口。
  • 匯出節點:在節點項目的分享功能中,選擇複製到剪貼簿或產生 QR Code;部分版本須先長按項目。
  • 完整 JSON:在「+」選單中選擇匯入設定檔的入口;自訂設定項目的分享功能與一般節點不同。

兩端可以使用相同的訂閱網址,但節點能否使用仍取決於各自的解析器、核心版本與網路環境。

匯入成功後,先編輯一個節點,核對位址、連接埠、UUID 或密碼,再確認傳輸與 TLS 設定。選取節點並啟動服務後,查看連線測試與核心記錄。匯入器能顯示節點名稱,只表示文字已成功辨識,不代表遠端驗證、憑證與傳輸參數都正確。

為什麼完整 JSON 不能直接轉成一條連結

分享連結主要描述「如何連線至某個出站」,完整設定則還會定義「本機接收哪些流量、如何解析網域,以及由哪個出站傳送」。一個 JSON 檔案可能包含多個出站,以及依網域分流的規則,無法用唯一一條連結完整表示。直接將 JSON 以 Base64 編碼,再加上 vmess:// 前綴,也不會變成合法的 VMess 分享連結。

以下是 Xray 格式的教學設定,會在本機 127.0.0.1:10808 監聽 SOCKS 連接埠。內容使用範例網域與範例 UUID,無法用於實際連線;用途是展示完整設定比節點連結多出的結構。這也不是 V2Ray 或其他核心通用的設定範本。

{
  "log": {
    "loglevel": "warning"
  },
  "inbounds": [
    {
      "tag": "local-socks",
      "listen": "127.0.0.1",
      "port": 10808,
      "protocol": "socks",
      "settings": {
        "auth": "noauth",
        "udp": true
      }
    }
  ],
  "outbounds": [
    {
      "tag": "proxy",
      "protocol": "vless",
      "settings": {
        "vnext": [
          {
            "address": "example.net",
            "port": 443,
            "users": [
              {
                "id": "c2a183e4-5f61-4b8b-91ea-7a820ae42f61",
                "encryption": "none"
              }
            ]
          }
        ]
      },
      "streamSettings": {
        "network": "tcp",
        "security": "tls",
        "tlsSettings": {
          "serverName": "example.net"
        }
      }
    },
    {
      "tag": "direct",
      "protocol": "freedom"
    }
  ],
  "routing": {
    "rules": [
      {
        "type": "field",
        "ip": ["geoip:private"],
        "outboundTag": "direct"
      }
    ]
  }
}

此範例的遠端連線欄位可對應到前面的 VLESS 連結,但本機 SOCKS 連接埠與私有位址直連規則不會包含在連結中。範例中的 geoip:private 也需要執行環境具備相應的規則資料。實際移轉完整設定時,須同時確認核心語法、所需資料檔案,以及連接埠是否已被占用。

轉換方向通常可保留需要另外處理
連結清單 → Base64 本文原始連結文字與排列順序編碼不會建立訂閱更新網址
分享連結 → 客戶端節點匯入器支援的協定與連線欄位未知參數可能會遭忽略
客戶端節點 → 分享連結目標連結格式能表示的參數本機路由、DNS、TUN 設定
完整 JSON → 分享連結可辨識的單一出站參數其他出站、入站、規則與核心擴充欄位

互轉失敗時,依症狀檢查,不要反覆更換格式

複製訂閱網址後,為什麼顯示沒有有效設定?

先確認是否誤用了「從剪貼簿匯入」。HTTPS 訂閱網址應填入「訂閱群組設定」的網址欄位,儲存後再更新。如果更新仍失敗,請檢查是否回傳登入頁、權杖過期提示或網路逾時;不要把網頁本文當成節點清單。

Base64 已經解碼,為什麼還有一段編碼?

先檢查前綴。如果解碼結果以 vmess:// 開頭,後面的編碼可能是單一節點 JSON,屬於正常結構;如果已得到 vless://,就依 URI 參數解析。不要對包含多條連結的整段文字再次盲目解碼。

匯入成功卻無法連線,是轉換工具漏掉了什麼?

比對來源資料,檢查遠端連接埠、TLS 伺服器名稱、WebSocket 路徑與 Host,以及 REALITY 所需參數。先停止服務再重新啟動,查看新一輪記錄。若提示本機連接埠已被占用,請檢查實際監聽的連接埠,例如設定中的 10808,不要因此修改遠端的 443。

換裝置後節點還在,分流規則為什麼不見了?

分享節點不會同步完整的應用程式設定。請先在原裝置分別記錄路由、DNS、系統代理或依應用程式設定的代理,再於目標裝置還原。若移轉的是完整 JSON,也要確認目標裝置使用相同類型且版本相容的核心,不能只看副檔名相同。

最後先做小規模驗證:移轉一個節點,確認欄位一致、服務能啟動且目標連線可建立,再批次處理其他項目。訂閱更新可能覆寫資料,請先備份手動修改過的節點;保留轉換前的原始檔,發現未知欄位遺失時才能還原。若要進一步設定路由與 DNS,請參閱本站的進階設定。

查看客戶端安裝檔