更新内容
- 更新 依赖版本及最低编译版本
考虑到之前 Go 版本我也更新了,干脆把 CFST 为数不多的依赖也都更新一下算了,因此 go.mod 里的最低编译版本号也改为了 1.18
- 修复 部分情况下无法显示彩色文字的问题
比如 Windows 双击运行等情况下,CFST 输出的彩色文字异常,以及重定向到文件时也会把颜色代码写进去
- 调整 主界面的蓝色文字为青色
蓝色文字在比如 Windows PowerShell 这种默认背景颜色是蓝色的终端中会看不清,改为青色会好点,有配色建议尽管提
- 关于 彩色文字 的已知问题:
复现条件:
在 Windows 系统中通过 Git Bash 来运行 Windows 版的 CFST 时,延迟测速进度条右侧的可用数字颜色会有异常。
问题缘由:
实现进度条功能的第三方库pb
的间接依赖是color
,进度条右侧的数字颜色就是由color
处理的,在各种情况下都能正常显示为绿色,因此我为了解决 Windows 下文字颜色异常的直接引入了这个间接依赖color
,结果引入前可用数字颜色还是正常的,引入后成功解决了 Windows 下异常问题,但这个可用数字反而异常了。。。应该是pb
内的调用的color
和我引入的color
同时使用时在这种奇怪条件下冲突了(虽然都是同一个color
),但我也无力解决,不过好在问题影响不大,复现条件也比较复杂,一般人根本遇不到,因此修不修都行~
- 另外我还发现了一个关于 进度条 的已知问题(测试彩色文字时发现的):
复现条件:
在 Windows 系统中,通过 Git Bash 运行 Windows 版的 CFST,通过 CMD+SSH 与 PowerShell+SSH 远程链接 Linux 服务器运行 Linux 版的 CFST 时,本该原地刷新的进度条内容,却变成换行了,一行行的刷屏。
问题缘由:
经过排查后发现,似乎是因为终端缓冲的原因导致进度条刷新不及时,因而本该原地刷新的却被终端当成新内容另起一行了(当进度条速度增长非常快时看起来挺正常的,然而一旦进度条变化频率慢了就会出现这种情况),我估计是实现进度条的这个第三方库pb
本身与上述组合条件下的环境兼容性问题,我也无法解决。
强烈建议大家在使用 Windows 系统时,安装微软开发的开源现代终端工具 Windows Terminal(微软商店就有,安装后建议设置默认终端为 CMD
),或者其他现代终端工具,可以有效避免这些乱七八糟的兼容性问题(而且更好看更美观)。
上面的这些问题其实之前一直都有,但我之所以一直没发现,就是因为我好多年前就用的是 Windows Terminal,导致我这边显示一切正常,压根没注意到这些奇奇怪怪的兼容性问题。。。
国内用户建议从蓝奏云下载:https://xiu.lanzoub.com/b0742hkxe
系统 | 架构 | 32/64 | 文件选择 | ... |
---|---|---|---|---|
macOS | x86_64 | 64 位 | cfst_darwin_amd64.zip | 最低要求 macOS 11 |
macOS | ARM v8 | 64 位 | cfst_darwin_arm64.zip | 最低要求 macOS 11 |
macOS | x86_64 | 64 位 | cfst_darwin_amd64_old.zip | 适用于 macOS 10 及旧版本 |
macOS | ARM v8 | 64 位 | cfst_darwin_arm64_old.zip | 适用于 macOS 10 及旧版本 |
Linux | x86 | 32 位 | cfst_linux_386.tar.gz | 最低要求 Linux 内核 3.2 (下同) |
Linux | x86_64 | 64 位 | cfst_linux_amd64.tar.gz | ... |
Linux | ARM v8 | 64 位 | cfst_linux_arm64.tar.gz | ARM v8 指的就是 ARM 64 位 |
Linux | ARM v5 | 32 位 | cfst_linux_armv5.tar.gz | ... |
Linux | ARM v6 | 32 位 | cfst_linux_armv6.tar.gz | ... |
Linux | ARM v7 | 32 位 | cfst_linux_armv7.tar.gz | ... |
Linux | Mips | 32 位 | cfst_linux_mips.tar.gz | ... |
Linux | Mips | 64 位 | cfst_linux_mips64.tar.gz | ... |
Linux | Mipsle | 32 位 | cfst_linux_mipsle.tar.gz | ... |
Linux | Mipsle | 64 位 | cfst_linux_mips64le.tar.gz | ... |
Windows | x86 | 32 位 | cfst_windows_386.zip | 最低要求 Windows 10 + Server 2016 |
Windows | x86_64 | 64 位 | cfst_windows_amd64.zip | 最低要求 Windows 10 + Server 2016 |
Windows | x86 | 32 位 | cfst_windows_386_old.zip | 适用于 Windows 7/8 + Server 2008/2012 |
Windows | x86_64 | 64 位 | cfst_windows_amd64_old.zip | 适用于 Windows 7/8 + Server 2008/2012 |
Windows | ARM v8 | 64 位 | cfst_windows_arm64.zip | 提供给 ARM 架构的,别下错了! |
因为 Go 新版本不再支持一些系统的老旧版本了(上面有写),因此我专门搞了个旧版本 Go v1.20 来编译适用于老旧系统版本的 CFST,但不确定是否有其他问题(没条件测试),而且就算有也不考虑对其单独修复,望悉知。
路由器(硬)一般是 Mips、Mipsle、ARM 架构,可以通过运行
uname -m;cat /proc/cpuinfo|grep 'model name'
命令来判断(如输出aarch64
指的就是ARM v8(或叫 ARM64)
),实在不清楚可以挨个都试试,能正常运行就代表选对了。
路由器如果是 OpenWrt 固件,也可以尝试使用原生 OpenWrt 编译版本:原生 OpenWrt 编译运行支持
Android 手机基本都是 ARM 架构,自行检查是 32 位(v5 / v6 / v7)还是 64 位(v8):Android 手机运行教程
IOS 手机要取决于安装的虚拟机是什么架构,有兴趣的可以参考一下:IOS 手机运行教程
Linux 系统中解压
tar.gz
压缩格式的命令示例:tar -zxf cfst_linux_XXX.tar.gz
macOS 系统下通过命令行终端进入 CFST 目录,和 Linux 系统一样使用
./cfst
命令来运行(使用方式基本没区别)。