一个跨平台 Go 工具,自动监听目录下新增或变更的 IPA 文件并按固定规则重命名(原文件名@CFBundleIdentifier.ipa)。支持 Docker、GitHub Actions,可作为库或独立 watcher 使用。
- 目录监听,自动检测新增/变更 IPA 文件(基于 fsnotify)
- 自动解包 Info.plist 并用 howett.net/plist 解析
- 命名规则固定为“原文件名@CFBundleIdentifier.ipa”
- 跨平台:macOS、Linux、Windows、ARM/AMD64
- 支持 Docker、Compose 一键部署
- GitHub Actions 多平台镜像自动构建推送 GHCR
- 附带 Rust 原型(
rs/,已弃用)
git clone https://github.com/KagurazakaIris/golang-ipa-renamer-watch.git
cd golang-ipa-renamer-watch
go build -o ipa-renamer main.go ipa_renamer.go
./ipa-renamerdocker build -t ipa-renamer .
docker run -v $(pwd)/watched:/app/watched -v $(pwd)/output:/app/output ipa-renamerdocker-compose up -ddocker pull ghcr.io/kagurazakairis/golang-ipa-renamer-watch:latest
docker run -v $(pwd)/watched:/app/watched -v $(pwd)/output:/app/output ghcr.io/kagurazakairis/golang-ipa-renamer-watch:latestWATCH_DIR:监听目录(默认/app/watched)OUTPUT_DIR:重命名输出目录(默认/app/output)TEMP_DIR:解包 Info.plist 临时目录(默认/app/temp)- 命名规则已固定为“原文件名@CFBundleIdentifier.ipa”,无需配置 TEMPLATE
所有参数均可通过环境变量或 Docker Compose environment 字段配置。
├── main.go # 目录监听与自动重命名主程序
├── ipa_renamer.go # IPA重命名核心逻辑,可复用为库
├── Dockerfile # 多平台构建支持的Dockerfile
├── docker-compose.yml # 一键部署示例
├── .github/workflows/ghcr-docker.yml # GHCR自动构建流水线
├── rs/ # Rust原型实现(已弃用)
...
.github/workflows/ghcr-docker.yml:推送到rewrite/master分支自动多平台构建并推送到 GHCR- 支持
linux/amd64和linux/arm64并行构建
MIT License © 2025 神楽坂アイリス