# OTAupdate **Repository Path**: huchl91/otaupdate ## Basic Information - **Project Name**: OTAupdate - **Description**: No description available - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-13 - **Last Updated**: 2026-03-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Voyah Token 自动获取工具 ## 项目介绍 本项目是一个用于自动获取 Voyah 平台 token 和 refresh_token 的工具,支持自动识别验证码、自动登录、token 过期自动刷新等功能。项目采用 Python 语言开发,具有良好的网络稳定性和错误处理能力。 ## 功能说明 - ✅ 自动获取验证码并识别(使用 ddddocr 本地识别) - ✅ 自动登录获取 token(支持验证码错误自动重试) - ✅ 通过 token 获取 ticket - ✅ 使用 ticket 获取 Voyah 平台的 token 和 refresh_token - ✅ 缓存 token 信息到本地文件 - ✅ 网络优化(请求重试、指数退避、超时设置) - ✅ 详细的日志输出 ## 安装步骤 1. **克隆项目** ```bash git clone <项目地址> cd OTAupdate ``` 2. **创建虚拟环境** ```bash python -m venv .venv ``` 3. **激活虚拟环境** - Windows: `.\.venv\Scripts\activate` - Linux/Mac: `source .venv/bin/activate` 4. **安装依赖** ```bash pip install -r requirements.txt ``` 或者手动安装依赖: ```bash pip install requests opencv-python numpy pillow ddddocr onnxruntime python-dotenv ``` 5. **配置环境变量** 复制 `.env.example` 文件为 `.env`,并填写相关配置: ```bash cp .env.example .env ``` ## 使用方法 1. **配置 `.env` 文件** ```env # 认证配置 APP_USERNAME=your_username APP_ENCRYPTED_PASSWORD=your_encrypted_password ``` 2. **运行脚本** ```bash python auto_get_token.py ``` 3. **查看输出** 脚本会输出获取到的 token 和 refresh_token,并将其保存到 `token_cache.json` 文件中。 ## 项目结构 ``` OTAupdate/ ├── auto_get_token.py # 主脚本文件 ├── config.py # 配置文件 ├── .env # 环境变量文件 ├── .env.example # 环境变量示例文件 ├── .gitignore # Git 忽略文件 ├── LICENSE # 许可证文件 ├── README.md # 项目说明文件 ├── requirements.txt # 依赖包文件 └── token_cache.json # Token 缓存文件(自动生成) ``` ## 配置说明 ### 环境变量配置 | 配置项 | 说明 | 示例 | |-------|------|-------| | APP_USERNAME | 登录用户名(手机号) | ***** | | APP_ENCRYPTED_PASSWORD | 加密后的密码 | ***** | ### API 配置 | 配置项 | 说明 | 默认值 | |-------|------|--------| | LOGIN_URL | 登录接口 URL | https://vpretsp.dfmc.com.cn/ptapi/buz-user-service/sys/login | | CAPTCHA_API_URL | 验证码接口 URL | https://vpretsp.dfmc.com.cn/ptapi/buz-user-service/captcha.jpg | | GET_TICKET_URL | 获取 ticket 接口 URL | https://vpretsp.dfmc.com.cn/ptapi/buz-user-service/sso/getTicket | | VOYAH_LOGIN_URL | Voyah 登录接口 URL | https://voyah-ota-stg.dfmc.com.cn/api/1/passit/voyah/auth/login | ## 网络优化特性 1. **请求重试机制**:默认最多重试 3 次 2. **指数退避策略**:避免频繁请求加剧网络拥堵 3. **请求超时设置**:30 秒超时,防止长时间阻塞 4. **会话持久性**:保持会话,减少重复建立连接的开销 5. **详细的错误处理**:捕获并记录各种网络异常 ## 许可证信息 本项目采用 GNU GPL v3 许可证,详见 [LICENSE](LICENSE) 文件。 - ✅ 允许个人使用 - ✅ 允许修改代码 - ✅ 允许分发修改后的代码 - ❌ 禁止商用 - ✅ 要求修改后代码开源 ## 注意事项 1. **网络连接**:确保网络连接正常,脚本会自动处理临时网络故障 2. **验证码识别**:验证码识别可能存在一定误差,脚本会自动重试 3. **token 过期**:token 有过期时间,脚本会在 token 过期时自动重新获取 4. **安全问题**: - 敏感信息存储在 `.env` 文件中,请妥善保管 - `token_cache.json` 文件包含敏感信息,请勿泄露 - 建议定期更新密码 5. **依赖问题**: - 确保安装了所有必要的依赖包 - 若遇到 onnxruntime 相关错误,请安装 Visual C++ 2019 redistributable ## 故障排除 ### 常见错误及解决方法 1. **TesseractNotFoundError** - 原因:未安装 Tesseract OCR 或未配置环境变量 - 解决:本项目使用 ddddocr 本地识别,无需安装 Tesseract 2. **onnxruntime DLL 加载失败** - 原因:onnxruntime 版本与系统不兼容,缺少 Visual C++ 运行库 - 解决:安装 onnxruntime==1.17.0,安装 Visual C++ 2019 redistributable 3. **NumPy 版本冲突** - 原因:numpy 版本与 onnxruntime 不兼容 - 解决:降级 numpy 至 1.26.4 版本 4. **405 Method Not Allowed 错误** - 原因:使用错误的登录接口 - 解决:确保使用正确的接口 URL 5. **登录失败(密码加密方式错误)** - 原因:密码加密方式与服务器要求不符 - 解决:使用预加密密码 APP_ENCRYPTED_PASSWORD 6. **登录失败(用户名不正确)** - 原因:环境变量配置错误 - 解决:确保 .env 文件中的 APP_USERNAME 配置正确 ## 联系方式 如有问题或建议,请联系项目维护者。 --- **免责声明**:本工具仅用于学习和研究目的,请勿用于任何非法或未经授权的活动。使用本工具产生的一切后果由使用者自行承担。