想使用 Sing-box 特有協議(Tuic、NaïveProxy),或習慣 Sing-box 生態的進階用戶。
<YOUR_XXX> 標示。
xtls-rprx-vision)
www.apple.com:443 — GFW 看到的是連到 Apple 的正常
TLS
{
"log": {
"loglevel": "warning"
},
"inbounds": [
{
"port": 443,
"protocol": "vless",
"settings": {
"clients": [
{
"id": "<YOUR_UUID_1>", // 用 uuidgen 或 3x-ui 介面產生
"email": "user-self", // 識別標籤,可自訂
"flow": "xtls-rprx-vision"
},
{
"id": "<YOUR_UUID_2>",
"email": "user-mobile",
"flow": "xtls-rprx-vision"
},
{
"id": "<YOUR_UUID_3>",
"email": "friend-pc",
"flow": "xtls-rprx-vision"
},
{
"id": "<YOUR_UUID_4>",
"email": "friend-mobile",
"flow": "xtls-rprx-vision"
}
],
"decryption": "none"
},
"streamSettings": {
"network": "raw",
"security": "reality",
"realitySettings": {
"dest": "www.apple.com:443", // 偽裝目標,需是真實可連的 TLS 網站
"serverNames": ["www.apple.com"],
"privateKey": "<YOUR_PRIVATE_KEY>", // 3x-ui 自動生成,或 xray x25519
"shortIds": ["", "1", "2", "3", "4", "5", "6"]
}
}
}
],
"routing": {
"domainStrategy": "IPIfNonMatch",
"rules": [
{
"type": "field",
"ip": ["geoip:private"], // 封鎖存取伺服器內網
"outboundTag": "block"
},
{
"type": "field",
"protocol": ["bittorrent"], // 封鎖 BT,防止 DMCA
"outboundTag": "block"
}
]
},
"outbounds": [
{
"protocol": "freedom",
"settings": {
"domainStrategy": "UseIPv4" // 強制走 IPv4 出口
},
"tag": "direct"
},
{
"protocol": "blackhole",
"tag": "block"
}
]
}
| 線路 | ASN | IP 特徵 | 品質 | 備註 |
|---|---|---|---|---|
| 163 ChinaNet | AS4134 | 202.97.x.x | 普通 | 覆蓋廣,成本低,晚高峰易擁塞 |
| CN2 GT | AS4809 | 59.43.x.x | 中階 | 比普通好,晚高峰仍有波動 |
| CN2 GIA | AS4809 | 59.43.x.x | 最優 ★ | 晚高峰最穩,價格最貴 → 香港/日本/美西首選 |
| 線路 | ASN | IP 特徵 | 品質 | 備註 |
|---|---|---|---|---|
| 普通骨幹 | AS4837 | 219.158.x.x | 普通 | 美西/日本常走此路,性價比好 |
| 精品線路 | AS9929 | — | 精品 ★ | 用戶少,擁塞少,適合遠端辦公/遊戲/低丟包 |
| 線路 | ASN | 品質 | 備註 |
|---|---|---|---|
| CMI | AS58453 | 普通 | 香港/日本/新加坡/美西不差,性價比好 |
| CMIN2 | AS58807 | 精品 ★ | 「移動版 CN2 GIA」,晚高峰更穩,更貴。注意:「移動優化」≠ CMIN2,看 ASN! |
| 看到的 IP 段 | ASN | 代表線路 |
|---|---|---|
| 202.97.x.x | AS4134 | 電信普通 163(晚高峰易堵) |
| 59.43.x.x | AS4809 | 電信 CN2(GT 或 GIA) |
| 219.158.x.x | AS4837 | 聯通普通骨幹 |
| — | AS9929 | 聯通精品線路 |
| — | AS58453 | 移動 CMI |
| — | AS58807 | 移動 CMIN2(精品) |
| 221.183.x.x | — | 移動進入國內後的常見段 |
| 工具 | 用途 |
|---|---|
| ping.pe | 從全球多點同時 ping 你的 VPS IP,直接看各地延遲分佈 |
| tools.ipip.net/traceroute | 從中國大陸三大運營商節點 traceroute 到你的 IP(去程最直觀) |
| ipqualityscore.com | IP 信譽:Fraud Score、是否被標記為 Proxy / Hosting |
| scamalytics.com | 詐騙風險評分 |
| ipinfo.io/<IP> | ASN、組織名稱、地區 |
✓ 華南用戶天然優勢
✓ CN2 GIA / CMIN2 / AS9929 等精品線路選項多
✗ 帳號/支付/AI/廣告平台對 HK 流量謹慎
✓ 延遲通常比美西低
✓ 聯通/移動用戶性價比好
✓ 美國流媒體最友好
✓ 建站/下載/開發測試常見
✓ 用戶在東南亞時首選
✓ 便宜大硬碟大帶寬
✗ 遠端桌面/遊戲/中轉明顯慢
- ASN 是運營商或真實 ISP(非機房 ASN)
- GeoIP 國家和城市是否穩定(用 ip-api.com / ipinfo.io 確認)
- IPQS、Scamalytics 的 Fraud Score 是否低
- 是否被標記為:Proxy / VPN / Hosting / Tor / Crawler
- 用你的目標平台實測(評分工具只能參考,不能代表真實結果)
| 住宅 IP 自架 | 自架 VPS ★推薦 | 機場(訂閱) | |
|---|---|---|---|
| IP 類型 | 家用住宅 IP | 機房 IP | 機房 IP 為主 |
| 月費 | 無額外費用 | $5–30 USD/月 | ¥30–200+/月 |
| 技術門檻 | 高 | 中 | 無 |
| 控制權 | 完整 | 完整 | 無 |
| 隱私 | 最高 | 中 | 最低 |
| IP 被封風險 | 極低(住宅 IP) | 低至中(依地區) | 中(共享節點) |
| 穩定性 | 依家庭寬頻 | 穩定 | 依機場品質 |
✓ 先試用,再決定是否長期訂閱
✗ 避開過度便宜的(靠過度售賣撐)
✗ 不要把重要帳號登入走機場流量
✗ 不要把訂閱連結公開分享
Chrome 輸入網址
↓
ZeroOmega 攔截(判斷走代理或直連)
↓
SOCKS5 送到本機 127.0.0.1:10808
↓
v2rayN 接收,VLESS + Reality 打包加密
↓
偽裝成正常 HTTPS 流量送到 VPN Server(port 443)
↓
Server 端 Xray 解密,轉發到目標網站
| 風險類型 | 洩漏內容 | 處理方式 | 狀態 |
|---|---|---|---|
| IPv6 DNS 洩漏 | 你查詢的域名 | 停用 IPv6 | ✅ 消除 |
| QUIC/UDP 洩漏 | 連線目標 IP 和域名 | 停用 QUIC | ✅ 消除 |
| WebRTC 洩漏 | 本機真實 IP | Chrome flags | ✅ 消除 |
| Chrome 內建 DoH | 你查詢的域名 | 關閉安全 DNS | ✅ 消除 |
| 系統其他軟體 | 其他 App 流量 | 刻意不處理(設計取捨) | ⚠️ 範圍外 |
| TUN 模式缺失 | UDP 全局流量 | 刻意不開(避免留痕) | ⚠️ 設計取捨 |
slmgr /xpr,確認為數位授權(OEM
自動啟用)
✗ 不截圖分享連線設定或這份教學
✗ 不在直播中露出代理相關軟體或設定
✗ 不把連線資訊告訴不信任的人
| 問題 | 排查步驟 |
|---|---|
| 連線後 IP 沒有改變 | 確認 ZeroOmega 模式正確;確認 v2rayN 在背景執行;重啟 v2rayN |
| 網頁完全開不了 | 確認節點 UUID、PublicKey、ShortId;確認 SOCKS5 連接埠為 10808;聯繫管理員 |
| REALITY 連線失敗 / 斷連 | 確認 ShortId 與伺服器端一致;確認 UUID 已授權;IP 被封請聯繫管理員 |
| Discord 卡在 RTC 連線中 | 確認 ZeroOmega 使用 SOCKS5(非 HTTP);確認 v2rayN 路由含 UDP 流量 |
| Auto_Switch 規則無法更新 | 先切到 VLESS_Proxy 模式再更新,更新完切回 Auto_Switch |
| 速度很慢 | YouTube 建議 720p 以下;避開晚上 8-11 點;聯繫管理員確認伺服器狀態 |
| 名詞 | 類型 | 說明 |
|---|
中國戶外長時間直播系統。透過多張 SIM 卡頻寬合併(MPTCP Bonding)+ OpenMPTCProuter + Xray VLESS+Reality, 將 LiveU Solo 的 RTMP 流量安全穿越 GFW,傳回台灣後由 OBS 推流至 Twitch。
依賴 LiveU 日本 AWS 中轉
完整本地 OBS 控制權
非廣播級,非商業替代品
→ VLESS+Reality+Vision tunnel
→ 台灣 VPS 或本機 → OBS → Twitch
RPi5 + Modems + 周邊
VPS + 中國 SIM × 3
推薦:偶爾赴中直播
| 評估項目 | 方案一:SIM + Reality | 方案二:翻牆 SIM + LRT | 方案三:租屋 + Xray |
|---|---|---|---|
| GFW 穿透強度 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| 穩定性 | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| 自主掌控 | ✅ 完全自主 | ❌ 依賴第三方 | ✅ 完全自主 |
| 戶外直播 | ✅ | ✅ | ⚠️ RPi5 需先連回租屋 |
| IP 被封風險 | ⚠️ VPS 機房 IP | 低(商業維護) | 極低(住宅 IP) |
| 延遲 | 低 | 高(繞日本 AWS) | 低 |
curl ifconfig.me,與 Router WAN 介面 IP 比對。若相同 → 路線 A 可行;若不同或 WAN IP 是 100.64.x.x → 必須選路線 B 或向 ISP 申請固定 IP。| 限制項目 | 說明 |
|---|---|
| RTMP over TCP | TCP 確認機制在高 packet loss 時會放大 latency |
| 無硬體 FEC | 無法像 LiveU 高階機種做封包層級的數學修復 |
| TCP in TCP | MPTCP 內包 Reality TCP,極端惡劣環境有 HOL blocking 風險 |
| 住宅 ISP upstream | 台灣家裡上行 jitter 無法完全消除(路線 A) |
| USB Modem | 高溫與供電不穩是最常見的中斷原因 |
| OMR 非 enterprise-grade | 適合個人規模,不適合商業廣播 |
WAN1 中國電信 / WAN2 中國聯通 / WAN3 中國移動
Xray VLESS+Reality 隧道 · MSS Clamp
GFW 只看到 TLS 流量,順利放行
mediamtx(RTMP ingest + Auth)· CAKE QoS
VPS 直接有公網 IP,不需 port forwarding
| 區段 | 路線 A | 路線 B |
|---|---|---|
| LiveU → RPi5 | WiFi / LAN | WiFi / LAN |
| RPi5 → ingest server | MPTCP + Reality → 台灣本機 | MPTCP + Reality → 香港/日本 VPS |
| ingest server → OBS | 內網 RTMP | 公網 RTMP(需 auth) |
| OBS → Twitch | RTMP | RTMP |
| 協議 | 支援 | 備註 |
|---|---|---|
| RTMP Direct | ✅ 支援 | 唯一可直連自架 server 的選項 |
| RTMPS Direct | ⚠️ 部分版本 | 建議開啟(若支援) |
| SRT Direct | ❌ 不支援 | SRT 必須先走 LRT → LiveU 日本 AWS |
| RIST / Zixi | ❌ 不支援 | — |
| RTMP 弱點 | OMR + Reality 補強方式 |
|---|---|
| 無 multipath | MPTCP 將封包拆分至多條 WAN 並行傳輸 |
| 無 GFW 偽裝 | VLESS+Reality 完美偽裝成 TLS 1.3 商業流量 |
| 無 FEC | MPTCP 多路備援降低單點重傳代價 |
| 單卡波動 | 多卡互補,單卡掉包不影響整體 session |
| 設備 | 路線 A(本機) | 路線 B(VPS) |
|---|---|---|
| ingest server | 台灣 Linux 本機(x86_64,Ubuntu 22.04 / Debian 12,2GB RAM+) | 香港或日本 VPS(1 vCPU / 1GB RAM,建議 CN2 GIA 線路) |
| OBS 主機 | Windows 11,有獨顯 | 同左 |
| 路由器 | 支援 port forwarding | 不需要特殊設定 |
| 軟體 | 安裝位置 | 用途 |
|---|---|---|
| OpenMPTCProuter v0.63 | RPi5(刷入 microSD) | MPTCP Bonding 客戶端 |
| omr-server | Linux ingest server | Bonding 接收端 |
| xray-core | Linux ingest server(omr-server 腳本內含) | VLESS+Reality server |
| mediamtx v1.9.x | Linux ingest server | RTMP ingest + auth |
| OBS Studio | Windows 本機 | 場景覆蓋、推 Twitch |
| Netdata | Linux ingest server(建議) | 即時鏈路品質監控 |
(RPi5 + Modems + 周邊)
+ 中國 SIM 流量費
+ 中國 SIM 流量費
| 電信商 | 骨幹線路 | 連台灣品質 | 部署定位 |
|---|---|---|---|
| 中國電信 | CN2 GIA | 最穩定,延遲最低 | 主力 |
| 中國聯通 | 169 骨幹 | 次穩定,頻寬彈性好 | 次選 |
| 中國移動 | CMI 國際 | 尖峰時段易壅塞,容易被 QoS | 僅作備援 |
wget -O - https://www.openmptcprouter.com/server/omr-6-install.sh | sh # 取得 server key cat /root/openmptcprouter_config.txt # 確認服務狀態 systemctl status omr-server systemctl status xray
flow: xtls-rprx-vision(必填,消除內層 TLS 特徵)· fingerprint: chrome · dest 選知名國際站點(不同省份最佳 dest 不同,需實測){
"inbounds": [{
"port": 443, "protocol": "vless",
"settings": {
"clients": [{ "id": "用 uuidgen 產生的 UUID", "flow": "xtls-rprx-vision" }],
"decryption": "none"
},
"streamSettings": {
"network": "tcp", "security": "reality",
"realitySettings": {
"dest": "www.microsoft.com:443",
"serverNames": ["www.microsoft.com"],
"privateKey": "用 xray x25519 產生的私鑰",
"shortIds": ["用 openssl rand -hex 4 產生"],
"fingerprint": "chrome"
}
}
}]
}systemctl restart xray
VERSION="v1.9.1"
wget https://github.com/bluenviron/mediamtx/releases/download/${VERSION}/mediamtx_${VERSION}_linux_amd64.tar.gz
tar -xzf mediamtx_*.tar.gz
sudo mv mediamtx /usr/local/bin/authMethod: internal
authInternalUsers:
- user: liveu
pass: 強密碼
permissions:
- action: publish
path: live/liveu
- user: obs
pass: 強密碼
permissions:
- action: read
path: live/liveu
rtmpAddress: :1935
paths:
live/liveu:
sourceOnDemand: noLiveU 推流:
rtmp://liveu:密碼@你的公網IP/live/liveuOBS 拉流(路線 A):
rtmp://obs:密碼@Linux機內網IP/live/liveu# systemd 服務 cat > /etc/systemd/system/mediamtx.service << 'EOF' [Unit] Description=mediamtx After=network.target [Service] ExecStart=/usr/local/bin/mediamtx /etc/mediamtx.yml Restart=always RestartSec=5 [Install] WantedBy=multi-user.target EOF systemctl daemon-reload systemctl enable mediamtx systemctl start mediamtx
# 查看網卡名稱 ip link show # 套用 CAKE(90000kbit = 家裡上傳 100Mbps 的 90%,請依實際頻寬調整) sudo tc qdisc replace dev eth0 root cake bandwidth 90000kbit \ diffserv4 dual-srchost nat wash no-ack-filter split-gso rtt 50ms # 確認套用(出現 cake 字樣即成功) tc qdisc show dev eth0
sudo iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN \ -j TCPMSS --set-mss 1360 # 持久化 sudo apt install iptables-persistent -y sudo netfilter-persistent save # 確認規則生效(封包計數應 > 0 後才算生效) sudo iptables -t mangle -L FORWARD -v | grep TCPMSS
-I FORWARD 1 插到最前面。# xray sudo systemctl edit xray # 填入: [Service] Restart=always RestartSec=5 # omr-server sudo systemctl edit omr-server # 填入: [Service] Restart=always RestartSec=10 sudo systemctl daemon-reload
sudo ufw allow 443/tcp # xray VLESS+Reality sudo ufw allow 1935/tcp # mediamtx RTMP sudo ufw allow 8554/tcp # mediamtx RTSP(備用) sudo ufw allow 65001/udp # omr-server Glorytun sudo ufw allow 65101/tcp # omr-server Shadowsocks sudo ufw allow 65101/udp sudo ufw allow 65201:65208/udp # omr-server MLVPN sudo ufw allow 65500/tcp # omr-server 管理 API sudo ufw enable && sudo ufw reload
wget -O /tmp/netdata-kickstart.sh https://get.netdata.cloud/kickstart.sh sh /tmp/netdata-kickstart.sh # 安裝後:http://Linux機內網IP:19999
# 只允許台灣 OBS 主機的固定 IP sudo ufw allow from 你的台灣固定IP to any port 1935
rtmp://obs:密碼@VPS公網IP/live/liveuhttps://releases.openmptcprouter.com/v0.63-6.12/rpi5/targets/bcm27xx/bcm2712/選擇
rpi-5-squashfs-factory.img.gz,用 Balena Etcher 燒錄到 microSD。http://192.168.100.1(用 http,不是 https)初始帳號 root,密碼為空,立即設定強密碼。
填入:Server IP(台灣 Linux 機或 VPS 的公網 IP)· Server Key(從 /root/openmptcprouter_config.txt 取得)· VPN 協議選 Xray(VLESS+Reality)
→ Save and Apply
ssh root@192.168.100.1 # 方法一:kernel 參數(永久有效,推薦) echo 'usbcore.autosuspend=-1' >> /etc/cmdline.d/usb.conf reboot # 確認(應顯示 -1) cat /sys/module/usbcore/parameters/autosuspend
# 立即生效 iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN \ -j TCPMSS --set-mss 1360 # 持久化(OpenWrt/OMR 的方式) echo 'iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1360' \ >> /etc/firewall.user
推流模式:RTMP Direct · 目的地 URL:
rtmp://liveu:密碼@你的公網IP/live/liveu# 先確認設備路徑
lsusb -t
cat > /root/modem_watchdog.sh << 'EOF'
#!/bin/sh
# 將 USB_PATH 替換為 lsusb -t 確認的實際路徑
if ! ip link show eth1 | grep -q "LOWER_UP"; then
logger "[watchdog] eth1 down, power cycling USB"
USB_PATH="/sys/bus/usb/devices/1-1"
echo 0 > "${USB_PATH}/authorized"
sleep 3
echo 1 > "${USB_PATH}/authorized"
sleep 10
fi
EOF
chmod +x /root/modem_watchdog.sh
# crontab 每分鐘執行一次
(crontab -l 2>/dev/null; echo "* * * * * /root/modem_watchdog.sh") | crontab -填入 URL:
· 路線 A:
rtmp://obs:密碼@192.168.x.x/live/liveu· 路線 B:
rtmp://obs:密碼@VPS公網IP/live/liveu| 設定項目 | 建議值 | 說明 |
|---|---|---|
| 編碼器 | NVENC H.264 | 有獨顯時用 NVENC,釋放 CPU 給 overlay 運算;否則用 x264 |
| 碼率控制 | CBR | 固定碼率讓 bonding 流量可預測,避免複雜場景突衝擊穿頻寬 |
| 目標碼率 | 6000–8000 kbps | 依出發前實測的穩定最低聚合頻寬決定 |
| 關鍵影格間隔 | 2 秒(固定) | Twitch 要求 |
| B-frames | 0 | 降低 encoder 內部緩衝延遲 |
| Profile | high | — |
| Tune | zerolatency | — |
| 模式 | 說明 | 對 bonding 的影響 |
|---|---|---|
| HiLink Mode(出廠預設) | Modem 自帶 Web UI(192.168.8.1),內建 DHCP,對系統表現為一台小路由器 | 多一層 NAT,三張卡預設同一網段會路由衝突,MPTCP 路徑偵測受干擾 |
| Stick Mode(推薦) | Modem 對系統表現為純網卡(NDIS/CDC-ECM),RPi5 直接取得電信商 IP | MPTCP 正常運作,無多餘 NAT |
# 1. 插入 Windows,裝置管理員確認出現 COM port # 2. PuTTY / Tera Term 連接(鮑率 115200) # 3. 輸入 AT 指令(適用部分韌體版本) AT^SETPORT="A1,A1" # 重啟 Modem,不再出現 192.168.8.1 Web UI 即成功
E3372h-153(HiLink 版本)與 E3372s(Stick 版本)的韌體不同,可嘗試刷入 E3372s 固件。操作步驟依批次版本不同差異大,建議搜尋你手上具體的 IMEI 前幾碼確認批次,再找對應的刷機教學。
三張卡必須手動改為不同網段:Modem A 保持 192.168.8.1 → Modem B 改為 192.168.9.1 → Modem C 改為 192.168.10.1。改完後三張卡才能同時插在 RPi5 上不衝突。HiLink 補救方案仍有多層 NAT,Stick Mode 才是正確做法。
RTMP(TCP)
↳ 包在 VLESS+Reality(TCP + TLS overhead,約 60 bytes)
↳ 包在 MPTCP(subflow header,約 20 bytes)
↳ 傳出實體網路(Ethernet MTU 1500 bytes)| 計算步驟 | 數值 |
|---|---|
| 設定 tunnel 介面 MTU | 1400 bytes(為外層封裝留 100 bytes 空間) |
| 減去 IP header | − 20 bytes |
| 減去 TCP header | − 20 bytes |
| 最終 MSS 設定值 | 1360 bytes |
--clamp-mss-to-pmtu:動態方式依賴 PMTU Discovery(透過 ICMP Type 3 Code 4),但跨境鏈路的 ICMP 常被過濾,PMTUD 會靜默失效。直接寫死 1360 是更可靠的做法。台灣端上傳頻寬同時被 OBS(推 Twitch)和 omr-server(接收中國端串流)佔用時,沒有 QoS 的情況下 TCP ACK 封包會被大封包排在後面等待,中國端的 LiveU 收不到 ACK 就誤以為鏈路惡化而降碼率。CAKE 的作用是確保上傳隊列不會被少數大封包塞死,讓 ACK 能及時通過。
# CGNAT 確認 curl ifconfig.me # 與 Router WAN 介面顯示的 IP 比較:相同 → 路線 A 可行;不同 → 選路線 B
| Port | 協議 | 用途 |
|---|---|---|
| 443 | TCP | xray VLESS+Reality |
| 1935 | TCP | mediamtx RTMP |
| 8554 | TCP | mediamtx RTSP(備用) |
| 65001 | UDP | omr-server Glorytun |
| 65101 | TCP + UDP | omr-server Shadowsocks |
| 65201–65208 | UDP | omr-server MLVPN |
| 65500 | TCP | omr-server 管理 API |
sudo apt install ddclient -y # /etc/ddclient.conf: protocol=noip use=web, web=dynamicdns.park-your-domain.com/getip login=你的帳號 password=你的密碼 你的hostname.ddns.net sudo systemctl enable --now ddclient
[ 行動電源 PD 65W+ ]
│ │
▼ ▼
[ RPi5 主板 ] [ 獨立供電 USB Hub ]
├── Modem A(貼銅散熱片)
├── Modem B(小風扇主動散熱)
└── Modem C(保持通風間距)• Hub 必須獨立供電
• Modem 之間保留通風間距
• 使用無 PD 協議的普通行動電源
- RPi5 連上 ingest server(omr-server 後台顯示 connected)
- xray tunnel 建立成功(journalctl -u xray 無錯誤)
- LiveU RTMP Direct 推流到 mediamtx(http://Linux機IP:9997 顯示 publisher)
- OBS 能從 mediamtx 拉流
- OBS 能推流到 Twitch
- 拔掉 Modem A:觀察 LiveU 碼率是否平滑下降但繼續推流;重新插回後是否自動恢復
- 拔掉 Modem A + B(只剩 C):確認系統能以單卡繼續推流
- 重啟 xray:systemctl restart xray,觀察 LiveU 是否在 30 秒內自動 reconnect
- 重啟 omr-server:觀察整條 tunnel 的恢復時間
- 重啟 mediamtx:觀察 OBS 的 Media Source 是否自動重連
- 持續推流 30 分鐘,觀察碼率穩定性
- 摸 USB Modem 溫度,過燙需加散熱
- 確認 CAKE 在運作:tc qdisc show dev eth0
- 確認 MSS clamp 有封包計數:iptables -t mangle -L FORWARD -v | grep TCPMSS
bash <(curl -fsSL https://get.hy2.sh/)
| 症狀 | 診斷指令 | 說明 |
|---|---|---|
| Bonding 沒有合併頻寬 | systemctl status mptcpd |
確認 MPTCP 服務狀態;確認三個 WAN 介面都 Connected;若 HiLink mode,確認三張卡網段不衝突 |
| Modem 突然消失(WAN disconnected) | lsusbcat /sys/module/usbcore/parameters/autosuspenddmesg -T | grep -i usb | tail -20 |
應顯示 -1;over-current → 供電問題;device disconnected → 過熱問題 |
| Tunnel 不通 / GFW 封鎖 | ss -tlnp | grep 443journalctl -u xray -f |
確認 xray 監聽 443;確認 port 443 forwarding 正確(路線 A) |
| LiveU 推流被拒(Auth 失敗) | journalctl -u mediamtx -f |
密碼若含特殊字元需 URL encode(例如 @ → %40);格式 rtmp://liveu:密碼@公網IP/live/liveu |
| OBS 拉不到串流 | systemctl status mediamtxhttp://Linux機IP:9997 |
確認 LiveU 正在推流(需要 publisher 存在 OBS 才能拉);OBS URL 格式需含 auth |
| 推流碼率不穩 / jitter 高 | tc qdisc show dev eth0iptables -t mangle -L FORWARD -v | grep TCPMSSsystemctl status omr-server |
確認 CAKE 套用;MSS clamp 封包計數若為 0 → 規則被覆蓋需重新插入 |
| 全域快速檢查 | systemctl status omr-server xray mediamtx |
三個服務都 active (running) 是基本前提 |
- mediamtx 設定 publish + read 分開的兩組帳密(不要用同一組)
- xray 使用強密碼和隨機 UUID
- 不在任何公開頻道洩漏 Stream Key、Reality 私鑰、mediamtx 密碼
- 若 LiveU Solo 版本支援 RTMPS Direct,優先使用
- 路線 B(VPS)的 mediamtx RTMP port 加 IP 白名單
- 在 ingest server 安裝 fail2ban,自動封鎖暴力嘗試的 IP
- 定期確認 journalctl -u mediamtx 裡沒有異常的 publish 嘗試
- 裸露 mediamtx(無 auth)
- 使用弱密碼或預設密碼
- 公開 Reality 的 shortId 或私鑰
| 軟體 | 版本 |
|---|---|
| OpenMPTCProuter | v0.63(kernel 6.12,RPi5 squashFS image) |
| omr-server | omr-6-install.sh(對應 v0.63) |
| mediamtx | v1.9.1 |
| xray-core | 隨 omr-server 腳本安裝的最新穩定版 |
| OBS Studio | 最新穩定版 |
文件版本:v7(2026 年 5 月整合版)。在 v6 基礎上新增出境方案比較(方案一/二/三)及跨方案備援切換邏輯。如有軟體版本更新,請以官方文件為準。