小破站?区域限制?看懂这个项目后,番剧任你看~
Editor's Note
鸭哥推荐的工具挺牛逼~
The following article is from 小黄鸭编程社区 Author 老鬼
最近,鸭哥被朋友推荐了一部番,拿到番剧名字后的第一件事,就是先上B站看看有没有资源,但搜索之后一看——区域限制。
???有什么番是我们这些高贵的会员们不能看的吗?
当然,这种情况的发生,主要还是和B站的版权问题有关,笔者注意到,有区域限制的番剧还是挺多的,其中也不乏今年才上的新番。
正当鸭哥准备遗憾地关闭网站时,突然想起自己以前逛github的时,曾看到过一个关于如何解除B站区域限制的项目。当时看到这个项目时只是简单瞄了一眼,毕竟觉得自己用不到,就没有保存,所以还浪费了点时间去找它。
最终,还是被鸭哥找到来,如下图
将项目下载后打开,可以看到里面的文件还是很清晰明了的,除了解除B站区域限制这个脚本以外,项目中还有优化B站页面、去除知乎”APP内查看“按钮等几个脚本,感兴趣的朋友也可以看看。
当然,我们的重点还是放在解除B站区域限制上。先看了看代码,原理还是比较简单的,就是将B站获取视频地址的接口替换了,让浏览器能拉取到视频链接。需要注意的是,这个脚本是针对H5页面开发的,APP是不能用的哦。
const: {
mode: {
DEFAULT: 'default',// 默认模式, 自动判断使用何种模式, 推荐;
REPLACE: 'replace', // 替换模式, 替换有区域限制的视频的接口的返回值;
REDIRECT: 'redirect',// 重定向模式, 直接重定向所有番剧视频的接口到代理服务器; 所有番剧视频都通过代理服务器获取视频地址, 如果代理服务器不稳定, 可能加载不出视频;
},
server: {
S0: 'https://biliplus.ipcjs.top',
S1: 'https://www.biliplus.com',
CUSTOM: '__custom__',
defaultServer: function () {
return this.S1
},
},
TRUE: 'Y',
FALSE: '',
},
transToProxyUrl: function (originUrl) {
const api_url = 'https://interface.bilibili.com/playurl?'
const bangumi_api_url = 'https://bangumi.bilibili.com/player/web_api/playurl?'
const SEC_NORMAL = '1c15888dc316e05a15fdd0a02ed6584f'
const SEC_BANGUMI = '9b288147e5474dd2aa67085f716c560d'
// 不设置module; 带module的接口都是有区域限制的...
let module = undefined /*util_url_param(originUrl, 'module')*/
// 不使用json; 让服务器直接返回json时, 获取的视频url不能直接播放...天知道为什么
let useJson = false
let paramDict = {
cid: util_url_param(originUrl, 'cid'),
quality: util_url_param(originUrl, 'quality'),
qn: util_url_param(originUrl, 'qn'), // 增加这个参数, 返回的清晰度更多
player: 1,
ts: Math.floor(Date.now() / 1000),
}
if (localStorage.access_key) {
paramDict.access_key = localStorage.access_key
}
if (module) paramDict.module = module
if (useJson) paramDict.otype = 'json'
let { sign, params } = util_generate_sign(paramDict, module ? SEC_BANGUMI : SEC_NORMAL)
let url = module ? bangumi_api_url : api_url + params + '&sign=' + sign
return url
},
使用这个脚本时,需要用到扩展程序Tampermonkey,开发者也有引导,在此不作赘述。不过使用谷歌浏览器的朋友,在添加Tampermonkey的过程中,可能会遇到“无法从该网站添加应用、扩展程序和用户脚本”的情况。
这时需要右键点击谷歌浏览器的快捷方式,选择“属性”,在目标(T)后添加一段参数“ --enable-easy-off-store-extension-install”
修改完成后,再将Tampermonkey的crx文件拖入浏览器中,即可添加成功
运行脚本后再次刷新网页,番剧成功打开~
最后,附上项目链接:https://github.com/ipcjs/bilibili-helper。
喜欢这篇文字的朋友可以一键三连,支持一下鸭哥,以后鸭哥还会继续推荐更多有趣实用的项目哦,鞠躬~
最后,推荐给大家一个有趣有料的公众号:程序员Tools,该公众号主要为大家分享有趣有料的开发者工具,还有老鬼给你带路,永不迷路~
扫描关注,永不迷路