SpeedTest-EX 0.0.9发布, 带来多个改进
在SpeedTest-EX 0.0.9中, 我们对bin安装相关进行了完善, 同时加入了更多flag传入与内置rand生成; 我们对性能一并进行了优化, 并关闭了gin日志输出, 避免影响性能; 我们还新增了[Speedtest]
配置块, 用于设置下载数据块大小与块数量, 以模拟更加真实的场景; 最后, 我们还增加了前端版本号显示, 方便用户查看版本信息.
更新日志(CHANGELOG)
0.0.9
- CHANGE: 将
Revping
转为通过WebSocket
通道传递数据 - CHANGE: 完善bin安装脚本
- REMOVE: 移除部分无用保留页面
- CHANGE: 关闭
gin
日志输出, 避免影响性能(go终端日志输出性能较差, 易成为性能瓶颈) - CHANGE: 新增
[Speedtest]
配置块,downDataChunkSize = 4 #mb
downDataChunkCount = 4
分别用于设置下载数据块大小与块数量, 配置更加灵活
0.0.8
- CHANGE: 大量扩充可传入的flag
- CHANGE: 修改
config
模块, 加入保存配置与重载配置 - CHANGE: 加入通过
crypto/rand
生成secret key的功能 - CHANGE: 增加前端版本号显示
项目相关
- 项目地址: https://github.com/WJQSERVER/speedtest-ex
- 0.0.9 Release: https://github.com/WJQSERVER/speedtest-ex/releases/tag/0.0.9
- 许可证: 本项目使用LGPL-3.0许可证, 请遵守该许可证
- 开发语言: Golang(后端), JavaScript(前端&Worker)
- 项目讨论群组: SpeedTest-EX 您可在群内与开发者进行更为高效的沟通
- 频道: WJQserver Programs 如果您想了解有关WJQSERVER-STUDIO的一些项目最新进展, 您可以查看此频道
如果本项目对您有所帮助, 请给项目一个Star, 这对我们是莫大的鼓励!
详细更新内容
bin安装脚本
SpeedTest-EX 0.0.9 新增了bin安装一键脚本, 安装更加便捷(支持Systemd, Procd, OpenRC)
wget -O install.sh https://raw.githubusercontent.com/WJQSERVER/speedtest-ex/refs/heads/main/deploy/install.sh && chmod +x install.sh && clear && ./install.sh
flag传入
speedtest-ex -cfg /path/to/config/config.toml # 传入配置文件路径(必选)
# 以下参数可选
-port 8080 # 设置服务端口,默认8989
-auth #开启鉴权,默认关闭
-username admin # 设置用户名(需要开启鉴权)
-password admin # 设置密码(需要开启鉴权)
-secret rand # 设置密钥(需要开启鉴权) (rand为随机生成)
-initcfg # 初始化配置模式, 传入并保存配置, 用于快速初始化配置(保存配置后将会退出)
-dev # 开启开发模式,默认关闭(非开发用户请不要开启)
下载分块配置
我们在0.0.9版本中新增了下载分块配置, 用于模拟更加真实的场景, 目前的默认配置在一定程度上模拟了高清流媒体的场景
[Speedtest]
downDataChunkSize = 4 #mb 下载数据分块大小
downDataChunkCount = 4 # 下载数据分块数量
各位可以根据需要模拟的场景进行调整
Revping(反向ICMPing)
我们由原本的使用多个GET请求的方式改为通过WebSocket通道传递数据, 这样可以在一定程度上避免阻塞影响性能
关闭gin日志输出
众所周知, go终端日志输出性能较差, 易成为性能瓶颈, 因此我们在0.0.9版本中关闭了gin日志输出, 避免影响并发性能
最新配置格式&详解
[server]
host = "0.0.0.0" # 监听地址
port = 8989 # 监听端口
basePath = "" # 兼容LiberSpeed而保留, 无需求请不要修改
[Speedtest]
downDataChunkSize = 4 #mb 下载数据分块大小
downDataChunkCount = 4 # 下载数据分块数量
[log]
logFilePath = "/data/speedtest-ex/log/speedtest-ex.log" # 日志文件路径
maxLogSize = 5 # MB 日志文件最大容量
[ipinfo]
model = "ipinfo" # ip(自托管) 或 ipinfo(ipinfo.io)
ipinfo_url = "" #使用自托管时请填写您的ip服务地址
ipinfo_api_key = "" # ipinfo.io API key 若有可以填写
[database]
model = "bolt" # 数据库类型, 目前仅支持BoltDB
path = "/data/speedtest-ex/db/speedtest.db" # 数据库文件路径
[frontend]
chartlist = 100 # 默认显示最近100条数据
[revping]
enable = true # 是否开启反向延迟测试
[auth]
enable = false # 是否开启鉴权
username = "admin" # 鉴权用户名
password = "password" # 鉴权密码
secret = "secret" # 加密密钥, 用于生产session cookie, 请务必修改
结语
SpeedTest-EX 0.0.9 是一个向着完善前进的版本, 我们将继续努力完善功能与性能, 并提供更多的功能与服务。
我们感谢所有用户的支持与反馈,并期待 SpeedTest-EX 能为您的带来更大的便利和更高的效率!若此项目对您有所帮助,请不要忘记 star 本项目 ,您的支持是我们前进的动力!