logo

MooTool

Handy tool set for developers.
开发者常备小工具

码云Gitee GitHub stars GitHub release GitHub license

Featured|HelloGitHub

支持的平台

Windows • Linux • macOS

截图速览

Overview

Overview

Overview

Overview

Overview

Overview

Overview

Overview

Overview

Overview

Overview

Overview

Overview

Overview

Overview

Overview

Overview

Overview

Overview

下载

https://github.com/rememberber/MooTool/releases
https://gitee.com/zhoubochina/MooTool/releases

鼓励/赞赏

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

zanshang

MooTool全功能地图

随手记

多语言语法高亮支持

  • markdown
  • java
  • c
  • cpp
  • cs
  • python
  • golang
  • kotlin
  • scala
  • groovy
  • ruby
  • html
  • sql
  • json
  • jshintrc
  • xml
  • yaml
  • javascript
  • jsp
  • typescript
  • css
  • less
  • php
  • properties
  • asm
  • asm6502
  • bbcode
  • clojure
  • csv
  • d
  • dockerfile
  • dart
  • delphi
  • dtd
  • fortran
  • hosts
  • htaccess
  • ini
  • latex
  • lisp
  • lua
  • makefile
  • mxml
  • nsis
  • perl
  • sas
  • tcl
  • unix
  • vb
  • bat

常见语言代码格式化

  • SQL
  • JSON
  • Java

有序/无序列表

导出/批量导出,全局查找

字体、字号、列表颜色

快捷操作

  • 自动保存
  • 去掉空格
  • 去掉空行
  • 去掉Tab(\t)
  • 科学计数法->普通数字
  • 普通数字->科学计数法
  • 普通数字->千分位
  • 千分位->普通数字
  • 下划线命名->驼峰命名
  • 驼峰命名->下划线命名
  • 大写->小写
  • 小写->大写
  • 去掉换行
  • 换行->,
  • 换行->','
  • 换行->","
  • ,->换行
  • ','->换行
  • ","->换行
  • Tab(\t)->换行
  • 按行去重
  • 按行去重并统计出现次数
  • 转义
  • 反转义
  • 按行倒序
  • 按行A->Z排序
  • 按行Z->A排序
  • 按拼音排序

时间转换

时间戳转换

  • 时间->时间戳(毫秒)
  • 时间戳(毫秒)->时间
  • 时间戳->时间(秒)
  • 时间->时间戳(秒)

历史记录

大屏时钟

JSON

JSON格式化

JSON压缩

导出/批量导出,查找

字体、字号

JSON Key Value互转

JSON转XML

XML转JSON

JavaBean转JSON

JSON转JavaBean

转义

反转义

通过JsonPath获取JSON数据

可视化获取JsonPath

翻译

中英互译

自动检测语言

Host

Host格式化/语法高亮

本机Host管理/查看

Host导入/导出

HTTP

HTTP请求,支持GET/POST/PUT/DELETE/HEAD/PATCH/OPTIONS

HTTP Header/Body格式化

请求管理

请求历史记录

编码转换

Native->Unicode

Unicode->Native

URL编码/解码

Native->十六进制

十六进制->Native

二维码

二维码生成

  • 尺寸自定义
  • 纠错等级自定义
  • logo自定义

二维码解析

历史记录

加解密/随机

对称加密/解密

  • AES
  • DES
  • SM4

非对称加密/解密

  • RSA
  • SM2

摘要算法(文件/文本摘要)

  • MD5
  • SHA1
  • SHA256
  • SHA384
  • SHA512
  • SM3

Base64编码/解码

Base32编码/解码

随机UUID生成

随机生成只包含数字/字母/数字字母的字符串,位数自定义

随机生成复杂密码,位数自定义

计算

四则运算

进制转换

最大公约数

最小公倍数

排列组合数

历史记录

网络

IP查询

域名查询

netstat

ping

ipv4-Long互相转换

刷新DNS

调色板

主题颜色/标准颜色

屏幕取色器

自由选色

颜色格式转换

颜色收藏

颜色混合计算(TODO

图片助手

本地图床

图片Base64编码/解码

图片压缩(TODO

图片加水印(TODO

图片OCR识别(TODO

Cron

Cron表达式生成

Cron表达式解析

Cron表达式校验

Cron表达式收藏

Cron表达式历史记录(TODO

常用Cron表达式

正则

正则表达式匹配测试

收藏正则表达式

常用正则表达式

Java

Java/groovy代码格式化、高亮

Java/groovy代码解释执行

格式化

Nginx配置文件格式化

XML格式化

HTML格式化

Java格式化

PDF

PDF拆分

PDF合并

环境变量

系统环境变量

Java环境变量

配置文件转换

Properties->YAML

YAML->Properties

JSON->YAMLTODO

YAML->JSONTODO

文本对比

并排对比

统一差异

复制差异

特别感谢

Hutool
FlatLaf
vscode-icons
iconfont

开发温馨提示

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

打包与 CI

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

  • JDK 压缩包缓存:downloads/jdks/
  • 解压后的 JDKjdks/<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 这几个 profileMaven 会在 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 Mactarget/mac-intel/
  • Apple Silicon Mactarget/mac-apple-silicon/
  • Windows x64target/windows-x64/
  • Linux x64target/linux-x64/

GitHub Actions

仓库内新增了工作流:.github/workflows/build-installers.yml

建议在对应原生 runner 上产出对应平台安装包:mac 安装包在 macOS runnerWindows 安装包在 Windows runnerLinux 安装包在 Linux runner。

特点:

  • 支持 workflow_dispatch
  • 推送 v* 标签时自动执行
  • 推送 v* 标签时,默认在 GitHub Hosted runner 上打包:
    • macos-14mac-apple-silicon
    • windows-latestwindows-x64
    • ubuntu-latestlinux-x64
  • mac-intel 改为单独手动触发,并使用 self-hosted, macOS, X64 标签的自托管 runner,避免长期卡在 macos-13 队列上
  • 使用 actions/cache 缓存 downloads/jdks/jdks/
  • 每个 job 会把产物重命名为统一格式后再上传,例如:MooTool-1.7.0-mac-intel.dmgMooTool-1.7.0-windows-x64.zip
  • Actions Summary 会列出“原始文件名 -> Release 文件名”的对照表,方便核对每个平台实际产物
  • 推送 v* 标签时,会自动创建或更新对应 GitHub Release,并上传构建出的安装包附件

手动触发 Build installers 时,可以在页面中选择 target

  • all:运行 Hosted 平台构建,并额外尝试运行自托管的 mac-intel
  • mac-intel:仅在自托管 Intel Mac runner 上打包
  • mac-apple-silicon / windows-x64 / linux-x64:只跑对应 Hosted 平台

如果要支持 mac-intel,需要先准备一台 Intel Mac,并把 GitHub Actions Runner 注册为仓库级自托管 runner,标签至少包含:

  • self-hosted
  • macOS
  • X64
Languages
Java 46%
TypeScript 37.3%
CSS 6.9%
Rust 6.3%
Python 2%
Other 1.5%