MessAuto:macOS平台验证码自动提取工具详解
项目概述
MessAuto是一款专为macOS平台设计的验证码自动提取工具,采用Rust语言开发。它能智能识别来自短信和邮件的验证码,并支持自动粘贴、自动回车等便捷功能,极大提升了用户在各类应用中的验证码输入体验。
核心功能
1. 多平台验证码支持
- 短信验证码:支持通过iMessage接收的iPhone短信
- 邮件验证码:支持Mail.app中的邮件验证码提取
2. 智能识别机制
- 多语言关键词匹配(支持中、英、韩文)
- 自定义关键词配置(通过修改JSON配置文件)
- 正则表达式提取6位数字验证码
3. 自动化操作
- 自动复制到剪贴板
- 自动粘贴功能(需授权)
- 自动回车提交(需授权)
- 非侵入式剪贴板处理(自动恢复原内容)
4. 用户交互
- 状态栏图标控制
- 悬浮窗显示验证码
- 详细的日志记录
技术实现原理
MessAuto通过以下几个关键技术点实现验证码自动提取:
- 短信监控:读取
~/Library/Messages/chat.db数据库文件,实时监测新消息 - 邮件监控:通过AppleScript与Mail.app交互,获取最新邮件内容
- 权限管理:需要"完全磁盘访问"、"辅助功能"和"自动化"三种系统权限
- 剪贴板操作:使用macOS原生API实现安全的剪贴板读写
- 键盘模拟:通过CGEvent模拟键盘输入和回车操作
安装与配置指南
安装步骤
- 下载最新版本的应用包
- 将MessAuto.app移动到
/Applications目录 - 对于ARM64版本可能需要的额外操作:
xattr -cr /Applications/MessAuto.app
权限配置
首次运行时需要授予以下权限:
-
完全磁盘访问权限:
- 系统设置 → 隐私与安全性 → 完全磁盘访问
- 添加MessAuto应用
-
辅助功能权限:
- 系统设置 → 隐私与安全性 → 辅助功能
- 添加MessAuto应用
-
自动化权限:
- 由应用自动请求
- 位于系统设置 → 隐私与安全性 → 自动化
使用技巧
1. 悬浮窗功能
- 验证码会以悬浮窗形式显示
- 悬浮窗出现在当前鼠标位置
- 支持拖动调整位置
- 不会抢夺用户焦点
2. 状态栏菜单
- 自动粘贴开关
- 自动回车开关
- 剪贴板保护开关
- 邮件监控开关
- 临时/永久隐藏图标选项
3. 高级配置
通过编辑~/.config/messauto/messauto.json文件可以:
- 自定义触发关键词
- 调整日志级别
- 修改悬浮窗行为
常见问题解决
权限问题排查
-
自动粘贴失效:
- 重置自动化权限:
tccutil reset AppleEvents com.doe.messauto - 重新启动应用并同意权限请求
- 重置自动化权限:
-
持续提示权限:
- 在系统设置中移除原有权限项
- 重新启动应用并同意新请求
性能问题
- 如遇CPU占用过高:
- 检查日志文件
~/.config/messauto/messauto.log - 尝试重启应用
- 检查日志文件
开发与扩展
构建指南
# 克隆仓库
git clone <仓库地址>
cd MessAuto
# 开发模式运行
cargo run
# 生产环境打包
cargo install cargo-bundle --git <仓库地址> --branch add-plist-extension
cargo bundle --release
未来规划
- 应用签名支持
- Homebrew分发渠道
- 图标隐藏逻辑优化
- 更完善的错误处理
适用场景
MessAuto特别适合以下使用场景:
- 频繁需要输入验证码的开发测试工作
- 多账号管理时的快速登录
- 需要同时处理短信和邮件验证码的场景
- 使用非Safari浏览器时的验证码自动填充
总结
MessAuto通过技术创新解决了macOS平台验证码输入的痛点问题,相比系统原生方案具有更广泛的适用性。其轻量级设计(仅8MB存储占用)和自动化特性使其成为提升工作效率的利器。随着后续功能的不断完善,MessAuto有望成为macOS生态中验证码管理的事实标准工具。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



