Greasy Fork is available in English.
使用该脚本进入百度网盘视频播放页面,自动解锁 VIP 限制,可以使用 VIP 的绝大多数功能
// ==UserScript== // @name 百度网盘视频播放尊享 VIP | 解锁视频倍数 | 解锁全部清晰度 // @namespace https://timer.palerock.cn // @version 0.1.1 // @description 使用该脚本进入百度网盘视频播放页面,自动解锁 VIP 限制,可以使用 VIP 的绝大多数功能 // @include https://pan.baidu.com/play/video* // @include https://pan.baidu.com/s/* // @include https://pan.baidu.com/mbox/* // @include https://timer.palerock.cn/configuration* // @author Cangshi // @run-at document-start // @grant none // ==/UserScript== !function(e, t) { 'object' == typeof exports && 'undefined' != typeof module ? t(exports) : 'function' == typeof define && define.amd ? define(['exports'], t) : t((e = 'undefined' != typeof globalThis ? globalThis : e || self).$hookBaiduPanVideo = {}) }(this, (function(e) { 'use strict' function t(e, t) { if (!(e instanceof t)) throw new TypeError('Cannot call a class as a function') } function n(e, t) { for (var n = 0; n < t.length; n++) { var o = t[n] o.enumerable = o.enumerable || !1, o.configurable = !0, 'value' in o && (o.writable = !0), Object.defineProperty(e, o.key, o) } } function o(e, t, o) { return t && n(e.prototype, t), o && n(e, o), e } function i(e) { if (void 0 === e) throw new ReferenceError('this hasn\'t been initialised - super() hasn\'t been called') return e } function r(e) { return (r = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) { return e.__proto__ || Object.getPrototypeOf(e) })(e) } function u(e, t, n) { return (u = 'undefined' != typeof Reflect && Reflect.get ? Reflect.get : function(e, t, n) { var o = function(e, t) { for (; !Object.prototype.hasOwnProperty.call(e, t) && null !== (e = r(e));) return e }(e, t) if (o) { var i = Object.getOwnPropertyDescriptor(o, t) return i.get ? i.get.call(n) : i.value } })(e, t, n || e) } function a(e, t) { return (a = Object.setPrototypeOf || function(e, t) { return e.__proto__ = t, e })(e, t) } function c(e) { return (c = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function(e) { return typeof e } : function(e) { return e && 'function' == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? 'symbol' : typeof e })(e) } function f(e, t) { return !t || 'object' !== c(t) && 'function' != typeof t ? i(e) : t } function l(e, t, n) { return t in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = n, e } var s, p function y() { return null == p && (p = 'undefined' == typeof unsafeWindow ? window : unsafeWindow), p } function d() { var e = y().parent !== y() try { e = e && 'FRAMESET' !== y().parent.document.body.tagName } catch (e) { } return e } !function(e) { e.BOOLEAN = 'boolean', e.STRING = 'string', e.NUMBER = 'number', e.SHORTCUT = 'shortcut', e.LONG_STRING = 'long_string', e.DATE = 'date', e.COLOR = 'color', e.ARRAY = 'array', e.PICKLIST = 'picklist', e.DUELING_PICKLIST = 'dueling_picklist' }(s || (s = {})) var h = '__hooks_load_module', v = '___hooks_preModules' var g = function() { if (!d()) { for (var e, t = arguments.length, n = new Array(t), o = 0; o < t; o++) n[o] = arguments[o] n.unshift('[TimerHook]'), (e = console).warn.apply(e, n) } }, b = function() { function e() { t(this, e), l(this, 'host', void 0), l(this, 'isActive', !1), l(this, 'isMountHost', !1) } return o(e, [{ key: 'mountHost', value: function(e) { this.host = e, this.isMountHost = !0, this.onMounted() } }, { key: 'activate', value: function() { this.isActive = !0, this.init() } }, { key: 'deactivate', value: function() { this.isActive = !1, this.onDestroy() } }, { key: 'moduleName', get: function() { } }, { key: 'priority', get: function() { return 50 } }, { key: 'autoActivate', get: function() { return !0 } }, { key: 'isCoreModule', get: function() { return !1 } }, { key: 'isOnlyOuterIframe', get: function() { return !1 } }, { key: 'getDependencyModule', value: function(e) { if (null != this.host) { var t = this.host.getModule(e) return t && t.moduleIdentityName ? t : void 0 } } }, { key: 'init', value: function() { } }, { key: 'onMounted', value: function() { } }, { key: 'onDestroy', value: function() { } }, { key: 'declareConfigs', value: function() { return [] } }, { key: 'setConfig', value: function(e, t) { var n = this.getDependencyModule('configs') n && n.available() || g('Config module not found, can\'t set configs values.'), n.setValue(this.moduleIdentityName, e, t) } }, { key: 'getConfig', value: function(e) { var t, n = this.getDependencyModule('configs'), o = (this.declareConfigs().find((function(t) { return t.key === e })) || {}).default return n && n.available() && null !== (t = n.getValue(this.moduleIdentityName, e)) && void 0 !== t ? t : o } }, { key: 'window', get: function() { return this.host ? this.host.getWindow() : y() } }, { key: 'document', get: function() { return this.window.document } }]), e }() function k(e) { var t = function() { if ('undefined' == typeof Reflect || !Reflect.construct) return !1 if (Reflect.construct.sham) return !1 if ('function' == typeof Proxy) return !0 try { return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], (function() { }))), !0 } catch (e) { return !1 } }() return function() { var n, o = r(e) if (t) { var i = r(this).constructor n = Reflect.construct(o, arguments, i) } else n = o.apply(this, arguments) return f(this, n) } } var m = ['loc', 'als'].join(''), O = ['locals', 'back'].join('_'), w = new (function(e) { !function(e, t) { if ('function' != typeof t && null !== t) throw new TypeError('Super expression must either be null or a function') e.prototype = Object.create(t && t.prototype, { constructor: { value: e, writable: !0, configurable: !0 } }), t && a(e, t) }(c, e) var n = k(c) function c() { var e t(this, c) for (var o = arguments.length, r = new Array(o), u = 0; u < o; u++) r[u] = arguments[u] return l(i(e = n.call.apply(n, [this].concat(r))), 'hasInit', !1), e } return o(c, [{ key: 'moduleIdentityName', get: function() { return 'baiduPanVideo' } }, { key: 'moduleName', get: function() { return '百度网盘视频 VIP' } }, { key: 'init', value: function() { u(r(c.prototype), 'init', this).call(this), this.hasInit || (this.applyVipRoles(), this.hasInit = !0) } }, { key: 'priority', get: function() { return 0 } }, { key: 'getConfigMapper', value: function(e) { var t = this return e.reduce((function(e, n) { return e[n] = t.getConfig(n), e }), {}) } }, { key: 'getterMapper', get: function() { return this.getConfigMapper(['hitvideosample']) } }, { key: 'setterMapper', get: function() { return this.getConfigMapper(['is_vip', 'is_svip', 'is_evip', 'show_vip_ad', 'vip_level']) } }, { key: 'applyVipRoles', value: function() { var e = this.window, t = this.getterMapper, n = this.setterMapper Object.defineProperty(e, m, { get: function() { var n = e[O].get return e[O].get = function() { var e = Array.prototype.slice.call(arguments) if (e.length > 1) { var o = e[e.length - 1] e[e.length - 1] = function() { var n = Array.prototype.slice.call(arguments) return n.forEach((function(o, i) { e[i] in t && (n[i] = t[e[i]]) })), o.apply(this, n) } } else if (e[0] in t) return t[e[0]] return n.apply(this, e) }, e[O] }, set: function(t) { e[O] = t var o = e[O].set e[O].set = function() { var e = Object.keys(n) return e.includes(arguments[0]) && (arguments[1] = n[arguments[0]]), o.apply(this, arguments) } } }) } }, { key: 'declareConfigs', value: function() { return [{ key: 'is_vip', default: !0, type: s.BOOLEAN, title: '普通 VIP' }, { key: 'is_svip', default: !0, type: s.BOOLEAN, title: '超级 VIP' }, { key: 'is_evip', default: !0, type: s.BOOLEAN, title: '临时 VIP' }, { key: 'show_vip_ad', default: !0, type: s.BOOLEAN, title: '播放 VIP 广告' }, { key: 'hitvideosample', default: !0, type: s.BOOLEAN, title: '使用 VIP 播放器' }, { key: 'vip_level', default: 7, type: s.NUMBER, title: '用户 VIP 等级' }] } }]), c }(b)) !function(e) { y()[h] ? y().dispatchEvent(new CustomEvent(h, { detail: e })) : (window[v] = window[v] || [], window[v].push(e)) }(w), w.init(), e.baiduPanVideo = w, Object.defineProperty(e, '__esModule', { value: !0 }) }))