Commit Graph

25 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 1f221fd2fc feat(homebrew): 添加彩色列表打印和改进升级管理功能
- 新增 print_colored_list 函数用于彩色化列表输出
- 在 brew 命令中禁用 HOMEBREW_COLOR 环境变量
- 添加 run_brew_doctor 函数处理 brew doctor 输出并着色
- 添加初始公式和应用更新前的状态检查与显示
- 改进缓存清理功能,区分下载文件和内部文件
- 更新清理结果显示,仅显示下载文件并统计隐藏文件数量
- 使用 run_brew_doctor 替代原始 brew doctor 调用
- 优化升级流程中的状态提示信息显示
2026-07-18 13:53:32 +08:00
orion 722c43e323 refactor(homebrew): 重构脚本中的颜色输出和错误处理功能
- 添加了 RED 颜色常量定义和相应的颜色代码调整
- 替换了原有的 echo 命令为新的打印函数(如 print_error、print_warning 等)
- 实现了统一的错误消息输出格式,使用 print_error 函数
- 优化了颜色输出的实现方式,使用 printf 替代 echo -e
- 在 bootstrap 脚本中也实现了类似的颜色输出和错误处理函数
- 统一了脚本中的消息输出格式和样式
2026-07-18 13:40:59 +08:00
orion 82a3f49de8 feat(homebrew): 优化缓存清理功能并改进文件管理
- 添加 ACTIVE_CLEANUP_MANIFEST 变量用于跟踪清理操作
- 实现 format_bytes 函数用于格式化字节大小显示
- 重构 prune_cache_before_today 函数以提供详细的文件统计信息
- 添加已删除和保留文件的详细列表输出
- 使用清单文件安全地处理缓存文件枚举和删除操作
- 改进错误处理和清理失败时的状态返回
- 在 .gitignore 中添加新的 IDE 配置文件忽略规则
2026-07-18 13:34:01 +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 5d9f8120a5 🐛 fix(core): 修复 brew-upgrade-manager.sh 中的格式问题 2026-06-08 08:44:42 +08:00
orion 7d5147c180 ♻️ refactor(core): 优化 rename.js 中的地区序列紧凑化逻辑 2026-06-06 16:00:39 +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 3eb494683a refactor(core): ♻️ 简化终端宽度处理并重构代码结构
为了提高脚本的可维护性,简化了 `brew-upgrade-manager.sh` 中的终端宽度逻辑。通过移除复杂的命令行参数解析和动态宽度检测,改为使用固定的 130 列配置,并同步更新了引导脚本以导出环境变量。

- 移除冗余的命令行参数解析逻辑
- 将终端宽度处理逻辑重写为简单的函数
- 强制导出 `COLUMNS` 环境变量以统一输出格式
- 优化了脚本内部执行步骤的视觉分隔效果
2026-05-09 08:48:58 +08:00
orion 6fee1a61c8 fix(core): 🛠️ 优化环境变量路径处理与结构调整
在脚本执行初期增加路径检查机制,确保 `/usr/local/sbin` 和 `/opt/homebrew/sbin` 被正确包含在 PATH 中。此次变更还对代码结构进行了重新梳理,提高了脚本在不同终端环境下的兼容性。

主要变更:
- 新增 `prepend_path_once` 函数,实现路径去重添加
- 确保 Homebrew 相关的 sbin 目录在执行前已进入环境变量
- 优化了代码块的排列顺序以提升可读性
2026-05-08 02:10:36 +08:00
orion 15d99f33ce fix(core): 🩹 更新 Homebrew Cask 升级命令
将 GUI 软件更新方式从使用第三方 brew-cu 切换为官方原生的 brew upgrade --cask 命令,并增加贪婪模式与强制参数以提升更新覆盖率。

- 替换 brew cu -yaq 为 brew upgrade --cask --greedy --force
- 同步更新控制台输出提示信息
2026-05-06 09:02:30 +08:00
orion a2924ad7ff refactor(core): ♻️ 移除 Python PTY 转发逻辑并简化更新流程
移除复杂的 Python 脚本模拟终端逻辑,改由 brew 直接读取当前 TTY。此举解决了因新建 PTY 导致的 sudo 时间戳失效问题,并大幅精简了代码结构,提升了维护效率。

- 删除了约 80 行 Python PTY 转发引擎代码
- 优化了更新与清理任务的执行顺序
- 修复了交互式环境下权限验证的潜在冲突
2026-05-06 08:55:39 +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
orion 2470bdc278 feat(core): 添加 Homebrew 智能升级管理脚本
新增 brew-upgrade-manager.sh 脚本,实现 Homebrew 自动化升级及 Cask 更新。引入 Python PTY 伪终端处理机制,修复了自动化过程中因终端尺寸导致的 Ruby 渲染崩溃问题,并对部分项目文件进行了归类整理。
2026-04-24 08:45:08 +08:00