Commit Graph

17 Commits

Author SHA1 Message Date
orion 15d18f6123 fix(homebrew): 修复 Homebrew 伪终端输入和输出处理问题
- 在 colorize_line 函数中处理光标控制序列,避免它们破坏版本着色
- 添加 run_brew_in_pseudoterminal 函数,从控制终端读取输入而不是关闭的管道
- 将主脚本通过 curl 管道启动时的输入重定向到 /dev/tty
- 修复启动器中 sudo 密码读取时的输入源问题
- 更新文档说明启动器如何处理 curl 管道输入和确认提示
2026-07-24 08:54:53 +08:00
orion 8124810b6e feat(homebrew): 添加 Homebrew 输出流式着色功能
- 实现 can_stream_colorize_tty_output 函数检测流式着色支持
- 添加 colorize_brew_tty_stream 函数处理实时进度条和语义配色
- 使用 Perl 脚本实现流式过滤器,即时处理 CRLF 和 CR 换行
- 优化 run_brew_colored 函数集成伪终端和流式着色
- 改进日志记录功能,保留错误分类和重试决策所需信息
- 修复进度条缓冲问题,确保实时显示升级状态
2026-07-24 08:32:50 +08:00
orion 972e7a142d feat(homebrew): 优化交互式终端中的 Homebrew 进度显示
- 在交互式终端中保留 Homebrew 6 的原生实时下载进度条和动态状态
- 使用 -t 检查判断终端类型,决定是否启用原生进度条
- 在 macOS 上使用 script(1) 创建伪终端以记录输出到日志
- 重定向到文件或 CI 时自动切换为稳定逐行输出模式
- 通过 HOMEBREW_COLOR 环境变量控制配色方案
- 在 Darwin 系统上检查 script 工具可用性以决定处理方式
2026-07-24 00:59:02 +08:00
orion d090edd5c6 refactor(homebrew): 统一 Homebrew 输出着色处理
- 移除交互式终端的特殊处理逻辑,禁用 Homebrew 自带动态进度显示
- 统一使用语义着色处理所有场景下的 Homebrew 输出
- 删除 BSD script 伪终端分配功能,简化日志记录流程
- 更新 README 文档说明输出着色的一致性改进
2026-07-23 08:45:15 +08:00
orion 3c677eddcf ```
fix(homebrew): 优化终端输出处理逻辑

- 交互式终端中保留 Homebrew 原生配色和实时进度显示
- 非交互式输出时继续使用语义着色处理
- 在 macOS 上使用 script 命令为 brew 分配伪终端以保留完整输出
- 添加对管道状态的更精确错误处理
- 更新文档说明终端输出行为的变化
```
2026-07-21 08:52:30 +08:00
orion ccaff22653 refactor(homebrew): 重构 Homebrew 升级管理脚本的配色和清理策略
- 实现终端主题检测功能,支持深色/浅色模式自动切换配色方案
- 添加 256 色终端支持,优化不同背景下的颜色对比度
- 引入版本变更高亮显示,突出包名、旧版本、新版本的变化
- 集成 OSC 11 协议查询终端背景色,提升跨终端兼容性
- 将清理策略从按日期清理改为统一执行 brew cleanup --prune=all
- 移除自定义缓存清理逻辑,使用 Homebrew 内置清理机制
- 增强输出着色功能,按语义对 Homebrew 输出进行彩色标记
- 更新文档说明新的清理流程和终端配色特性
2026-07-19 01:36:04 +08:00
orion aa85eb32c7 refactor(homebrew): 重构 Homebrew 升级管理脚本的配色和清理策略
- 实现终端主题检测功能,支持深色/浅色模式自动切换配色方案
- 添加 256 色终端支持,优化不同背景下的颜色对比度
- 引入版本变更高亮显示,突出包名、旧版本、新版本的变化
- 集成 OSC 11 协议查询终端背景色,提升跨终端兼容性
- 将清理策略从按日期清理改为统一执行 brew cleanup --prune=all
- 移除自定义缓存清理逻辑,使用 Homebrew 内置清理机制
- 增强输出着色功能,按语义对 Homebrew 输出进行彩色标记
- 更新文档说明新的清理流程和终端配色特性
2026-07-19 01:18:46 +08:00
orion 854aceeae5 feat(core): 优化 Homebrew 缓存清理策略
* 禁用安装步骤中的自动清理,统一在升级流程结束后执行
* 清理 Homebrew prefix 失效链接及日期早于今天的缓存
* 保留当天生成的下载缓存,并支持失败后继续清理
* 扩展全量清理参数支持并更新相关文档说明
2026-07-17 09:15:23 +08:00
orion ff54bffc53 ♻️ refactor(core): 优化 Homebrew 智能升级管理脚本
* 优化 Shell 环境设置,采用 set -euo pipefail 提升脚本鲁棒性
* 改进路径处理逻辑,动态按需向 PATH 注入 Homebrew 常用路径
* 增强失败隔离机制,实现 Cask 批量失败后仅对过期项精准重试
* 优化临时文件管理,改用临时目录并在退出时自动清理相关资源
* 完善网络容错能力,在 bootstrap 阶段增加 curl 重试与超时限制
* 更新文档说明,同步最新的升级策略、并发控制及错误处理逻辑
* 引入终端动态宽度支持,优化非交互式环境下的输出展示效果
2026-07-17 00:30:07 +08:00
orion 3e7063b30a ♻️ refactor(core): 优化 Homebrew 升级管理器的错误重试与隔离机制
* 重构 Cask 升级逻辑,引入失败隔离与针对性重试机制
* 新增通过环境变量自定义重试次数与延迟间隔的功能
* 优化启动器下载流程,集成 curl 自动退避重试策略
* 改进 Cask 失败处理,仅对未成功项进行二次重试并移除强制标志
* 更新文档,详细说明网络瞬时错误处理与新版本升级逻辑
* 增强脚本健壮性,完善针对数值参数的合法性校验机制
2026-07-17 00:10:37 +08:00
orion d82545d492 ♻️ refactor(core): 移除 brew-cu 扩展并优化升级流程结构 2026-06-05 19:58:11 +08:00
orion e6861f53ef 🐛 fix(core): 容忍 Cask 升级时的瞬时下载失败并优化错误校验逻辑 2026-06-02 08:56:34 +08:00
orion 4a97c1cb4a refactor(core): ♻️ 更新 PATH 环境变量并补充 brew doctor 说明
在引导脚本的 PATH 变量中增加 Homebrew 的 sbin 路径,以解决常见的路径缺失
警告。同步更新 README 文档,增加了关于 brew doctor 警告的处理指南,包括
如何处理废弃的 Cask 以及手动配置 PATH 的详细步骤。
2026-05-08 02:03:28 +08:00
orion 54a4fa7e65 feat(core): 新增 Homebrew 远程启动器并更新文档
新增 `brew-upgrade-manager-bootstrap.sh` 启动器脚本。该启动器支持通过 macOS Keychain 安全存储 sudo 密码,并能自动从远程拉取最新的 Homebrew 升级主脚本执行,随后清理临时文件。

