-
Notifications
You must be signed in to change notification settings - Fork 196
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
屏蔽B站的p2p视频分发CDN #70
Comments
看了一下,应该可以实现,预计v1.0.8上线。 |
可替换到的 Host 可参考: the1812/Bilibili-Evolved#3234 (comment). 建议给个设置, title 需要指出, https://greasyfork.org/zh-CN/scripts/415714-make-bilibili-great-again 里面对 MCDN 的操作是可能有问题的, 部分 MCDN 类型的视频链接不能直接替换 Host, 而且也不够全面, 没处理 BCache CDN 的情况. 替换操作可以参考参考我一番摸索出来的逻辑(虽然是用在 LSPosed 模块的, 不过只需要看替换 UPOS 的逻辑, 问题不大), 验证过是没问题的, 相当稳定: https://github.com/cxw620/BiliRoamingH/blob/me/app/src/main/java/me/iacn/biliroaming/hook/UposReplaceHook.kt 和 https://github.com/cxw620/BiliRoamingH/blob/me/app/src/main/java/me/iacn/biliroaming/utils/UposReplaceHelper.kt 特别地, 如果遇到 MCDN 类型的 CDN, 可以使用 更多地, 如果有计划迁移通过 gRPC 获取视频 Playurl, 还可以通过设定网络类型为 |
好的,感谢。 |
前言: 我的 comment 里面区分的 MCDN 和 PCDN 其实最近差别不大了, 只是个名头, 在此特别限定, authority 包含了 首先判断是否为 PCDN: contains("szbdyd.com") || contains(".mcdn.bilivideo") || contains(ipPCdnRegex), ipPCdnRegex 为 如果是 PCDN, 那么再细分. 对于 如果不是, 再判断是否为 BCache 类型的 CDN, regex: 经过上述判断后剩下的就是 Mirror 型的或者免流用的了, 速度佳, 不予处理. 此外, 观察发现一般 baseUrl 都是垃圾的 CDN, 但是 backupUrls 里面就有 Mirror 型的了, 能不替换就不替换. IPv6 环境下就相当干净舒服了, 所以如果可以的话加入个逻辑, IPv6 环境下强制走 v6. 最好应用程序内绕过系统 DNS 通过 DoH 解析, 免得地方 DNS 运营商抽风, 像官方 APP 就有 HTTPDNS, 优先采用 HTTPDNS 的结果, 失败再 fallback 到系统 DNS, flutter 我不熟悉清楚是否有相关的最佳实践. 以上仅能用于视频的 playurl, 直播的不能随意替换, 我也没搞清楚规则. |
目标
避免分配到低质量视屏线路
解决方案
屏蔽pcdn以及mcdn域名和mcdn端口
其他
https://greasyfork.org/zh-CN/scripts/415714-make-bilibili-great-again
但是该功能可能会导致有的视频播放链接错乱或无法播放。但是概率很小。
The text was updated successfully, but these errors were encountered: