Skip to content

Latest commit

 

History

History
109 lines (85 loc) · 4.82 KB

File metadata and controls

109 lines (85 loc) · 4.82 KB

脚本执行助手 (ScriptExecutor)

这是一个轻量级的、纯静态的 Web 工具,用于管理、编辑和生成浏览器书签脚本 (Bookmarklet)。可代替部分油猴功能。它内置了多种实用的开发和浏览辅助脚本,并支持动态加载和扩展。

🚀 功能特点

  • 书签生成器: 将 JavaScript 代码一键转换为 Bookmarklet 格式,方便拖拽到浏览器书签栏。
  • 丰富的预设库: 内置了视频下载、解除限制、开发调试、内容提取等多种分类的实用脚本。
  • 纯静态架构: 无需后端服务器,完全基于 HTML/CSS/JS,可直接部署在任何静态托管服务上。
  • 易于扩展: 脚本配置与核心代码分离,通过 JSON 文件管理。
  • 油猴脚本转换: 附带 CLI 工具,可将 Tampermonkey/Violentmonkey 脚本转换为可在普通浏览器书签中运行的格式。

📂 目录结构

ScriptExecutor/
├── index.html          # 主程序入口
├── scripts/            # 脚本数据目录
│   ├── index.json      # 脚本索引文件
│   └── *.json          # 具体的脚本配置文件
├── tools/              # 脚本导入/转换工具 (CLI)
│   ├── add_script.py   # Python 版工具
│   ├── add_script.js   # Node.js 版工具
│   └── add_script.ps1  # PowerShell 版工具
└── README.md           # 项目说明文档

🛠️ 脚本导入与转换工具

我们提供了命令行工具,用于将普通的 JS 文件或油猴脚本 (UserScript) 自动转换为本项目可用的 JSON 格式预设。

功能亮点

  • 自动解析: 识别油猴脚本的 Metadata (@name, @match, @require 等)。
  • 兼容性垫片 (Shim): 自动注入 GM_getValue, GM_xmlhttpRequest 等 API 的模拟实现,使脚本能在无扩展环境下运行。
  • 多语言支持: 提供 Python, Node.js, PowerShell 三种版本,任选其一。

🆚 对比:本工具 vs 油猴插件 (Tampermonkey)

特性 本工具 (Bookmarklet) 油猴插件 (Extension)
安装方式 拖拽到书签栏 (免安装) 需要安装浏览器扩展
运行方式 手动点击 触发 页面加载时 自动运行
权限要求 仅当前页面权限 需授予扩展广泛权限
移动端支持 支持 (iOS Safari, Android Chrome) 仅部分支持扩展的浏览器 (如 Kiwi)
跨域请求 受限于浏览器 CORS 策略 支持跨域 (GM_xmlhttpRequest)
适用场景 临时工具、特定页面操作、受限环境 全局美化、去广告、长期自动化任务

总结: 本工具适合那些不需要时刻运行、希望随用随点、或者在无法安装扩展的环境(如公司电脑、手机浏览器)下使用的场景。

使用示例

假设你有一个名为 test_script.js 的油猴脚本:

# 1. 进入工具目录
cd tools

# 2. 运行工具 (以 Python 为例)
python add_script.py

# 3. 按提示输入文件路径和信息
# 请输入脚本文件路径: test_script.js
# ... (输入名称、分类等)

# 4. 获取输出
# 工具会在控制台打印出 JSON 内容和 index.json 的配置条目

输出示例:

// 脚本 JSON 内容
{
  "category": "分类",
  "name": "预设名",
  "desc": "功能描述",
  "icon": "📜",
  "value": [
    "(function(){var unsafeWindow=window;...",
    "try{(function(){ ... })();}catch(e){...}",
    "})();"
  ]
}

你需要做的是:

  1. scripts/ 目录下创建一个新文件(例如 DEV_My_Script.json),将生成的 JSON 内容粘贴进去。
  2. 打开 scripts/index.json,将生成的配置条目粘贴到数组中。
  3. 刷新调试网页,即可看到新脚本。

🌐 部署指南 (Cloudflare Pages)

本项目是纯静态的,非常适合部署到 Cloudflare Pages、GitHub Pages 或 Vercel。

部署到 Cloudflare Pages

  1. 将本项目代码提交到 GitHub 或 GitLab 仓库。
  • 亦可以选择Dashbord上传项目代码。(./tools文件夹非必须)
  1. 登录 Cloudflare Dashboard,进入 Workers & Pages -> Create application -> Pages -> Connect to Git
  2. 选择你的仓库。
  3. 构建配置 (Build settings):
    • Project Name: 自定义
    • Framework preset: None (或者不选)
    • Build command: (留空) (不需要构建命令)
    • Build output directory: (留空) (或者填 .,表示根目录)
    • 注意:如果你将 ScriptExecutor 作为仓库的一个子目录,请在 "Root directory" 设置中填入 ScriptExecutor
  4. 点击 Save and Deploy

部署完成后,你将获得一个 *.pages.dev 的域名,即可访问你的脚本助手。