同步更新 `README.md`,提供了推荐的 `brewup` 函数配置方法、Keychain 密码管理说明以及 SHA256 校验等调试指南。

主要变更:
- 新增支持 Keychain 认证的远程启动器脚本
- 实现 sudo 凭据自动管理与安全存储
- 完善项目文档,增加详细的使用说明和配置推荐
2026-05-08 01:53:12 +08:00
orion 6a0fe9dded refactor(core): ♻️ 优化终端宽度检测逻辑为动态获取
通过引入 terminal_width 函数,将原本固定的终端宽度检测逻辑重构为动态获取。当未指定固定宽度时,脚本将实时读取当前终端窗口尺寸,提升了在不同交互环境下(如窗口缩放)的显示适配能力。

同时更新了配套文档,明确了命令行参数、环境变量与动态检测之间的优先级关系。
2026-05-04 02:02:23 +08:00
orion 3c980ec87a refactor(core): ♻️ 移除 brew 脚本中的 sudo 密码注入并重构代码
移除 Homebrew 升级脚本中硬编码的 sudo 密码处理逻辑,改为依赖用户预先认证(sudo -v),提高安全性并简化 PTY 转发逻辑。同步更新文档说明及 sntp 脚本的类型校验。

- 脚本: 移除 SUDO_PWD 相关变量及自动注入逻辑,升级版本至 v5.3
- 文档: 更新 README 建议使用 sudo -v 刷新凭据,重写交互说明
- 工具: 在 sntp-rename.js 中增加对非字符串名称的防御性校验
2026-05-04 01:50:00 +08:00
orion c3437ae163 docs(core): 📝 完善项目文档并增强安全性
更新项目根目录 README.md 以更清晰地展示脚本集合架构,并为 Homebrew、Sub-Store 和 Telegram 模块新增详细的使用说明文档。

同时移除了 brew-upgrade-manager.sh 中的硬编码 sudo 密码,改为空字符串占位符以提升代码安全性。

- 增强根目录文档的可读性与结构
- 为每个子模块添加独立的 README.md
- 修复脚本中的敏感信息泄露问题 (SUDO_PWD)
2026-05-03 15:18:21 +08:00