# MooTool **Repository Path**: upstudio/MooTool ## Basic Information - **Project Name**: MooTool - **Description**: Handy desktop toolset for developers. 开发者常备桌面小工具 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: https://rememberber.github.io/MooTool/ - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 270 - **Created**: 2026-07-29 - **Last Updated**: 2026-07-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ![logo](assets/logo/logo-128.png)

English · 简体中文 · 日本語

# MooTool 开发者常备小工具 [![码云Gitee](https://gitee.com/zhoubochina/MooTool/badge/star.svg?theme=blue)](https://gitee.com/zhoubochina/MooTool) [![GitHub stars](https://img.shields.io/github/stars/rememberber/MooTool.svg)](https://github.com/rememberber/MooTool) [![GitHub release](https://img.shields.io/github/v/release/rememberber/MooTool)](https://github.com/rememberber/MooTool/releases) [![GitHub license](https://img.shields.io/github/license/rememberber/MooTool)](https://github.com/rememberber/MooTool/blob/master/LICENSE.txt) Featured|HelloGitHub ## 支持的平台 Windows • Linux • macOS ## 截图速览 > 以下为主要功能界面截图。翻译、UA分析、图片助手、PDF、环境变量、系统信息、配置文件转换、Protobuf 等模块暂未单独配图,可在安装后于对应 Tab 中体验。 ![随手记](screen_shoot/quick_note_2_mac.png) ![随手记-快捷替换](screen_shoot/quick_replace_mac.png) ![Overview](screen_shoot/time_mac_2.png) ![Overview](screen_shoot/json_mac_2.png) ![Overview](screen_shoot/host_mac_2.png) ![Overview](screen_shoot/http_mac_2.png) ![Overview](screen_shoot/encode_mac_2.png) ![Overview](screen_shoot/qr_code_mac_2.png) ![Overview](screen_shoot/crypto_mac_2.png) ![Overview](screen_shoot/calculator_mac_2.png) ![Overview](screen_shoot/net_mac_2.png) ![Overview](screen_shoot/color_board_mac_2.png) ![Overview](screen_shoot/regex_mac_2.png) ![Overview](screen_shoot/cron_mac_2.png) ![Overview](screen_shoot/java_mac_2.png) ![Overview](screen_shoot/diff_mac.png) ![Overview](screen_shoot/mt-favoriteColor.png) ![Overview](screen_shoot/quick_note_light_mac.png) ![主题与外观](screen_shoot/theme.png) ## 下载 - [MooTool Next Electron 1.1.0(推荐)](https://github.com/rememberber/MooTool/releases/tag/next-electron-v1.1.0) - [MooTool Java 1.8.6](https://github.com/rememberber/MooTool/releases/tag/v1.8.6) - [全部 GitHub Releases](https://github.com/rememberber/MooTool/releases) - [MooTool Java Gitee Releases](https://gitee.com/zhoubochina/MooTool/releases) ## 鼓励/赞赏 **如果MooTool项目对您有所帮助或带来便利, 欢迎对我每天下班和周末时光的努力进行肯定, 您的赞赏将会给我带来更多动力** ![zanshang](assets/material/wx-zanshang.jpg) # MooTool全功能地图 > 多个工具模块提供统一的「历史记录」子 Tab,支持搜索、应用、复制输入/输出、删除与清空。 ```text MooTool ├── 随手记 │ ├── 多语言语法高亮支持 │ ├── 常见语言代码格式化 │ │ ├── SQL │ │ ├── JSON │ │ └── Java │ ├── 有序/无序列表 │ ├── Markdown 实时预览 │ ├── Markdown 插入图片 │ ├── 导出/批量导出,搜索与全局查找 │ ├── 文档信息(创建/更新时间、字数等) │ ├── 超链接识别与点击跳转 │ ├── 字体、字号、列表颜色 │ └── 快捷替换面板 │ ├── 侧栏集中提供以下批量文本操作,支持仅处理选中行: │ ├── 自动保存 │ ├── 去掉空格 │ ├── 去掉空行 │ ├── 去掉Tab(\t) │ ├── 科学计数法->普通数字 │ ├── 普通数字->科学计数法 │ ├── 普通数字->千分位 │ ├── 千分位->普通数字 │ ├── 下划线命名->驼峰命名 │ ├── 驼峰命名->下划线命名 │ ├── 大写->小写 │ ├── 小写->大写 │ ├── 去掉换行 │ ├── 换行->, │ ├── 换行->',' │ ├── 换行->"," │ ├── ,->换行 │ ├── ','->换行 │ ├── ","->换行 │ ├── Tab(\t)->换行 │ ├── 按行去重 │ ├── 按行去重并统计出现次数 │ ├── 转义 │ ├── 反转义 │ ├── 按行倒序 │ ├── 按行A->Z排序 │ ├── 按行Z->A排序 │ └── 按拼音排序 ├── 时间转换 │ ├── 时间戳转换 │ │ ├── 时间->时间戳(毫秒) │ │ ├── 时间戳(毫秒)->时间 │ │ ├── 时间戳->时间(秒) │ │ └── 时间->时间戳(秒) │ ├── 历史记录 │ ├── 大屏时钟 │ └── 时区选择与快捷时区 ├── JSON │ ├── JSON格式化 │ │ ├── Key 按字母顺序排序 │ │ ├── 忽略 key 大小写 │ │ └── 检查重复 key │ ├── JSON压缩 │ ├── 导出/批量导出,查找 │ ├── 字体、字号 │ ├── JSON Key Value互转 │ ├── JSON转XML │ ├── XML转JSON │ ├── JavaBean转JSON │ ├── JSON转JavaBean │ ├── 转义 │ ├── 反转义 │ ├── 通过JsonPath获取JSON数据 │ └── 可视化获取JsonPath ├── 翻译 │ ├── 多语言互译(中/英/日/韩/法/西/德/俄等 20+ 语言,支持自动检测) │ ├── Google / Bing 翻译源,失败时自动降级 │ ├── 收藏到单词本 │ ├── 单词本 │ │ ├── 搜索、新建、编辑、删除 │ │ └── 重新翻译 │ └── 翻译历史记录 ├── Host │ ├── Host格式化/语法高亮 │ ├── 本机Host管理/查看 │ ├── Host导入/导出 │ └── 搜索与查找/替换 ├── HTTP │ ├── HTTP请求,支持GET/POST/PUT/DELETE/HEAD/PATCH/OPTIONS │ ├── cURL 导入 │ ├── HTTP Header/Body格式化 │ ├── 请求管理 │ ├── 请求历史记录 │ └── 搜索 ├── UA分析 │ ├── User-Agent 解析(浏览器、引擎、操作系统、设备类型/品牌/型号等) │ ├── 识别移动端 / 爬虫 Bot │ ├── 预设 UA 快速选择(Chrome、Firefox、Safari、Edge、微信内置浏览器、curl 等) │ ├── 粘贴 / 清空 │ └── 历史记录 ├── 编码转换 │ ├── Native->Unicode │ ├── Unicode->Native │ ├── URL编码/解码 │ ├── Native->十六进制 │ ├── 十六进制->Native │ ├── Native->ASCII(十进制/十六进制字符码) │ ├── ASCII->Native │ └── 历史记录 ├── 二维码 │ ├── 二维码生成 │ │ ├── 尺寸自定义 │ │ ├── 纠错等级自定义 │ │ └── logo自定义 │ ├── 二维码解析 │ ├── 从剪贴板识别 │ └── 历史记录 ├── 加解密/随机 │ ├── 支持国密 SM2 / SM3 / SM4 │ ├── 对称加密/解密 │ │ ├── AES │ │ ├── DES │ │ └── SM4 │ ├── 非对称加密/解密 │ │ ├── RSA │ │ └── SM2(加密/解密、私钥签名、公钥验签) │ ├── 摘要算法(文件/文本摘要) │ │ ├── MD5 │ │ ├── SHA1 │ │ ├── SHA256 │ │ ├── SHA384 │ │ ├── SHA512 │ │ └── SM3 │ ├── Base64编码/解码 │ ├── Base32编码/解码 │ ├── 随机UUID生成 │ ├── 随机生成只包含数字/字母/数字字母的字符串,位数自定义 │ ├── 随机生成复杂密码,位数自定义 │ └── 历史记录 ├── 计算 │ ├── 四则运算 │ ├── 进制转换 │ ├── 最大公约数 │ ├── 最小公倍数 │ ├── 排列组合数 │ └── 历史记录 ├── 网络/IP │ ├── IP查询 │ ├── 域名查询 │ ├── netstat │ ├── ping │ ├── ipv4-Long互相转换 │ ├── WHOIS 查询 │ └── 刷新DNS ├── 调色板 │ ├── 主题颜色/标准颜色 │ ├── 屏幕取色器 │ ├── 自由选色 │ ├── 颜色格式转换 │ ├── 颜色收藏 │ ├── 颜色混合计算(取反、相交、相加、差值、平均) │ └── 历史记录 ├── 图片助手 │ ├── 本地图床 │ ├── 截图 │ ├── 从剪贴板获取 / 复制到剪贴板 │ ├── 图片缩放工具栏(放大/缩小/原始尺寸/适应窗口) │ ├── 图片Base64编码/解码 │ ├── 图片压缩 │ ├── 图片加水印 │ └── 图片OCR识别(基于 Tesseract) ├── Cron │ ├── Cron表达式生成 │ ├── Cron表达式解析(支持 Linux 5 段 / Quartz 6、7 段) │ ├── Cron表达式校验 │ ├── Cron 转自然语言 │ ├── 最近 10 次运行时间 │ ├── Cron表达式收藏 │ ├── 历史记录 │ └── 常用Cron表达式 ├── 正则 │ ├── 正则表达式匹配测试 │ ├── 收藏正则表达式 │ ├── 常用正则表达式 │ └── 历史记录 ├── Java │ ├── Java/groovy代码格式化、高亮 │ ├── Java/groovy代码解释执行 │ └── 历史记录 ├── 格式化 │ ├── 上传文件格式化 │ │ ├── Nginx 配置文件 │ │ ├── XML │ │ ├── HTML │ │ └── Java │ ├── 粘贴文本直接格式化(Nginx / Java / XML / HTML) │ └── 历史记录 ├── PDF │ ├── PDF拆分 │ └── PDF合并 ├── 环境变量 │ ├── 系统环境变量(表格浏览) │ ├── Java properties │ └── 刷新 / 导出 ├── 系统信息 │ ├── 基于 OSHI 采集本机系统与硬件信息,首次进入 Tab 或点击刷新时按需加载: │ ├── 系统(操作系统、计算机、固件、主板等) │ ├── 处理器 │ ├── 内存 │ ├── 存储 │ └── 网络 ├── 配置文件转换 │ ├── Properties->YAML │ ├── YAML->Properties │ ├── YAML 校验(语法校验、错误行号定位) │ ├── YAML 格式化 │ ├── 历史记录 │ ├── JSON->YAML(TODO) │ └── YAML->JSON(TODO) ├── 文本对比 │ ├── 并排对比(左右滚动同步) │ ├── 统一差异 │ └── 复制差异 ├── Protobuf │ ├── JSON ↔ Protobuf 二进制互转 │ │ ├── 支持 Hex / Base64 输出 │ │ └── `.proto` 定义格式化 │ ├── Wire Format 解码(无需 `.proto` 定义) │ ├── Hex / Base64 互转 │ └── 历史记录 └── 应用与设置 ├── 同步和备份(Git 同步、数据导出) ├── 快捷键说明 ├── 数据文件位置自定义 ├── 启动时自动检查更新 ├── SQL 方言设置 ├── 系统托盘 ├── 窗口行为 │ ├── macOS / Windows:点击关闭按钮时隐藏到 Dock / 任务栏,应用继续在后台运行 │ └── Linux:点击关闭按钮退出应用 ├── 外观 │ ├── 多主题风格(Flat Light/Dark、macOS、One Dark、Monokai 等) │ ├── 强调色 │ ├── 主题颜色跟随系统 │ ├── 窗口颜色沉浸式 │ ├── 默认最大化窗口 │ └── 功能 Tab 仅图标模式 └── 使用习惯 ├── 功能面板位置(菜单栏上/下/左/右) └── 全局字体与字号 ``` ## 特别感谢 [Hutool](http://hutool.cn/) [FlatLaf](https://github.com/JFormDesigner/FlatLaf) [vscode-icons](https://github.com/microsoft/vscode-icons) [iconfont](https://www.iconfont.cn/) ## 开发温馨提示 多产品的版本号、Git tag、GitHub Release、`Latest` 标记及 CI 隔离规则统一见[多产品发布约定](RELEASE_CONVENTIONS.md)。 最低JDK版本要求:**21** 在你开始开发之前, **请按下图设置IntelliJ IDEA**, 然后 **maven clean**: ![considerations](assets/material/gui_build.png) ### 打包与 CI 项目现在支持把打包 JDK 下载并缓存到仓库本地目录: - JDK 压缩包缓存:`downloads/jdks/` - 解压后的 JDK:`jdks///home` 下载脚本默认使用 Eclipse Temurin 21,并且如果本地已经存在对应 JDK,就不会重复下载。 #### 先准备本地打包 JDK ```bash python3 scripts/prepare_jdks.py --targets mac-x64 python3 scripts/prepare_jdks.py --targets mac-arm64 python3 scripts/prepare_jdks.py --targets windows-x64 python3 scripts/prepare_jdks.py --targets linux-x64 ``` 也可以一次性查看全部目标会下载到哪里: ```bash python3 scripts/prepare_jdks.py --targets all --resolve-only ``` #### 本地打包命令 默认 `mvn clean package` 仍然会使用当前运行 Maven 的 JDK 打一个 macOS universal 包。 对于 `mac-intel`、`mac-apple-silicon`、`windows-x64`、`linux-x64` 这几个 profile,Maven 会在 `validate` 阶段先检查 `jdks/` 下是否已经准备好对应 JDK;如果缺失,会直接失败并提示先执行 `scripts/prepare_jdks.py`,避免打出“假成功”的安装包。 如果要使用仓库内缓存 JDK 打指定平台包: ```bash mvn clean package -Pmac-intel -Dmaven.test.skip=true mvn clean package -Pmac-apple-silicon -Dmaven.test.skip=true mvn clean package -Pwindows-x64 -Dmaven.test.skip=true mvn clean package -Plinux-x64 -Dmaven.test.skip=true ``` 对应产物目录: - 默认包:`target/` - Intel Mac:`target/mac-intel/` - Apple Silicon Mac:`target/mac-apple-silicon/` - Windows x64:`target/windows-x64/` - Linux x64:`target/linux-x64/`