一、關於網頁偷跑流量
起因是在小黑盒上看到有網友抱怨,掛斗魚看直播被運營商當PCDN給管控限速了。
![]()
我也想起了自己之前遇到的怪事,只是打開網頁看直播,明明沒有下載、上傳文件任務,後臺卻持續跑着不小的上行流量。
B 站、鬥魚、騰訊視頻這類視頻直播網站,爲了削減高昂的CDN服務器帶寬成本,網頁端會啓用網頁版 PCDN(P2P 內容分發)機制。
當我們在瀏覽器觀看熱門直播、視頻內容時,電腦不僅僅是下載播放內容,瀏覽器可能還會在後臺把已經緩存好的視頻分片,發送給其他正在觀看同一直播/視頻的陌生用戶,這部分轉發數據就會消耗自家寬帶的上行帶寬。
![]()
這套網頁 P2P 分發能力,底層WebRTC的RTCDataChannel實現瀏覽器與瀏覽器之間直連傳輸數據,不需要額外安裝軟件,網頁腳本就可以直接調用瀏覽器接口建立P2P連接。
![]()
這種網頁在後臺偷跑上行帶寬的小動作,可能會給我們帶來各種麻煩。
首先就是可能導致本地網絡體驗變差。
像咱們使用的家用寬帶一般是非對稱帶寬,上行帶寬大多也就30-50Mbps左右,相當有限。
網頁的P2P上傳把上行帶寬佔滿後,有時會造成網頁打開慢、遊戲延遲飆升、語音通話卡頓之類的問題,如果使用隨身WiFi等流量套餐上網,還會產生流量異常消耗的多餘支出。
另外,家庭寬帶協議一般不允許把家用線路當作對外內容分發節點,爲了封堵PCDN的口子,現在運營商會嚴格檢測持續大流量上傳的行爲,網頁長時間偷跑上行流量,有可能觸發運營商的流量整形、限速等管控策略,嚴重時寬帶賬號會被限制使用。
![]()
這裏順帶多說一句,視頻網頁與桌面客戶端的偷跑策略不同,後者擁有獨立的PCDN模塊,不走瀏覽器WebRTC接口,本篇後面介紹的解決方案,對客戶端無效。
二、解決網頁偷跑上行帶寬的方案
我們明白了網頁偷跑上行來自WebRTC建立的P2P通道,那麼解決思路就很簡單了,瀏覽這類視頻網站時,禁用WebRTC功能即可,而且藉助瀏覽器擴展插件就可以輕鬆實現。
下面咱們先以Windows Edge瀏覽器來進行演示。
1.使用WebRTC Control插件
點擊Edge瀏覽器右上角的插件按鈕,選擇「獲取 Microsoft Edge 擴展」。
![]()
在擴展商店搜索框輸入“WebRTC Control”,第一個搜索結果就是目標插件,直接完成安裝:
![]()
![]()
這個插件的使用方法特別簡單,點擊工具欄插件圖標,圖標點亮即代表啓用插件,瀏覽器WebRTC功能被禁用,再次點擊圖標灰色,WebRTC功能恢復正常。
![]()
下面我們來驗證一下這個插件是否能起到作用。
我們隨便打開B站的一個視頻,點擊WebRTC Control插件右側的3個小點,然後選擇”Test WebRTC Leak“,進入WebRTC泄漏檢測頁面:
![]()
關閉WebRTC Control時,檢測結果爲瀏覽器正在泄露WebRTC的IP地址,代表WebRTC功能正常可用,網頁可以建立P2P連接。
![]()
啓用WebRTC Control後,瀏覽器就不會泄露WebRTC IP地址了:
![]()
2.使用AdGuard插件實現防護
除了WebRTC Control插件外,大家喜聞樂見的AdGuard插件也自帶WebRTC防護功能。
首先我們同樣在Edge中搜索並安裝「AdGuard 廣告攔截器」:
![]()
點擊工具欄AdGuard圖標,打開設置齒輪按鈕:
![]()
進入「跟蹤保護」頁面,打開跟蹤保護總開關,頁面滑到最下方,開啓”通過 WebRTC 防止 IP 地址泄露“選項即可。
![]()
三、其他Chromium內核瀏覽器安裝WebRTC Control
如果大家平時習慣用Chrome、360極速瀏覽器等同樣基於Chromium的瀏覽器,那可能由於魔法網絡等原因直接訪問擴展商店下載WebRTC Control。
這種情況下我們可以採取曲線救國的方法,先使用Edge安裝WebRTC Control插件,然後將其打包成crx文件,手動導入其他瀏覽器。
1.Edge打包插件
點擊擴展按鈕,打開「管理擴展」:
![]()
打開左側「開發人員模式」,點擊「打包擴展」:
![]()
瀏覽定位WebRTC Control插件的本地目錄,插件目錄路徑一般爲:C:\Users\你的用戶名\AppData\Local\Microsoft\Edge\User Data\Default\Extensions\
![]()
插件 ID 可以在擴展詳情頁面查看,找到對應ID文件夾進入,繼續打開版本號子文件夾,選中該文件夾作爲擴展根目錄。
![]()
![]()
![]()
進入0.3.5_0文件夾後,就可以點擊右下角的”選擇文件夾“了。
![]()
然後Edge會在會在插件目錄生成*.crx`插件安裝包和*.pem密鑰文件,這兩個文件要保存好。
![]()
2.導入其他瀏覽器
這裏我以自己常用的360極速瀏覽器爲例進行展示,首先點擊右上角的”更多擴展“按鈕:
![]()
接着依次點擊右上角的頭像圖標,選擇”我的擴展“:
![]()
勾選右上角的”開發者模式“後,直接將我們剛纔打包的.crx文件拖進這個頁面,即可完成安裝。
![]()
這裏得注意下,第三方導入的crx擴展,360極速瀏覽器默認會自動停用來源不明擴展。
需要在瀏覽器設置搜索“擴展”,取消勾選「自動停用來源不明的擴展」,避免重啓瀏覽器插件失效。
![]()
這裏限於篇幅,Chrome等其他瀏覽器的導入流程就不贅述了,總體上大差不差,思路都是一致的。
注意事項
本次分享的瀏覽器擴展插件,僅對網頁端視頻網站有效,鬥魚、騰訊視頻等桌面客戶端的PCDN不走瀏覽器 WebRTC,插件無法限制客戶端上傳流量。
WebRTC Control默認會在瀏覽器全局禁用 WebRTC,不是隻針對視頻網站,一些像是網頁版視頻會議、網頁語音通話、網頁直播連麥等依賴WebRTC的功能也會直接失效,遇到這類問題,臨時關閉插件即可恢復正常。
另外禁用WebRTC之後,網頁無法使用其他用戶節點P2P加速,全部流量都來自官方CDN服務器,這種情況下在部分熱門直播高峯期,有可能反而出現加載變慢、卡頓的情況。但對於上行帶寬不足的用戶來說,由於此時可以避免上行被佔滿,整體的網絡體驗可能反而會更流暢。
更多遊戲資訊請關註:電玩幫遊戲資訊專區
電玩幫圖文攻略 www.vgover.com
