From 7367b06201bd8443680647cfc1db1be06e30c7c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E8=89=AF?= <841369634@qq.com> Date: Fri, 19 Apr 2024 11:55:41 +0800 Subject: [PATCH] =?UTF-8?q?feature:=20=E5=AE=9E=E7=8E=B0=E7=AF=A1=E6=94=B9?= =?UTF-8?q?=E7=8C=B4=EF=BC=88Tampermonkey=EF=BC=8C=E5=88=AB=E5=90=8D?= =?UTF-8?q?=EF=BC=9A=E6=B2=B9=E7=8C=B4=EF=BC=89=E8=84=9A=E6=9C=AC=E7=9A=84?= =?UTF-8?q?=E5=87=A0=E4=B8=AA=20`GM=5Fxxx`=20=E6=96=B9=E6=B3=95=EF=BC=88?= =?UTF-8?q?=E7=9B=AE=E5=89=8D=EF=BC=8C=E8=AF=A5=E6=96=B0=E7=89=B9=E6=80=A7?= =?UTF-8?q?=E8=A7=A3=E9=94=81=E4=BA=86=20`Github=E6=B2=B9=E7=8C=B4?= =?UTF-8?q?=E8=84=9A=E6=9C=AC`=20=E7=9A=84=E6=89=80=E6=9C=89=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/gui/extra/scripts/global.script | 12 - .../gui/extra/scripts/tampermonkey.script | 335 ++++++++++++++++++ packages/mitmproxy/src/lib/monkey/index.js | 53 ++- 3 files changed, 382 insertions(+), 18 deletions(-) delete mode 100644 packages/gui/extra/scripts/global.script create mode 100644 packages/gui/extra/scripts/tampermonkey.script diff --git a/packages/gui/extra/scripts/global.script b/packages/gui/extra/scripts/global.script deleted file mode 100644 index c25cb6d..0000000 --- a/packages/gui/extra/scripts/global.script +++ /dev/null @@ -1,12 +0,0 @@ -(function(){ - const config = {}; - window.__ds_global__={ - GM_registerMenuCommand: () => {}, - GM_unregisterMenuCommand: () => {}, - GM_openInTab: () => {}, - GM_getValue: (key) => config[key], - GM_setValue: (key, value) => { config[key] = value; }, - GM_notification: () => {} - } -}(); -console.log("ds_global completed") \ No newline at end of file diff --git a/packages/gui/extra/scripts/tampermonkey.script b/packages/gui/extra/scripts/tampermonkey.script new file mode 100644 index 0000000..4311a3c --- /dev/null +++ b/packages/gui/extra/scripts/tampermonkey.script @@ -0,0 +1,335 @@ +/** + * @name 篡改猴(Tampermonkey)| 油猴(Greasemonkey)浏览器脚本扩展 + * @description 篡改猴 (Tampermonkey) 是拥有 超过 1000 万用户 的最流行的浏览器扩展之一。 它适用于 Chrome、Microsoft Edge、Safari、Opera Next 和 Firefox。 + * 有些人也会把篡改猴(Tampermonkey)称作油猴(Greasemonkey),尽管后者只是一款仅适用于 Firefox 浏览器的浏览器扩展程序。 + * 它允许用户自定义并增强您最喜爱的网页的功能。用户脚本是小型 JavaScript 程序,可用于向网页添加新功能或修改现有功能。使用 篡改猴,您可以轻松在任何网站上创建、管理和运行这些用户脚本。 + * 例如,使用 篡改猴,您可以向网页添加一个新按钮,可以快速在社交媒体上分享链接,或自动填写带有个人信息的表格。在数字化时代,这特别有用,因为网页常常被用作访问广泛的服务和应用程序的用户界面。 + * 此外,篡改猴 使您轻松找到并安装其他用户创建的用户脚本。这意味着您可以快速轻松地访问为您喜爱的网页定制的广泛库,而无需花费数小时编写自己的代码。 + * 无论您是希望为您的站点添加新功能的 Web 开发人员,还是只是希望 改善在线体验的普通用户,篡改猴 都是您的工具箱中的一个很好的工具。 + * @homepageUrl https://www.tampermonkey.net + */ +'use strict'; +(function () { + const PRE = "DS-Tampermonkey:"; // 前缀 + + const context = { + initialized: false, // 是否已经初始化 + defaultPluginOptions: {}, // 默认插件选项 + pluginElement: null, // 插件div + menusElement: null, // 菜单列表div + menus: {}, // 菜单集合 + menuIndex: 0 // 菜单索引,用于生成menuCmdId + }; + + // 创建插件样式 + function createPluginStyle (options) { + options = options || {}; + + // 创建一个新的