MooTool:开发者常备多功能工具集,支持代码格式化、编码转换、网络工具等

Handy tool set for developers

Branch16Tags67
FilesLast commitLast update
1 month ago
2 years ago
1 year ago
6 years ago
1 month ago
1 month ago
1 month ago
1 month ago
6 years ago
11 months ago
1 month ago
1 month ago
3 months ago
6 years ago
1 month ago
6 years ago
1 year ago
1 month ago
1 month ago
1 month ago
1 month ago
6 years ago
11 months ago
1 year ago
5 years ago
1 month ago
2 months ago
5 years ago
1 year ago
1 month ago
1 month ago

logo

English · 简体中文 · 日本語

MooTool

开发者常备小工具

码云Gitee GitHub stars GitHub release GitHub license

Featured|HelloGitHub

支持的平台

Windows • Linux • macOS

截图速览

以下为主要功能界面截图。翻译、UA分析、图片助手、PDF、环境变量、系统信息、配置文件转换、Protobuf 等模块暂未单独配图,可在安装后于对应 Tab 中体验。

随手记

随手记-快捷替换

Overview

Overview

Overview

Overview

Overview

Overview

Overview

Overview

Overview

Overview

Overview

Overview

Overview

Overview

Overview

Overview

主题与外观

下载

鼓励/赞赏

如果MooTool项目对您有所帮助或带来便利,
欢迎对我每天下班和周末时光的努力进行肯定,
您的赞赏将会给我带来更多动力

zanshang

MooTool全功能地图

多个工具模块提供统一的「历史记录」子 Tab,支持搜索、应用、复制输入/输出、删除与清空。

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
FlatLaf
vscode-icons
iconfont

开发温馨提示

多产品的版本号、Git tag、GitHub Release、Latest 标记及 CI 隔离规则统一见多产品发布约定

最低JDK版本要求:21
在你开始开发之前, 请按下图设置IntelliJ IDEA, 然后 maven clean: considerations

打包与 CI

项目现在支持把打包 JDK 下载并缓存到仓库本地目录:

  • JDK 压缩包缓存:downloads/jdks/
  • 解压后的 JDK:jdks/<os>/<arch>/home

下载脚本默认使用 Eclipse Temurin 21,并且如果本地已经存在对应 JDK,就不会重复下载。

先准备本地打包 JDK

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

也可以一次性查看全部目标会下载到哪里:

python3 scripts/prepare_jdks.py --targets all --resolve-only

本地打包命令

默认 mvn clean package 仍然会使用当前运行 Maven 的 JDK 打一个 macOS universal 包。

对于 mac-intelmac-apple-siliconwindows-x64linux-x64 这几个 profile,Maven 会在 validate 阶段先检查 jdks/ 下是否已经准备好对应 JDK;如果缺失,会直接失败并提示先执行 scripts/prepare_jdks.py,避免打出“假成功”的安装包。

如果要使用仓库内缓存 JDK 打指定平台包:

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/

Introduction

开发者实用工具集锦。开发者的便捷助手。【此简介由AI生成】

Customize your domain
232.04 K260Visit GitHub