// ==UserScript== // @name 抖音优化 // @namespace https://github.com/WhiteSevs/TamperMonkeyScript // @version 2025.4.23 // @author WhiteSevs // @description 视频过滤,包括广告、直播或自定义规则,伪装登录、屏蔽登录弹窗、自定义清晰度选择、未登录解锁画质选择、禁止自动播放、自动进入全屏、双击进入全屏、屏蔽弹幕和礼物特效、手机模式、修复进度条拖拽、自定义视频和评论区背景色等 // @license GPL-3.0-only // @icon data:image/png;base64,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 // @supportURL https://github.com/WhiteSevs/TamperMonkeyScript/issues // @match *://*.douyin.com/* // @match *://*.iesdouyin.com/* // @require https://fastly.jsdelivr.net/gh/WhiteSevs/TamperMonkeyScript@86be74b83fca4fa47521cded28377b35e1d7d2ac/lib/CoverUMD/index.js // @require https://fastly.jsdelivr.net/npm/@whitesev/utils@2.6.5/dist/index.umd.js // @require https://fastly.jsdelivr.net/npm/@whitesev/domutils@1.5.3/dist/index.umd.js // @require https://fastly.jsdelivr.net/npm/@whitesev/pops@2.0.2/dist/index.umd.js // @require https://fastly.jsdelivr.net/npm/qmsg@1.3.1/dist/index.umd.js // @connect * // @grant GM_deleteValue // @grant GM_getResourceText // @grant GM_getValue // @grant GM_info // @grant GM_registerMenuCommand // @grant GM_setValue // @grant GM_unregisterMenuCommand // @grant GM_xmlhttpRequest // @grant unsafeWindow // @run-at document-start // @downloadURL none // ==/UserScript== (function (Qmsg, Utils, DOMUtils, pops) { 'use strict'; var __defProp = Object.defineProperty; var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); var _a; var _GM_deleteValue = /* @__PURE__ */ (() => typeof GM_deleteValue != "undefined" ? GM_deleteValue : void 0)(); var _GM_getResourceText = /* @__PURE__ */ (() => typeof GM_getResourceText != "undefined" ? GM_getResourceText : void 0)(); var _GM_getValue = /* @__PURE__ */ (() => typeof GM_getValue != "undefined" ? GM_getValue : void 0)(); var _GM_info = /* @__PURE__ */ (() => typeof GM_info != "undefined" ? GM_info : void 0)(); var _GM_registerMenuCommand = /* @__PURE__ */ (() => typeof GM_registerMenuCommand != "undefined" ? GM_registerMenuCommand : void 0)(); var _GM_setValue = /* @__PURE__ */ (() => typeof GM_setValue != "undefined" ? GM_setValue : void 0)(); var _GM_unregisterMenuCommand = /* @__PURE__ */ (() => typeof GM_unregisterMenuCommand != "undefined" ? GM_unregisterMenuCommand : void 0)(); var _GM_xmlhttpRequest = /* @__PURE__ */ (() => typeof GM_xmlhttpRequest != "undefined" ? GM_xmlhttpRequest : void 0)(); var _unsafeWindow = /* @__PURE__ */ (() => typeof unsafeWindow != "undefined" ? unsafeWindow : void 0)(); var _monkeyWindow = /* @__PURE__ */ (() => window)(); const KEY = "GM_Panel"; const ATTRIBUTE_INIT = "data-init"; const ATTRIBUTE_KEY = "data-key"; const ATTRIBUTE_DEFAULT_VALUE = "data-default-value"; const ATTRIBUTE_INIT_MORE_VALUE = "data-init-more-value"; const PROPS_STORAGE_API = "data-storage-api"; const UISelect = function(text, key, defaultValue, data, callback, description) { let selectData = []; if (typeof data === "function") { selectData = data(); } else { selectData = data; } let result = { text, type: "select", description, attributes: {}, props: {}, getValue() { return this.props[PROPS_STORAGE_API].get(key, defaultValue); }, callback(event, isSelectedValue, isSelectedText) { let value = isSelectedValue; log.info(`选择:${isSelectedText}`); this.props[PROPS_STORAGE_API].set(key, value); if (typeof callback === "function") { callback(event, value, isSelectedText); } }, data: selectData }; Reflect.set(result.attributes, ATTRIBUTE_KEY, key); Reflect.set(result.attributes, ATTRIBUTE_DEFAULT_VALUE, defaultValue); Reflect.set(result.props, PROPS_STORAGE_API, { get(key2, defaultValue2) { return PopsPanel.getValue(key2, defaultValue2); }, set(key2, value) { PopsPanel.setValue(key2, value); } }); return result; }; const UISwitch = function(text, key, defaultValue, clickCallBack, description, afterAddToUListCallBack) { let result = { text, type: "switch", description, attributes: {}, props: {}, getValue() { return Boolean( this.props[PROPS_STORAGE_API].get(key, defaultValue) ); }, callback(event, __value) { let value = Boolean(__value); log.success(`${value ? "开启" : "关闭"} ${text}`); this.props[PROPS_STORAGE_API].set(key, value); }, afterAddToUListCallBack }; Reflect.set(result.attributes, ATTRIBUTE_KEY, key); Reflect.set(result.attributes, ATTRIBUTE_DEFAULT_VALUE, defaultValue); Reflect.set(result.props, PROPS_STORAGE_API, { get(key2, defaultValue2) { return PopsPanel.getValue(key2, defaultValue2); }, set(key2, value) { PopsPanel.setValue(key2, value); } }); return result; }; const afterEnterDeepMenuCallBack = (formConfig, container) => { let $oneClickOpen = container.sectionBodyContainer.querySelector( ".keyboard-oneClickOpen" ); let $oneClickClose = container.sectionBodyContainer.querySelector( ".keyboard-oneClickClose" ); let clickCallBack = (isOpen) => { var _a2; (_a2 = container.sectionBodyContainer) == null ? void 0 : _a2.querySelectorAll(".pops-panel-switch").forEach(($ele) => { let $input = $ele.querySelector( ".pops-panel-switch__input" ); let $checkbox = $ele.querySelector( ".pops-panel-switch__core" ); if (isOpen) { if (!$input.checked) { $checkbox.click(); } } else { if ($input.checked) { $checkbox.click(); } } }); }; domUtils.on($oneClickOpen, "click", (event) => { utils.preventEvent(event); clickCallBack(true); }); domUtils.on($oneClickClose, "click", (event) => { utils.preventEvent(event); clickCallBack(false); }); }; const AutoOpenOrClose = { text: ( /*html*/ `
注:开启是禁用该快捷键、关闭是不禁用该快捷键
禁用全部快捷键WebGL
` ) }); let $leftDesc = $left.querySelector( ".pops-panel-item-left-desc-text" ); let gpuInfo = ""; try { gpuInfo = getGPU(); } catch (error) { log.error(error); gpuInfo = error.toString(); } domUtils.text($leftDesc, gpuInfo); domUtils.append(liElement, $left); return liElement; } }, { text: "功能", type: "deepMenu", forms: [ { text: "", type: "forms", forms: [ UISwitch( "伪装登录", "disguiseLogin", false, void 0, "使用随机UID进行伪装" ), UISwitch( "initial-scale=1", "dy-initialScale", false, void 0, "可配合手机模式放大页面" ), UISwitch( "移除 apple-itunes-app", "dy-apple-removeMetaAppleItunesApp", true, void 0, "Safari使用,移除顶部横幅【Open in the 抖音 app】" ), UISwitch( "监听Router改变", "dy-common-listenRouterChange", true, void 0, "功能重载" ), UISwitch( "移除某些Cookie", "dy-cookie-remove__ac__", false, void 0, "阻止触发验证弹窗(maybe)" ) ] }, { text: "Url重定向", type: "forms", forms: [ UISwitch( "重定向/home", "douyin-redirect-url-home-to-root", false, void 0, "/home => /" ) ] } ] }, { type: "deepMenu", text: "禁用抖音快捷键", afterEnterDeepMenuCallBack: AutoOpenOrClose.afterEnterDeepMenuCallBack, forms: [ { type: "forms", text: AutoOpenOrClose.text, forms: [ UISwitch( "赞|取消赞", "dy-keyboard-hook-likeOrDislike", false, void 0, "Z" ), UISwitch( "评论", "dy-keyboard-hook-comment", false, void 0, "X" ), UISwitch( "开启/关闭弹幕", "dy-keyboard-hook-danmaku-enable", false, void 0, "B" ), UISwitch( "收藏/取消收藏", "dy-keyboard-hook-collect-enable", false, void 0, "C" ), UISwitch( "复制分享口令", "dy-keyboard-hook-copyShareLink", false, void 0, "V" ), UISwitch( "清屏", "dy-keyboard-hook-clearScreen", false, void 0, "J" ), UISwitch( "自动连播", "dy-keyboard-hook-automaticBroadcast", false, void 0, "K" ), UISwitch( "视频信息", "dy-keyboard-hook-videoInfo", false, void 0, "I" ), UISwitch( "不感兴趣", "dy-keyboard-hook-notInterested", false, void 0, "R" ), UISwitch( "进入作者主页", "dy-keyboard-hook-enterAuthorHomePage", false, void 0, "F" ), UISwitch( "关注/取消关注", "dy-keyboard-hook-follow", false, void 0, "G" ), UISwitch( "抖音搜索", "dy-keyboard-hook-search", false, void 0, "Shift+F" ), UISwitch( "一键关闭当前页", "dy-keyboard-hook-closeTheCurrentPageWithOneClick", false, void 0, "Shift+Q" ), UISwitch( "上下翻页", "dy-keyboard-hook-pageUpAndDown", false, void 0, "↑↓" ), UISwitch( "快进快退", "dy-keyboard-hook-fastForwardAndFastBack", false, void 0, "← →" ), UISwitch( "暂停", "dy-keyboard-hook-pause", false, void 0, "空格" ), UISwitch( "网页内全屏", "dy-keyboard-hook-fullScreenInsideThePage", false, void 0, "Y" ), UISwitch( "全屏", "dy-keyboard-hook-fullScreen", false, void 0, "H" ), UISwitch( "稍后再看", "dy-keyboard-hook-watchItOutLater", false, void 0, "L" ), UISwitch( "音量调整", "dy-keyboard-hook-volumeAdjustment", false, void 0, "Shift + / Shift -" ), UISwitch( "呼出快捷键列表", "dy-keyboard-hook-listOfCallShortcutKeys", false, void 0, "?" ), UISwitch( "关闭快捷键列表", "dy-keyboard-hook-closeTheShortcutKeyList", false, void 0, "ESC" ), UISwitch( "相关推荐", "dy-keyboard-hook-relevantRecommendation", false, void 0, "N" ) ] } ] } ] }, { text: "", type: "forms", forms: [ { text: "布局屏蔽-全局", type: "deepMenu", afterEnterDeepMenuCallBack: AutoOpenOrClose.afterEnterDeepMenuCallBack, forms: [ { type: "forms", text: AutoOpenOrClose.text, forms: [ UISwitch( "【屏蔽】登录弹窗", "watchLoginDialogToClose", true, void 0, "屏蔽元素且自动等待元素出现并关闭登录弹窗" ), UISwitch( "【屏蔽】底部?按钮", "shieldBottomQuestionButton", true, void 0, "屏蔽元素" ) ] } ] }, { text: "布局屏蔽-左侧导航栏", type: "deepMenu", afterEnterDeepMenuCallBack: AutoOpenOrClose.afterEnterDeepMenuCallBack, forms: [ { type: "forms", text: AutoOpenOrClose.text, forms: [ UISwitch( "【屏蔽】左侧导航栏", "shieldLeftNavigator", false, void 0, "屏蔽元素" ), UISwitch( "【屏蔽】首页", "shieldLeftNavigator-tab-home", false, void 0, "屏蔽元素" ), UISwitch( "【屏蔽】推荐", "shieldLeftNavigator-tab-recommend", false, void 0, "屏蔽元素" ), UISwitch( "【屏蔽】关注", "shieldLeftNavigator-tab-follow", false, void 0, "屏蔽元素" ), UISwitch( "【屏蔽】朋友", "shieldLeftNavigator-tab-friend", false, void 0, "屏蔽元素" ), UISwitch( "【屏蔽】我的", "shieldLeftNavigator-tab-user_self", false, void 0, "屏蔽元素" ), UISwitch( "【屏蔽】喜欢", "shieldLeftNavigator-tab-user_self_like", false, void 0, "屏蔽元素" ), UISwitch( "【屏蔽】收藏", "shieldLeftNavigator-tab-user_self_collection", false, void 0, "屏蔽元素" ), UISwitch( "【屏蔽】观看历史", "shieldLeftNavigator-tab-user_self_record", false, void 0, "屏蔽元素" ), UISwitch( "【屏蔽】看奥运", "shieldLeftNavigator-tab-olympics", false, void 0, "屏蔽元素" ), UISwitch( "【屏蔽】直播", "shieldLeftNavigator-tab-live", false, void 0, "屏蔽元素" ), UISwitch( "【屏蔽】放映厅", "shieldLeftNavigator-tab-vs", false, void 0, "屏蔽元素" ), UISwitch( "【屏蔽】短剧", "shieldLeftNavigator-tab-series", false, void 0, "屏蔽元素" ), UISwitch( "【屏蔽】知识", "shieldLeftNavigator-tab-channel_300203", false, void 0, "屏蔽元素" ), UISwitch( "【屏蔽】游戏", "shieldLeftNavigator-tab-channel_300205", false, void 0, "屏蔽元素" ), UISwitch( "【屏蔽】二次元", "shieldLeftNavigator-tab-channel_300206", false, void 0, "屏蔽元素" ), UISwitch( "【屏蔽】音乐", "shieldLeftNavigator-tab-channel_300209", false, void 0, "屏蔽元素" ), UISwitch( "【屏蔽】美食", "shieldLeftNavigator-tab-channel_300204", false, void 0, "屏蔽元素" ), UISwitch( "【屏蔽】美好跨年季", "shieldLeftNavigator-tab-activity_2644292", false, void 0, "屏蔽元素" ), UISwitch( "【屏蔽】2025新春环游记", "shieldLeftNavigator-tab-activity_2643710", false, void 0, "屏蔽元素" ) ] } ] }, { text: "布局屏蔽-顶部导航栏", type: "deepMenu", afterEnterDeepMenuCallBack: AutoOpenOrClose.afterEnterDeepMenuCallBack, forms: [ { text: AutoOpenOrClose.text, type: "forms", forms: [ UISwitch( "【屏蔽】顶部导航栏", "shieldTopNavigator", false, void 0, "屏蔽元素" ), UISwitch( "【屏蔽】右侧菜单栏", "shield-topNav-rightMenu", false, void 0, "屏蔽元素" ), UISwitch( "【屏蔽】客户端提示", "shieldClientTip", true, void 0, "屏蔽元素" ), UISwitch( "【屏蔽】充钻石", "shieldFillingBricksAndStones", true, void 0, "屏蔽元素" ), UISwitch( "【屏蔽】客户端", "shieldClient", true, void 0, "屏蔽元素" ), UISwitch( "【屏蔽】快捷访问", "shieldQuickAccess", false, void 0, "屏蔽元素" ), UISwitch( "【屏蔽】通知", "shieldNotifitation", false, void 0, "屏蔽元素" ), UISwitch( "【屏蔽】私信", "shieldPrivateMessage", false, void 0, "屏蔽元素" ), UISwitch( "【屏蔽】投稿", "shieldSubmission", false, void 0, "屏蔽元素" ), UISwitch( "【屏蔽】壁纸", "shieldWallpaper", false, void 0, "屏蔽元素" ), UISwitch( "【屏蔽】更多", "shield-topNav-rightMenu-more", false, void 0, "屏蔽元素" ), UISwitch( "【屏蔽】登录头像", "shield-topNav-rightMenu-loginAvatar", false, void 0, "屏蔽元素" ) ] } ] }, { text: "布局屏蔽-搜索", type: "deepMenu", afterEnterDeepMenuCallBack: AutoOpenOrClose.afterEnterDeepMenuCallBack, forms: [ { text: AutoOpenOrClose.text, type: "forms", forms: [ UISwitch( "【屏蔽】搜索框", "shieldSearch", false, void 0, "屏蔽元素" ), UISwitch( "【屏蔽】搜索框的提示", "shieldSearchPlaceholder", false, void 0, "屏蔽元素" ), UISwitch( "【屏蔽】猜你想搜", "shieldSearchGuessYouWantToSearch", false, void 0, "屏蔽元素" ), UISwitch( "【屏蔽】抖音热点", "shieldSearchTiktokHotspot", false, void 0, "屏蔽元素" ) ] } ] }, { type: "deepMenu", text: "布局屏蔽-鼠标悬浮提示", afterEnterDeepMenuCallBack: AutoOpenOrClose.afterEnterDeepMenuCallBack, forms: [ { type: "forms", text: AutoOpenOrClose.text + "