Skip to content

Hexagon Proxy v0.1.4更新

Choose a tag to compare

@FanzhouStudio FanzhouStudio released this 06 Sep 07:55
· 14 commits to main since this release

HexagonProxy v0.1.4 更新说明

本次更新主要围绕 网络兼容性、端口管理、内置终端性能与稳定性 进行优化,同时继续保持轻量、模块化的设计。

✨ 新增功能

本地网络与回环地址完整绕过

现在 HexagonProxy 会更完善地处理本机与局域网地址,避免本地服务、路由器后台、NAS、开发服务器等地址被错误送入代理。

已覆盖:

  • localhost
  • 127.0.0.0/8
  • 10.0.0.0/8
  • 172.16.0.0/12
  • 192.168.0.0/16
  • 169.254.0.0/16
  • 100.64.0.0/10
  • IPv6 回环与本地网络地址
  • .local / .lan / .home.arpa 等常见本地域名

Windows 系统代理绕过列表与 Mihomo DIRECT 规则现在由同一套数据统一维护,减少规则不一致的问题。

端口占用检测与释放

设置页面新增 「释放占用」 功能。

当混合端口或控制端口被其他程序占用时,可以:

  • 检测占用端口的进程
  • 显示进程名称与 PID
  • 用户确认后结束占用进程
  • 自动确认端口是否已经真正释放

同时加入安全保护:

  • 不会自动结束 Windows 关键系统进程
  • 不会结束当前 HexagonProxy 自身进程
  • 代理运行期间禁止误操作当前 Mihomo
  • 确认前后会再次校验 PID,避免进程状态变化导致误杀

⚡ 内置终端性能优化

大幅优化内置终端在大量输出时的流畅度。

之前终端会频繁重新读取完整日志文件,随着输出越来越多可能逐渐出现卡顿。

现在改为:

  • 按字节增量读取日志
  • 每次只处理新增内容
  • 输出读取进行节流
  • 多个输出块合并后再刷新 UI
  • 减少 RichTextLabel 高频重排和滚动计算
  • 超长输出自动清理较早内容,避免长时间运行后越来越卡

对于以下场景会有明显改善:

  • npx / npm
  • Node.js
  • Git
  • 编译日志
  • PowerShell 长输出
  • 持续运行的命令行工具

同时继续保持 UTF-8 中文输出支持,并修复了 UTF-8 字符刚好跨读取分块边界时可能产生乱码的问题。

🔧 网络与系统代理优化

Windows ProxyOverride 不再简单覆盖原有配置。

启用 HexagonProxy 时会:

  1. 保留用户已有的系统代理绕过规则
  2. 合并 HexagonProxy 必需的本地网络绕过项
  3. 自动去重

退出 HexagonProxy 后会恢复用户原来的系统代理设置。

这样可以更好地兼容:

  • 公司内网
  • 本地开发环境
  • NAS
  • 路由器管理页面
  • Docker / 本地服务
  • 自定义代理例外规则

🛠 稳定性与架构

本次新增功能继续保持模块化结构:

  • LocalNetworkCatalog
  • PortConflictService
  • PortConflictCoordinator

UI 只负责展示和发送用户意图,端口检测、进程管理和网络规则分别由独立模块处理。

同时新增和完善了相关自动化测试,包括:

  • 本地网络绕过测试
  • Windows ProxyOverride 合并与恢复测试
  • 端口占用检测测试
  • 真实进程释放测试
  • 系统进程保护测试
  • 终端流式输出压力测试
  • UTF-8 分块边界测试
  • 1920×1080 UI 布局测试

📦 Windows 版本

本版本继续提供单文件便携版:

HexagonProxy.exe

无需安装,下载后可直接运行。

Mihomo 内核仍然采用 按需下载 的方式,不再内置在 EXE 中,以保持程序体积较小。

首次使用时请前往:

设置 → Mihomo 内核 → 检查并下载最新内核

📌 当前说明

  • 应用分流目前仍基于 Mihomo 现有代理能力
  • 当前版本暂未集成 TUN
  • 部分完全绕过 Windows 系统代理的程序可能无法被应用分流接管
  • Windows SmartScreen 可能会对未签名程序显示安全提示

感谢使用 HexagonProxy。

如果遇到 Bug、端口异常、终端乱码或代理兼容性问题,欢迎通过 GitHub Issues 提交反馈。