Gunshot(GoToHP for iOS)是一个面向越狱、侧载和 LiveContainer 场景的 Google Photos 上传增强工具。它基于 xob0t/gotohp 的 Go 核心,在 Google Photos 内接入 GoToHP 设置与上传流程,尝试以不同 Pixel 设备配置上传照片/视频,例如 Pixel 1 原始质量、Pixel 2 存储节省模式或普通账户配额上传。项目为开发构建状态,依赖 Google Photos 私有/内部 API,兼容性会随 Google Photos 版本变化而变化。
适用领域
iOS 越狱开发 / iOS 侧载与注入 / Google Photos 上传工具 / Objective-C / Theos tweak / Go 后端核心集成 / 移动端逆向与私有 API 适配 / 照片与视频备份
配置难度
高。该项目面向熟悉 iOS 越狱、Theos、dylib 注入、IPA 重签名、LiveContainer、Objective-C runtime hook 和 Go 构建链的高级用户或开发者。普通 iOS 用户不适合直接使用;即使能安装,也需要理解账号、容器、签名、Google Photos 版本兼容性和数据备份风险。
商业价值
对普通商业产品的直接价值较低,因为它依赖非官方 API、越狱/侧载环境和 Google Photos 内部机制,合规性、稳定性和账号风险较高,不适合作为正式 SaaS 或企业备份方案。但对 iOS 逆向研究、越狱生态、Google Photos 上传机制分析、Theos tweak 开发、移动端账号授权与队列系统研究具有较高技术参考价值。对于个人高级用户,它可能提供更灵活的 Google Photos 上传和批量备份体验,但应仅在充分理解风险并保留原始备份的前提下使用。
01
技术亮点
- 支持三种使用形态:越狱 rootless/rootful、侧载 jailed、LiveContainer。
- 在 Google Photos 原生个人资料菜单中集成 GoToHP settings,体验更接近内置功能。
- 可自动连接 Google Photos 中已登录账号,不需要手动粘贴 token。
- 按功能自动选择 legacy 或 modern native API,而不是简单依赖版本号白名单。
- 支持上传队列、进度显示、重试、取消和重启恢复。
- PhotoKit 上传使用原始资源,不重新编码,并支持 Live Photo 的两个组件。
- 提供批量导入相册功能,适合大量照片/视频上传,避免系统 photo picker 一次加载过多项目。
- 支持将手动备份和部分自动备份路由到 GoToHP。
- 包含英文和日文界面,并提供本地化检查脚本。
- README 和 docs 中包含较多架构、认证、兼容性、备份路由和设备验证文档,便于开发者研究。
02
目标用户
- 有越狱 iPhone/iPad 使用经验的用户
- 熟悉 iOS IPA 侧载、dylib 注入或 LiveContainer 的高级用户
- 希望通过 Google Photos 管理大量照片和视频的用户
- 研究 Google Photos 客户端上传流程的 iOS 开发者
- 熟悉 Theos、Objective-C、Go 和 iOS tweak 开发的开发者
03
配置要求
- 构建环境需要 macOS、Xcode Command Line Tools、Go 1.26.0、Theos、ldid 和 dpkg。
- 源码构建需使用 git clone --recurse-submodules 克隆仓库,因为包含上游 GoToHP core 子模块或相关集成。
- 需要设置 THEOS 环境变量,例如 export THEOS="$HOME/theos"。
- 可通过 bash scripts/package.sh jailed、rootless 或 rootful 构建不同安装包。
- 越狱安装要求 libSandy 1.1.6 或更高版本,以及兼容 Substrate 的注入系统。
- 越狱用户如遇 Google Photos 崩溃,README 建议使用 Choicy,仅对 Google Photos 启用 Gunshot。
- 侧载场景需要保持签名账号、bundle identifier 和 app data 一致;LiveContainer 场景需要保持相同 guest/data container,否则会话可能丢失。
- 应在 Google Photos 登录前启用 tweak;更新已有安装时需尽量保留原应用数据和签名环境。
- 项目参考审计版本为 Google Photos 7.20.2(iOS 16.1+)和 7.92.0(iOS 18.0+),其他版本仅在 API 匹配时可能可用。
- Google Photos 二进制、签名证书和 Google 凭据不由该项目分发,用户需自行获取和处理。
04
适用场景
- 在越狱设备上通过 Google Photos 内置入口使用 GoToHP 上传照片和视频
- 将 GunshotJailed 注入 Google Photos IPA 后在非越狱环境中使用
- 在 LiveContainer 中为 Google Photos guest 启用 dylib 并上传媒体
- 批量导入相册或文件夹中的照片/视频到 Google Photos
- 将 Google Photos 的手动备份或自动备份路由到 GoToHP 队列
- 测试不同上传质量配置对 Google Photos 存储计费行为的影响
- 研究 Google Photos iOS 客户端账号授权、队列、上传和备份路由机制
05
部署与配置
- 根据使用场景选择安装方式:越狱 rootless/rootful、侧载 IPA 注入,或 LiveContainer。
- 侧载或 LiveContainer 用户从 GitHub Actions 下载 gotohp-tweak-jailed,包内包含 .deb、GunshotJailed.dylib 和相关 notices。
- 侧载场景需要先将 GunshotJailed 注入 Google Photos IPA,再安装到设备;项目说明强调应在 Google 登录前完成安装和启用。
- LiveContainer 场景中导入 dylib,并在启动 Google Photos guest 前为其启用。
- 越狱场景从 GitHub Actions 下载 gotohp-tweak-rootless 或 gotohp-tweak-rootful .deb,并使用包管理器安装,以便自动解析 libSandy 等依赖。
- 打开已启用 tweak 的 Google Photos 并登录 Google 账号。
- 进入 Google Photos 的个人资料菜单,打开 GoToHP settings,配置上传质量、账号、备份路由等选项。
- 使用 GoToHP 设置页、Apple Photos 的 GoToHP 按钮、支持的分享动作,或 Google Photos 原生备份入口发起上传。
- 上传准备阶段保持 Google Photos 在前台,尤其是侧载/jailed 模式下应用关闭后无法继续上传。
06
风险与注意事项
- 项目明确声明为 unofficial,和 Google、Apple 无关,且不提供任何保证。
- 依赖 Google Photos 私有 API 和客户端内部行为,Google Photos 更新可能随时破坏功能。
- 可能带来 Google 账号限制、数据丢失、重复上传或产生存储费用等风险。
- 所谓 Pixel 设备配置上传只是请求行为,不保证 Google Photos 一定按预期免占用配额或按目标质量处理。
- 侧载/jailed 模式下上传不能在应用关闭后继续,稳定性和体验弱于系统级后台任务。
- 会话保留不保证,切换签名、bundle identifier、容器或从 App Store 版本迁移到侧载版本时可能需要重新登录,甚至无法保留状态。
- 上传提交中断且结果未知时,需要人工检查和重试,可能产生重复项。
- 取消上传不会删除已经保存到 Google Photos 的媒体。
- 越狱环境存在注入冲突风险,可能导致 Google Photos 崩溃。
- 仓库元数据 license 显示 NOASSERTION,但 README 声称 Gunshot 使用 GPLv3 or later;分发或商业使用前需要进一步核实许可证文件和第三方 notices。
2026-09-18
第30名
新收录 · github_search