// ==UserScript== // @name Bilibili 旧播放页 // @namespace MotooriKashin // @version 3.3.1 // @description 恢复原生的旧版页面,包括主页和播放页。 // @author MotooriKashin, wly5556 // @supportURL https://github.com/MotooriKashin/Bilibili-Old/issues // @match *://*.bilibili.com/* // @connect bilibili.com // @connect biliplus.com // @connect jijidown.com // @require https://cdn.jsdelivr.net/npm/protobufjs@6.10.1/dist/protobuf.js // @icon https://static.hdslb.com/images/favicon.ico // @grant GM_xmlhttpRequest // @grant GM_getValue // @grant GM_setValue // @run-at document-start // @license MIT License // @downloadURL none // ==/UserScript== (function() { 'use strict'; // 全局变量 let ml, pl, aid, big, cid, mid, oid, pgc, src, tid, uid, url, bvid, limit, defig; let arr = [], ids = [], obj = {}, mdf = {}; let DOCUMENT, __playinfo__, __INITIAL_STATE__; let LOCATION = document.location.href.split('/'); // protobuf初始化 const root = protobuf.Root.fromJSON(JSON.parse('{"nested":{"bilibili":{"nested":{"DmWebViewReply":{"fields":{"state":{"type":"int32","id":1},"text":{"type":"string","id":2},"textSide":{"type":"string","id":3},"dmSge":{"type":"DmSegConfig","id":4},"flag":{"type":"DanmakuFlagConfig","id":5},"specialDms":{"rule":"repeated","type":"string","id":6},"checkBox":{"type":"bool","id":7},"count":{"type":"int64","id":8},"commandDms":{"rule":"repeated","type":"CommandDm","id":9},"dmSetting":{"type":"DanmuWebPlayerConfig","id":10}}},"CommandDm":{"fields":{"id":{"type":"int64","id":1},"oid":{"type":"int64","id":2},"mid":{"type":"int64","id":3},"command":{"type":"string","id":4},"content":{"type":"string","id":5},"progress":{"type":"int32","id":6},"ctime":{"type":"string","id":7},"mtime":{"type":"string","id":8},"extra":{"type":"string","id":9},"idStr":{"type":"string","id":10}}},"DmSegConfig":{"fields":{"pageSize":{"type":"int64","id":1},"total":{"type":"int64","id":2}}},"DanmakuFlagConfig":{"fields":{"recFlag":{"type":"int32","id":1},"recText":{"type":"string","id":2},"recSwitch":{"type":"int32","id":3}}},"DmSegMobileReply":{"fields":{"elems":{"rule":"repeated","type":"DanmakuElem","id":1}}},"DanmakuElem":{"fields":{"id":{"type":"int64","id":1},"progress":{"type":"int32","id":2},"mode":{"type":"int32","id":3},"fontsize":{"type":"int32","id":4},"color":{"type":"uint32","id":5},"midHash":{"type":"string","id":6},"content":{"type":"string","id":7},"ctime":{"type":"int64","id":8},"weight":{"type":"int32","id":9},"action":{"type":"string","id":10},"pool":{"type":"int32","id":11},"idStr":{"type":"string","id":12}}},"DanmuWebPlayerConfig":{"fields":{"dmSwitch":{"type":"bool","id":1},"aiSwitch":{"type":"bool","id":2},"aiLevel":{"type":"int32","id":3},"blocktop":{"type":"bool","id":4},"blockscroll":{"type":"bool","id":5},"blockbottom":{"type":"bool","id":6},"blockcolor":{"type":"bool","id":7},"blockspecial":{"type":"bool","id":8},"preventshade":{"type":"bool","id":9},"dmask":{"type":"bool","id":10},"opacity":{"type":"float","id":11},"dmarea":{"type":"int32","id":12},"speedplus":{"type":"float","id":13},"fontsize":{"type":"float","id":14},"screensync":{"type":"bool","id":15},"speedsync":{"type":"bool","id":16},"fontfamily":{"type":"string","id":17},"bold":{"type":"bool","id":18},"fontborder":{"type":"int32","id":19},"drawType":{"type":"string","id":20}}}}}}}')); const protoSeg = root.lookupType('bilibili.DmSegMobileReply'); const protoView = root.lookupType('bilibili.DmWebViewReply'); // 脚本默认设置:0 - 关闭,1 - 开启,2 - ?! // 一般直接修改这里无效,脚本读取的是管理器中的数据 // 个别无法在设置界面调整的选项才能在这里修改并生效 const config = { rewrite: { av: 1, bangumi: 1, watchlater: 1, frame: 1, home: 1, playlist: 1, medialist: 1, }, reset: { danmuku: 1, limit: 1, grobalboard: 1, replyfloor: 1, headblur: 0, preview: 1, jointime: 1, lostvideo: 1, bvid2av: 1, selectdanmu: 0, episodedata: 1, like: 1, static: 1, download: 1, heartbeat: 0, carousel: 0, adloc: 0, roomplay: 0, history: 0 }, big: 0 } // 统一api接口 const API = { // 网页框架 pageframe: { watchlater: '