先確認拿到的是訂閱網址、單一分享連結,還是核心執行設定,再選擇匯入方式。本文適合需要轉移節點或排查訂閱格式錯誤的使用者。讀完即可分辨 Base64 編碼與協定參數、在 v2rayN 匯入訂閱及匯出節點,並了解 JSON 轉成分享連結時,路由、DNS 與多個出站設定可能無法保留。
先分清楚:訂閱網址、分享連結與執行設定
先查看文字開頭,別急著改副檔名。以 https:// 開頭的網址可能是訂閱入口,也可能只是帳戶網頁;以 vmess:// 或 vless:// 開頭的內容通常是單一節點分享連結;以大括號開頭,並含有 inbounds 和 outbounds 的 JSON,則可能是核心執行設定。仍須根據內容判斷,不能只看檔名。
訂閱網址
推薦用戶端會向這個網址發出請求,取得服務提供者目前提供的節點清單。節點有異動時可再次更新,但回傳格式仍須與用戶端相容。
適合:長期使用,以及接收節點與參數更新。
單一節點分享連結
將伺服器位址、身分資訊與傳輸參數打包成一段文字。匯入後會成為獨立節點,不會因原提供者修改參數而自動更新。
適合:臨時測試、轉移少量節點及逐項核對參數。
原生 JSON 設定
直接描述核心的執行方式,可能包含監聽連接埠、DNS、路由與多個出站設定。必須確認使用的核心及設定語法。
適合:需要保留完整執行邏輯,或由維護者提供自訂設定。
這裡推薦訂閱網址,是考量需要持續更新的日常使用情境,並不代表訂閱比 JSON 更完整。訂閱通常用來分發節點,完整設定則描述執行方式,兩者用途不同。
Base64 訂閱:編碼的是節點清單,不是加密通道
常見的傳統 V2Ray 訂閱會先將多個分享連結逐行串接,再將整段文字做 Base64 編碼。解碼後可能看到一行 VMess、一行 VLESS,也可能全是同一種協定。Base64 只是將位元組轉成可列印字元的編碼方式,不會保護節點憑證,也不會改變連線使用的協定。
「訂閱回傳一長串字元」不代表內容已損毀。反過來說,「瀏覽器能開啟訂閱網址」也不代表格式正確:如果伺服器回傳的是登入頁面、到期通知或存取驗證頁面,用戶端同樣無法解析出節點。
- 先確認網址來源:從服務提供者的用戶端訂閱入口複製,不要複製瀏覽器網址列中的帳戶頁面網址。
- 再檢查回應內容:在本機查看回傳內容;若出現
<html或登入提示,請先確認帳戶與網址是否正確。 - 分清兩層編碼:傳統訂閱整體可能經過一層 Base64 編碼;其中傳統 VMess 分享連結的內容本身也可能再經過一層 Base64 編碼。
- 避免重複解碼:取得可讀的分享連結後就應停止。反覆處理容易破壞參數,或將正常文字誤判為亂碼。
VMess 與 VLESS 分享連結包含哪些資訊
傳統 VMess 分享格式常見的結構是 vmess:// 加上 Base64 編碼的 JSON,JSON 內會使用 add、port、id、net 等欄位。這裡的 JSON 是「分享資訊」,不是包含入站與路由的完整核心設定。分享內容中的 v 通常代表分享格式版本,並非 v2rayN 程式版本。
VLESS 分享連結通常採用 URI 格式:身分資訊放在位址前,傳輸與安全選項放在查詢參數中,備註則置於 # 之後。以下為教學範例,使用示範網域與 UUID,不提供實際連線服務。
vless://[email protected]:443?encryption=none&security=tls&type=ws&host=node.example.com&path=%2Fgateway&sni=node.example.com#format-demo
| 欄位 | 範例值 | 核對重點 |
|---|---|---|
| 伺服器與連接埠 | node.example.com:443 | 指向伺服器端的監聽位址;不是本機代理連接埠。 |
| encryption | none | 代表 VLESS 協定層的加密設定;本例另以 TLS 提供傳輸保護。 |
| security 與 sni | tls、node.example.com | 決定傳輸安全方式及 TLS 伺服器名稱,必須符合伺服器端的要求。 |
| type 與 path | ws、%2Fgateway | 選擇 WebSocket;解碼後的路徑為 /gateway。 |
| host | node.example.com | 本例中供 WebSocket 使用的 Host;並非所有部署都能直接照抄為伺服器位址。 |
不要只複製伺服器、連接埠與 UUID。遺漏 SNI、傳輸路徑或 Host 後,節點仍可能成功匯入,卻在交握階段失敗。REALITY 等設定還會用到公鑰、短識別碼等參數;必須依原始連結保留,並確認所選核心支援,不能只修改 security 的值就當成轉換完成。
在 v2rayN 依來源選擇匯入方式
先保留原始文字,再進行匯入。以下採用 v2rayN 中文介面常見的選單名稱;不同版本可能將指令放在頂端選單或右鍵選單中。若選項名稱略有不同,請依「訂閱群組」、「從剪貼簿批次匯入」及「自訂設定」這三種用途尋找,不要混用不同入口。
- 匯入訂閱網址:開啟「訂閱群組」→「訂閱群組設定」,新增群組、填寫備註與訂閱網址後儲存。接著在「訂閱群組」中執行「更新目前訂閱(不透過代理)」。若需透過既有可用代理連線至訂閱伺服器,再選擇「更新目前訂閱(透過代理)」。
- 匯入分享連結:複製完整的
vmess://或vless://文字,開啟「伺服器」→「從剪貼簿匯入批次 URL」。匯入多筆時,每筆各占一行,不要混入聊天時間、編號或說明文字。 - 匯入完整 JSON:先確認設定適用於 Xray 還是 V2Fly,再透過「伺服器」中的「新增自訂設定伺服器」選取設定檔,並確認核心類型。不要將完整 JSON 貼到訂閱網址欄位。
- 確認匯入結果:先核對清單中的節點數量,再開啟節點編輯視窗,檢查位址、連接埠、傳輸與安全參數;選取一個節點設為作用中伺服器,並查看記錄是否出現設定解析或交握錯誤。
分享連結、Base64 與 JSON 的轉換限制
先確認需要保留哪些資訊。將節點清單轉成 Base64,通常只是改變文字的包裝方式;將完整 JSON 轉成單一分享連結,則是把整套執行方案縮減為一個節點。這兩種轉換不能混為一談。
| 轉換方向 | 操作方式 | 可能遺失的資訊 |
|---|---|---|
| 分享連結 → Base64 清單 | 將完整連結逐行串接,再對 UTF-8 文字進行 Base64 編碼。 | 編碼本身不應遺漏欄位,但不會自動建立可更新的訂閱服務。 |
| Base64 清單 → 分享連結 | 在本機解碼外層內容,並保留每一行的協定前綴與參數。 | 手動換行、截斷或替換字元都可能破壞連結。 |
| 分享連結 → 核心 JSON | 交由用戶端解析,再搭配本機入站、DNS 與路由產生執行設定。 | 產生結果會受用戶端設定影響,並非固定不變。 |
| 核心 JSON → 分享連結 | 挑選可用分享格式表示的單一代理出站,並轉換成對應格式。 | 監聽、DNS、路由及多個出站之間的關聯等資訊通常無法完整保留。 |
從 v2rayN 匯出節點以供轉移
在伺服器清單中選取目標節點,開啟右鍵選單,透過「分享伺服器」中的「將分享 URL 複製到剪貼簿」匯出;部分版本會將分享指令直接放在右鍵選單中。批次分享後,先在本機文字編輯器檢查行數,再匯入目標裝置。自訂設定節點不一定能匯出為標準分享連結。
- 先測試一筆再批次處理:先匯出一筆,重新匯入測試群組,比對傳輸類型、SNI、路徑與備註。
- 分清節點與訂閱的關係:匯入分享連結通常會建立獨立節點,不會一併移轉原訂閱網址與更新排程。
- 不要直接修改協定前綴:將
vmess://改成vless://並不能完成協定轉換;伺服器端也必須提供相應協定與身分設定。
為什麼不能將任意 JSON 直接編碼成 vmess://
因為「都使用 JSON」不代表欄位結構相同。以下是 Xray 設定中的出站片段,不是可完整執行的設定,也不是傳統 VMess 分享內容。即使將它編碼成 Base64 再加上協定前綴,用戶端也不會因此取得正確的分享欄位。
{
"outbounds": [
{
"tag": "proxy",
"protocol": "vless",
"settings": {
"vnext": [
{
"address": "node.example.com",
"port": 443,
"users": [
{
"id": "b85a420b-f879-44e5-88eb-7ddc1d26908e",
"encryption": "none"
}
]
}
]
},
"streamSettings": {
"network": "ws",
"security": "tls",
"tlsSettings": {
"serverName": "node.example.com"
},
"wsSettings": {
"path": "/gateway",
"headers": {
"Host": "node.example.com"
}
}
}
}
]
}
桌面與 Android 轉移:沿用來源,分別確認支援能力
若要在多部裝置上使用,建議先保存服務提供者提供的原始訂閱網址,再分別匯入。v2rayN 是桌面用戶端;Android 版 v2rayNG 使用 Xray 核心,v2flyNG 使用 V2Fly 核心。訂閱可以解析,與其中每個節點都受目前使用的核心支援,是兩項不同的條件。
轉移方式:一般節點與自訂設定分開處理
一般訂閱與分享節點
- 在目標裝置重新加入原始訂閱網址。
- 只需轉移少量節點時,匯出完整分享連結。
- 分別設定系統代理、依應用程式分流或路由。
完整 JSON 與自訂路由
- 先確認目標用戶端支援的設定匯入方式。
- 檢查核心類型、檔案路徑與監聽連接埠。
- 若使用 VLESS、REALITY 等功能,請逐項確認核心是否支援。
共用訂閱來源不代表所有設定都相同;各裝置上的入口、DNS 與路由仍須分別確認。
完整設定也可能參照桌面上的絕對檔案路徑或本機資源。轉移至 Android 裝置時,不能直接照抄這些路徑。即使兩端使用相同核心,也應檢查核心版本與設定欄位是否相容,不要以「檔案能開啟」取代實際執行測試。
訂閱格式常見問題與排查順序
訂閱更新顯示成功,為什麼清單還是空的?
先切換至對應的訂閱群組並清除清單篩選,再查看記錄中的有效節點數量。若回應是登入網頁、空白內容或不支援的設定格式,即使下載成功,也可能沒有可匯入的節點。請回到服務提供者的入口,重新複製適用於目前用戶端的訂閱網址。
拿到一大段 Base64,應該貼到哪裡?
先在本機解碼並確認內容。若結果是每行一筆的分享連結,請複製完整解碼清單,再使用「伺服器」→「從剪貼簿匯入批次 URL」。若結果是完整 JSON,則依對應核心的自訂設定方式處理,不要再加上協定前綴。
為什麼轉換後的連結可以匯入,卻一直連線失敗?
開啟原始節點與新節點的編輯視窗,逐項比較安全類型、SNI、Host、路徑及相關協定參數。特別檢查 %2F 是否被重複編碼成 %252F,以及聊天軟體是否截斷了 & 後方的查詢參數。
訂閱更新會覆蓋手動修改的節點嗎?
同一訂閱群組中的節點可能會在更新時被替換或重建。若要長期保留修改,請先匯出分享連結,再匯入獨立的手動群組,並在下次更新後確認結果;不要將訂閱項目當成穩定的本機設定備份。
把節點清單轉成 Base64,就能自動更新嗎?
不能。Base64 只會改變文字的表示方式。自動更新還需要用戶端可連線的訂閱網址,以及該網址持續回傳維護中的相容內容。只有本機編碼文字時,應將它當成靜態節點清單匯入,不能期待它接收服務提供者後續的修改。
最後依「來源是否正確 → 回傳內容是否相容 → 欄位是否完整 → 核心是否支援」的順序排查。先處理格式,再處理連線;保留原始訂閱及已遮蔽敏感資訊的錯誤記錄,比反覆嘗試不同轉換方式更容易找出問題。