Greasy Fork

Greasy Fork is available in English.

百度网盘视频播放尊享 VIP | 解锁视频倍数 | 解锁全部清晰度

使用该脚本进入百度网盘视频播放页面,自动解锁 VIP 限制,可以使用 VIP 的绝大多数功能

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==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 })
}))