使用腾讯 CDN 解除B站区域限制

因为某些众所周知的原因,B站番剧是分区的。国区番剧经常经过删减甚至有的番剧根本不在国区上架, 而海那边的港澳台分区则没有这些限制。在如何飘洋过海看番剧这件事上,可以使用代理, 使用 脚本或者 Xposed模块,但都绕不开代理服务器这一环。

虽然有热心网友提供的 公共解析服务器 但是公共服务器用的人多,速度时常不太理想,并且需要港澳台服务器进行反向代理,自建门槛有些高了。 那么有没有无需服务器的白嫖方案呢,当然是有的。

薅一下小马哥的羊毛就可以了🐶 小马哥.JPG


准备工作

CDN的本质也是反向代理,不过腾讯CDN可以为我们免去服务器的需求,但是仍需要以下三样东西:

域名 x1

通常我们使用二级域名来做这件事,如:bili.example.com,白嫖方案是使用freenom等免费域名,这里就不赘述申请流程。

域名对应SSL证书 x1

由于B站是全站Https,所以我们的代理域名也需要Https,一般来说域名服务商是提供一些免费的SSL证书的;如果没有, 白嫖方案是使用Let’s Encrypt等免费证书,这里同样不赘述申请流程。

经过实名认证的腾讯云账号 x1

事实证明小马哥的羊毛也不是随便就能薅的,至少得让小马哥知道你是谁🐔

开启CDN

完成准备工作后,登录腾讯云控制台,进入 内容分发网络 仪表盘,在域名管理选项下,选择添加域名,应有如下配置:

  1. 域名配置
    加速区域中国境外加速域名bili.example.com(即准备的域名);加速类型CDN网页小文件(即静态加速)

  2. 源站配置
    源站类型自有源回源协议HTTPS源站地址api.bilibili.com回源HOSTapi.bilibili.com

  3. 服务配置
    回源配置-分片回源:不开启;节点缓存过期配置:选择自定义,将全部文件修改为不缓存,删除其他项

用量封顶配置可以按需配置,设置为10-100M左右即可,防止超量扣费(意义不大,实测个人使用一个月不到1MB, 完全达不到扣费标准)。配置完成选择确认提交进行保存。示例配置如下: 配置

配置证书

进入证书管理 > 证书配置 页面,选择配置证书。域名下拉选择刚刚添加的域名, 分别于证书和私钥两个文本区中粘贴实现准备好的SSL证书内容,选择提交即可。

抓取IP

回到域名管理页面,点击我们的域名查看详情,复制 基础信息 > CNAME域名,如:bili.example.com.cdn.dnsv1.com

转向域名控制台,也就是申请域名时域名服务商提供的控制台,新建一条CNAME解析,将我们的域名:bili.example.com指向刚才复制的CNAME域名,可等待三五分钟以保证解析更新。参考设置如下图: dns

接下来,进入 17ce.com,在输入栏上方选择DNS,右侧选择高级,ISP和区域选项里勾选港澳台、国外,点击检测一下,应有类似结果: 17ce

此时查看解析出的IP中港澳台IP,也就是上图中框选的部分,尽量选择延迟较低的,比如我提取到台湾IP:107.155.58.43。 注意这个IP的归属地也就决定了你的哔哩哔哩解析代理所在的区,可按需求选择香港、台湾或者澳门IP。

完成解析

回到域名解析控制台,将修改之前,也就是上一步添加的CNAME解析,更改为A类,指向上一步获得的港澳台IP,修改完成保存,等待3-5分钟保证解析生效。参考配置如下: 解析配置

使用

到这里我们就完成了所有的配置,接下来就是测试与使用,此方式支持开头提到的脚本、漫游插件以及BiliUWP(非官方)客户端,具体配置方式如下:

解除B站区域限制脚本

安装脚本后点击进入 脚本设置页,在根据我们解析出的IP归属地, 在对应地区的自定义服务器输入框中输入我们的IP,如:bili.example.com,然后在下方的番剧选集中任选一集,如可正常播放即可。脚本设置入口如下图: scripts

BiliRoaming模块

进入哔哩漫游模块设置,点击设置解析服务器,同样的根据我们解析出的IP归属地,找到输入框填入我们的代理域名, 确定然后选择确定并重启客户端。再任选一集带有仅限港澳台地区的番剧,测试是否可以正常播放。(如找不到,请搜索用户哔哩哔哩番剧出差,查看其投稿即可)

BiliUWP客户端

进入设置,开启漫游设置选项,开启全局代理,在详情代理播放代理输入框中填入我们的代理域名,记得输入后点击右侧的保存。搜索代理不用填,没用。接下来和上文一样,选择带有仅限港澳台地区的番剧进行播放测试。

附言

已知此种方式下,BiliRoaming 模块和 BiliUWP 客户端对海外番剧搜索无用,这大概是唯一的缺点。 如遇番剧播放卡顿,以下文章可能有所帮助:

本文参考了以下文章:
使用腾讯云CDN解除哔哩哔哩番剧区域限制
bilibili-helper文档