b 站网页端也会开启 PCDN?

2024-03-31 23:02:52 +08:00
 LnTrx
最近浏览网页时经常发现风扇在呼呼转,用系统任务管理器发现是 Chrome 在占用,用 Chrome 任务管理器确定是一个已经暂停的 b 站视频页面在大量占用 CPU 。通过调试暂停和性能分析发现了两个显眼的 js:

https://s1.hdslb.com/bfs/static/pcdn-loader/reward-pcdn-loader-0.1.3.min.js
https://s1.hdslb.com/bfs/static/pcdn-seeder/reward-seeder-1.2.0.min.js

从名称和内容来看似乎与 PCDN 有关。但由于本人在这方面不够专业,希望有人可以分析一下这些代码到底在干什么,为什么会占这么多 CPU 。

大量占用 CPU 情况的出现似乎有一定概率性。我这边打开一些较多人在看的视频、暂停放在那里干别的事情,等一会儿( 5~10 分钟)听到风扇响起来多半就复现了。也想了解大家是否能复现。
14448 次点击
所在节点    程序员
67 条回复
LiYanHong
2024-04-01 19:20:53 +08:00
@rekulas #15 没广告?视频里突然就猝不及防,不像 youtube 里正片会利益相关提示
MrKrabs
2024-04-01 20:39:46 +08:00
批站盗版资源一堆,现在还要偷用户流量,那不是只有硬盘是自己的了?
lyc8503
2024-04-01 21:00:33 +08:00
@rekulas B 站很多低质量软广

偷跑 PCDN 对两头的用户都不友好,上传方被偷跑流量,下载方视频体验差(可能会莫名其妙卡)
nicoljiang
2024-04-01 21:32:04 +08:00
@rekulas 现在 b 站的广告跟 ytb 可以提前关闭的那种贴片广告相比已经不遑多让了。
Fred0410
2024-04-01 21:39:08 +08:00
无所谓,本来上传就那么一点
goodryb
2024-04-01 21:48:53 +08:00
你甚至都不用自己看代码,让通义千问分析了下

这段代码是 Bilibili ( B 站)使用的“奖励播种器”( Reward Seeder )客户端脚本的一个压缩版本,其主要功能与平台的点播视频分发技术有关,特别是通过 WebRTC ( Web Real-Time Communication )实现用户间的 P2P ( Peer-to-Peer )数据传输。


https://tongyi.aliyun.com/qianwen/share?shareId=45c75ef0-efab-4a35-a75a-ec1d052f2163
ratmond
2024-04-02 00:50:53 +08:00
@anonymouswll 你这个脚本用这个网站 https://browserleaks.com/webrtc 测还是会泄露 IP ,我让 ChatGPT 写了一个:
```
// ==UserScript==
// @name Disable WebRTC
// @namespace http://tampermonkey.net/
// @version 1.0
// @description Disable WebRTC to improve privacy
// @author You
// @match *://*/*
// @grant none
// @run-at document-start
// ==/UserScript==

(function() {
'use strict';

// Disable RTCPeerConnection to prevent WebRTC leaks
window.RTCPeerConnection = function() {
return null;
};
window.webkitRTCPeerConnection = function() {
return null;
};

// Other WebRTC related components that could be disabled
// Not all of these may be present or necessary to disable depending on the browser
window.RTCSessionDescription = function() {
return null;
};
window.RTCIceCandidate = function() {
return null;
};

// Disable navigator.mediaDevices.getUserMedia to prevent camera and microphone access
if (navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {
navigator.mediaDevices.getUserMedia = function() {
return Promise.reject(new Error("UserMedia is disabled for privacy reasons"));
};
}
})();
```
GenericT
2024-04-02 03:03:47 +08:00
有些人有反思起来了,youtube 有贴片广告就没有视频内广告了? lttstore.comcs.money 真没见过?
lovelive1024
2024-04-02 09:12:41 +08:00
@rekulas #15 把广告装作普通视频,连大会员有有广告,也就白嫖的觉得好了
630071099
2024-04-02 10:06:56 +08:00
原来如此,装了个插件试试来关闭:WebRTC Control
ztmzzz
2024-04-02 10:28:40 +08:00
@rekulas 还没广告呢,把拦截插件关了,首页 6 个还是 8 个的推荐视频栏位,1 个就是广告。视频底下还有大横幅广告
leaflxh
2024-04-02 13:10:33 +08:00
这就是国内的网络运营商环境,凑合着用吧
PeneceaQwQ
2024-04-02 17:12:38 +08:00
@MYDB
推荐个脚本,完全满足需求
https://github.com/the1812/Bilibili-Evolved
MYDB
2024-04-02 17:46:42 +08:00
@PeneceaQwQ 回错人了?自写 ad 规则秒杀一切脚本
AV1
2024-04-03 00:00:53 +08:00
我不明白呀,按道理 PCDN 应该吃流量,而不是吃 CPU 算力的,不应该造成 CPU 跑满风扇狂转的。
这种现象更像是挖矿。
VwEI
2024-04-03 10:37:30 +08:00
@kome 能分享一下规则嘛
kome
2024-04-03 11:55:25 +08:00
@VwEI 我是直接用 ADH 阻止解析域名了, 对直播的上传有没有用就不清楚了, 我直接禁用了 webrtc. 自定义规则:
```
! 哔哩哔哩
||v1d.szbdyd.com
||mcdn.bilivideo.cn
```
kome
2024-04-03 12:02:06 +08:00
@VwEI bilibili 还有一个域名在我这 30 天解析了 50 万次, 被 CHN:anti-AD 规则拦截, 规则主页 anti-ad.net
Levox
2024-04-03 15:45:04 +08:00
B 站有时候还疯狂吃内存,一个页面 5 、6 个 G ,卡的页面等待十几秒才能动。出现只能关闭再重开页面。
VwEI
2024-04-08 15:10:13 +08:00
@kome 是具体哪个呢,我之前把常用的全放行了- -

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1028610

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX