Chrome扩展程序: BiliGo——B站反版权跳转插件

今天上B站看约会大作战第二季, 点开视频就给自动跳转到了乐视TV, 75秒的垃圾广告虽然挑战观众的忍耐极限, 但也还可以忍受. 但当我看到第三集的时候, 我震惊了, 24分钟的视频被剪到19分钟, 乐视你究竟做了什么! 真他妈是忍无可忍, 这就是我为什么开发BiliGo——B站反版权跳转插件.

事先声明, 本扩展程序不会像其他黑科技一样去替换版权方播放器为B站播放器, 不含牵涉影响版权方内容的操作, 并且所有操作基于用户自愿.

BiliGo的原理是当发现response的status为302时, 强制跳转网页到”https://secure.bilibili.tv/secure”对应的官方播放器, 从根源上避免进入版权方页面.

也就是说, 当你访问http://www.bilibili.tv/video/av1084538/时, 不会跳转到http://comic.letv.com/zt/datealivebili/index.shtml#p3, 而是跳转到https://secure.bilibili.tv/secure,cid=1572653&aid=1084538.

下载地址

点此进入下载页

安装教程

由于本插件未提交到Chrome Web Store,所以需要按照如下步骤安装:

  1. 下载BiliGo.crx.
  2. 打开Chrome的扩展程序页面(或者直接在地址栏输入chrome://extensions/然后回车).
  3. 把BiliGo.crx文件拖动到该页面上.
  4. 出现安装提示.
  5. 点击添加, 安装即可.

源代码

chrome.webRequest.onHeadersReceived.addListener(  
    function(details){
        if(details.statusLine === "HTTP/1.1 302 Moved Temporarily"){
            var url = details.url,
                aid = /video\/av(\d+)/.exec(url)[1],
                xhr = new XMLHttpRequest(),
                cid = '',
                data;

            xhr.open("GET", "http://www.bilibili.tv/m/html5?aid=" + aid, false);
            xhr.send();
            if(xhr.status === 200){
                data = JSON.parse(xhr.responseText);
                cid = /(\d+)\.xml/.exec(data.cid)[1];
            }

            return {
                redirectUrl: "https://secure.bilibili.tv/secure,cid=" + cid + "&aid=" + aid
            };
        }
    },
    {
        urls: [
            "*://www.bilibili.tv/video/*",
            "*://bilibili.kankanews.com/video/*"
        ]
    },
    ["blocking"]
);