SpeedTest-EX 0.0.7 发布, 加入鉴权功能
我们于 0.0.7 内加入了基于Session的鉴权功能,现在你可以在配置文件中开启或关闭该功能。
CHANGLOG (更新日志)
- ADD: 加入鉴权功能与对应的前端页面, 同时对核心
speedtest.js
与speedtest_worker.js
内请求后端的部分进行了适应性修改 (实验性, 需要更多测试) - CHANGE: 改进前端静态文件处理, 进行一定改进
- CHANGE: 优化前端显示
- CHANGE: 改进
revping
功能, 加入熔断, 若由于timeout
或revping-not-online
导致的无法返回结果, 在连续失败后会停止发起请求, 避免阻塞 - CHANGE: 对
route.go
进行了优化, 独立部分处理逻辑
项目相关
- 项目地址: https://github.com/WJQSERVER/speedtest-ex
- 0.0.7 Release: https://github.com/WJQSERVER/speedtest-ex/releases/tag/0.0.7
- 许可证: 本项目使用LGPL-3.0许可证, 请遵守该许可证
- 开发语言: Golang(后端), JavaScript(前端&Worker)
- 项目讨论群组: SpeedTest-EX 您可在群内与开发者进行更为高效的沟通
- 频道: WJQserver Programs 如果您想了解有关WJQSERVER-STUDIO的一些项目最新进展, 您可以查看此频道
感谢各位对本项目的支持! 我们也期待您的反馈与建议!
鉴权功能
鉴权功能是本次更新的重点, 我们为SpeedTest-EX加入了基于Session的鉴权功能, 这可以避免服务器资源被滥用消耗.
以下是/login
路径的前端页面:
鉴权逻辑总览:
开启鉴权功能
在配置文件中, 你需要将[auth]
配置块中的enable
选项设置为true
, 并设置secret
选项为一个随机字符串(这非常重要, 这个字符串将作为加密session的密钥).
[auth]
enable = true # 是否开启鉴权
username = "admin" # 鉴权用户名 请务必修改
password = "password" # 鉴权密码 请务必修改
secret = "secret" # 加密密钥, 用于生产session cookie, 请务必修改
其余更新
RevPing功能优化
我们在原有的基础上进行了优化, 在多次因Timeout
或RevPing-Not-Online
这两种错误导致无法返回有效结果的场景下, 此版本会进行一些处理
在前端收到RevPing-Not-Online
和Timeout
错误时, 会向错误计数器+1, 当错误计数达到5次时, 前端会停止发起请求, 避免阻塞其他HTTP请求.
前端优化&Route.go优化
我们对内嵌前端所使用的以embedFS为基础的HTTPFS进行了读取操作的一些优化与改进
同时, 我们加入了一些路由处理, 使得前端可以正确的处理请求, 如/login
页面的请求与/login.html
等效
前端演示
结语
SpeedTest-EX 仍在不断进步, 目前核心功能基本已无问题, 额外的鉴权功能也已加入, 后续我们将继续优化与完善功能, 也欢迎各位开发者共同参与进来!
如果 本项目 对您有所帮助, 请给项目一个Star! 您的支持是我们前进的动力!
本文使用CC BY-NC-SA 4.0许可发布