查看原文
其他

小破站?区域限制?看懂这个项目后,番剧任你看~

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 = falselet 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 = moduleif (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=' + signreturn url },


使用这个脚本时,需要用到扩展程序Tampermonkey,开发者也有引导,在此不作赘述。不过使用谷歌浏览器的朋友,在添加Tampermonkey的过程中,可能会遇到“无法从该网站添加应用、扩展程序和用户脚本”的情况。




这时需要右键点击谷歌浏览器的快捷方式,选择“属性”,在目标(T)后添加一段参数“ --enable-easy-off-store-extension-install”

 


修改完成后,再将Tampermonkey的crx文件拖入浏览器中,即可添加成功

 


运行脚本后再次刷新网页,番剧成功打开~



最后,附上项目链接:https://github.com/ipcjs/bilibili-helper。


喜欢这篇文字的朋友可以一键三连,支持一下鸭哥,以后鸭哥还会继续推荐更多有趣实用的项目哦,鞠躬~


热门推荐:




最后,推荐给大家一个有趣有料的公众号:程序员Tools,该公众号主要为大家分享有趣有料的开发者工具,还有老鬼给你带路,永不迷路~

扫描关注,永不迷路


点击阅读原文,获得更多精彩内容!
: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存