一个完全在浏览器本地运行的开发者工具箱 Chrome 扩展(Manifest V3)。无需账号,除可选的 AI 问答外无需联网,所有输入、转换与生成结果都只留在本机。
共 35 个工具,按类别组织,支持搜索、中英文切换与深色 / 浅色主题:
| 类别 | 工具 | 说明 |
|---|---|---|
| 工作台 | 工作台 | 按职业推荐工具、收藏常用工具,并一键运行自动化工作流 |
| 数据处理 | JSON 格式化 | 格式化、压缩、校验 JSON,并定位语法错误 |
| 数据处理 | 文本处理 | 字符 / 行统计、去重、排序、大小写与空白清理 |
| 数据处理 | 正则测试 | 实时匹配、高亮、分组查看与替换 |
| 数据处理 | XML 格式化 | 格式化、压缩与校验 XML,并定位语法错误 |
| 数据处理 | 文本差异对比 | 逐行比较两段文本,高亮新增、删除与相同内容 |
| 编码转换 | Base64 编解码 | UTF-8 文本与 URL 安全格式互转 |
| 编码转换 | URL 编解码 | URI 组件 / 完整 URI 的百分号编码与解码 |
| 编码转换 | HTML 实体 | HTML 实体编码、解码与非 ASCII 数字实体 |
| 编码转换 | JWT 解析 | 解析 Header / Payload,并支持 HS256/384/512 签发与验签(含 none) |
| 编码转换 | Unicode 转义 | 文本与 \uXXXX / \u{...} 转义序列互转 |
| 编码转换 | 图片转 Base64 | 图片 ↔ Base64 / Data URL 双向转换,可预览并下载还原的图片 |
| 开发工具 | 哈希计算 | MD5、SHA-1/256/384/512,并支持 HMAC(SHA-1/256/384/512)与 CRC32 |
| 开发工具 | 文件哈希 | 本地计算文件摘要,适合校验下载完整性 |
| 开发工具 | 时间戳转换 | Unix 时间戳与本地时间、UTC、ISO 8601 互转 |
| 开发工具 | 密码生成器 | 加密安全随机密码,可评估熵值与强度 |
| 开发工具 | UUID 生成器 | 批量生成 RFC 4122 UUID v4 |
| 开发工具 | 颜色转换 | HEX / RGB / HSL / HSV / CMYK 互转、色板与对比度 |
| 开发工具 | JSON ↔ CSV | 在 JSON 与 CSV 之间双向转换 |
| 开发工具 | Cron 表达式解析 | 解析标准 5 / 6 段 Cron 并预览最近运行时间 |
| 开发工具 | URL 解析器 | 拆解 URL,并可编辑、增删查询参数,重建与复制 URL |
| 开发工具 | AES 加解密 | 使用 AES-GCM 与 PBKDF2 在本地加解密文本 |
| 开发工具 | 随机测试数据 | 生成姓名、邮箱、电话、地址、公司等模拟数据 |
| 开发工具 | SQL 格式化 | 统一 SQL 关键字大小写与缩进 |
| 开发工具 | HTTP 参考 | 速查 HTTP 状态码与常用 MIME 类型 |
| 转换计算 | 进制转换 | 二 / 八 / 十 / 十六进制大整数互转 |
| 转换计算 | 单位换算 | 长度、重量、温度、面积、数据、时间、速度、体积 |
| 转换计算 | 日期计算 | 计算日期差,或为日期加减天数 |
| 网页下载 | 网页下载 | 扫描网页图片、文档、表格、媒体等所有资源,按类型分类复选框勾选后批量下载 |
| 内容办公 | Markdown 预览 | 本地渲染 Markdown,可导出 HTML 与 .md 文件 |
| 内容办公 | 二维码生成 | 生成 PNG / SVG 二维码,也能识别图片中的二维码 |
| 内容办公 | 图片压缩转换 | 在浏览器本地压缩图片、调整尺寸并转换格式 |
| 内容办公 | Lorem 占位文本 | 生成 Lorem ipsum 占位段落,可自定义长度 |
| AI 助手 | AI 问答 | 使用 OpenAI 兼容接口问答,支持流式输出与本地模型 |
| 关于与支持 | 赞赏支持 | 微信 / 支付宝赞赏码、「底价接活开发」说明与联系方式,可预览每日提示弹窗 |
localStorage 与 chrome.storage.local,刷新、重开小窗或打开多个标签页后都会保持。/v1/chat/completions),可填写系统提示词与温度。localStorage,不会同步或上传;使用 Ollama 等本地服务时可以留空。Ctrl+Shift+Y 打开完整工具箱页面。toolbox.html 页面:顶部下拉框可以选择全部 35 个工具,选中后直接在小窗中执行。/ 聚焦搜索框)。#工具ID 哈希,可直接收藏或刷新后恢复。Ctrl+Enter 快速执行。localStorage。[email protected]、QQ 1399838678,页面内可一键复制,也提供 mailto: 发邮件入口;搜索「QQ」「邮箱」「联系方式」也能直接找到本页。localStorage(ctool.sponsorNoticeShown / ctool.sponsorNoticeDismissed),完整工具箱与小窗共用,不会上传。<img>、srcset 当前图、CSS 背景图、视频海报、懒加载图片、og:image / twitter:image 分享图和 Canvas 画布。download 属性、嵌入文件、data-* 下载地址、JSON-LD 文档地址、网络请求中的文档资源,以及链接文字/路径中含“文库、文档、附件、下载、PDF”等关键词的链接;百度文库等常见文档站点至少会把当前文档页加入列表。rowspan / colspan),并把页面的 <ul> / <ol> / <dl> 及 role="list" 列表转换为表格;列表项若包含统一分隔符(|、-、: 等)会自动拆分成多列,可预览并导出带 UTF-8 BOM 的 CSV(Excel 可直接打开)。<video>、<audio>、<source>、懒加载 data-src、字幕轨和媒体文件直链;m3u8 / mpd 会标注为流媒体清单。ctool-downloads.zip。CTool/下载 文件夹,重名文件自动加序号;ZIP 内的重名成员也会自动加序号。ctool 目录。chrome://extensionsedge://extensionsmanifest.json 的 ctool 目录。要求 Chrome / Edge 111 或更高版本(界面使用了 color-mix())。
Ctrl+Shift+Y。Esc 收起小窗。https://api.openai.com/v1)和模型;云端服务填写 API Key,本地服务(如 Ollama)可留空;保存后即可提问,支持流式输出。/,输入名称或关键词,按 Enter 打开第一个结果,按 Esc 清空。首次安装或更新后,如果出现“读取和更改所有网站数据”的权限提示,请允许,否则无法扫描网页内容。
| 权限 | 用途 |
|---|---|
storage |
保存主题、上次使用的工具、右键菜单待处理文本与来源标签页 |
contextMenus |
提供“用 CTool 处理”的右键菜单 |
tabs |
查找并复用工具箱标签页,列出可扫描的网页标签页 |
clipboardWrite |
复制转换结果、资源链接或 CSV 到剪贴板 |
scripting |
在用户选择的网页中读取图片、链接、表格和媒体信息,并在扩展更新后注入悬浮入口 |
downloads |
批量下载网页资源并保存到分类文件夹 |
<all_urls> |
允许在普通网页中显示悬浮图标、打开小窗,以及扫描用户选择的网页;不会在后台自动读取页面 |
localStorage,不上传到任何服务。js/vendor-jsqr-LICENSE.txt),图片不会上传。postMessage 交给当前标签页的小窗;回退到独立小窗时才通过 chrome.storage.local 短暂传递,读取后立即删除。crypto.getRandomValues(),不会上传或保存。chrome://、edge://、扩展商店等受保护页面不会显示悬浮图标,也无法扫描;右键菜单在这些页面会退回独立小窗。file:// 页面需要在扩展详情中手动开启“允许访问文件网址”。| 快捷键 | 功能 |
|---|---|
Ctrl+Shift+Y |
打开 / 聚焦万能工具箱 |
/ |
聚焦工具搜索框 |
Esc |
清空搜索 / 关闭移动端侧边栏;在页面小窗中收起小窗 |
Ctrl+Enter |
在多数文本工具中执行转换 |
ctool/
├── manifest.json # Manifest V3 配置
├── background.js # 工具栏打开、标签复用、右键菜单、小窗分发与来源标签页
├── content.js # 网页右下角悬浮图标与页面内小窗宿主
├── toolbox.html # 统一页面:完整工具箱 + 紧凑小窗模式
├── build-userscript.js # 可选:从源码生成油猴单文件版
├── ctool.user.js # 生成物:自包含 UserScript(可上传到只收 .js 的平台)
├── assets/
│ ├── sponsor-wechat.jpg # 微信赞赏码(本地图片)
│ └── sponsor-alipay.jpg # 支付宝收款码(本地图片,实际为 JPEG 内容)
├── css/
│ └── style.css # 响应式明暗主题、下载面板与小窗模式样式
├── js/
│ ├── utils.js # 公共工具函数(Base64、MD5、存储、剪贴板等)
│ ├── i18n.js # 中英文语言包与页面自动翻译
│ ├── vendor-qrcode.js # 本地二维码生成库
│ ├── vendor-jsqr.js # 本地二维码识别库(jsQR 1.4.0,Apache-2.0)
│ ├── vendor-jsqr-LICENSE.txt # jsQR 许可证全文
│ ├── vendor-jszip.js # 本地 ZIP 打包库(JSZip 3.10.1)
│ ├── tools-data.js # JSON、Base64、URL、HTML 实体
│ ├── tools-text.js # 文本处理、正则测试
│ ├── tools-dev.js # 哈希 / HMAC / CRC32、时间戳、JWT 解析签发验签
│ ├── tools-generators.js # 密码、UUID、颜色
│ ├── tools-convert.js # 进制、单位换算
│ ├── tools-extra.js # JSON/CSV、Cron、URL、Diff、AES、Markdown、二维码等
│ ├── tools-more.js # XML、SQL、Unicode、文件哈希、图片 Base64、HTTP 参考等
│ ├── tools-download.js # 网页图片、文档、表格、媒体扫描与下载
│ ├── tools-workspace.js # 工作台、职业推荐与一键工作流
│ ├── tools-sponsor.js # 赞赏支持页与每日一次提示弹窗
│ └── app.js # 工具注册、导航、路由、主题、小窗模式与任务分发
└── icons/ # 16 / 32 / 48 / 128 像素图标
扩展本体没有构建步骤,修改源码后在扩展管理页点击“重新加载”即可。只有需要生成油猴单文件版时,才运行下面的可选构建命令。
打包为 ZIP 时,让 manifest.json 位于压缩包根目录:
Compress-Archive -Path F:\ctf\ctool\* -DestinationPath F:\ctf\ctool.zip -Force
部分平台只允许上传 .js 文件、无法提交扩展包。运行下面的命令,可从现有源码生成一份自包含的 UserScript:
node build-userscript.js
产物 ctool.user.js(约 1.3 MB)把 toolbox.html、css/style.css、16 个脚本与两张赞赏码全部内联(图片按文件魔数转 Data URL),零外部依赖、零网络请求,可直接安装到 Tampermonkey / Violentmonkey,或上传到只接受 .js 的脚本平台。源码改动后重新运行该命令即可刷新产物,不要直接编辑生成的文件。
使用方式:页面右下角圆形 C 按钮、油猴菜单中的「打开 / 关闭 CTool 工具箱」,或快捷键 Alt+Shift+C。工具箱运行在隔离 iframe 中,不污染宿主页面样式;主题、语言、收藏、赞赏提示关闭状态等偏好通过 GM_getValue / GM_setValue 跨站点保存。
与扩展版的差异:
| 能力 | 油猴版 |
|---|---|
| 35 个工具 | 除「网页资源下载」外全部可用;该工具会显示不可用说明(依赖 tabs / scripting / downloads 扩展 API,连同 ZIP 打包一起不可用) |
| 悬浮小窗、右键菜单 | 由悬浮按钮、菜单命令与快捷键替代 |
| AI 问答 | 可用,但受目标接口的 CORS 策略限制 |
| 每日赞赏提示 | 保留,状态跨站点同步 |
iframe 使用 srcdoc 内联脚本。若目标站点设置了严格的 Content-Security-Policy 禁止内联脚本,工具箱会显示提示并允许在新标签页打开;这类站点建议改用完整版扩展。
chrome:// 页面以及部分防盗链资源可能无法直接下载。