mirror of
https://github.com/ZxwyWebSite/lx-source.git
synced 2025-07-03 02:32:19 +08:00
263 lines
11 KiB
Markdown
263 lines
11 KiB
Markdown
## Lx-Source/更新日志
|
||
|
||
<!-- #### \# 2024-02-14 v1.0.3-rel (release)
|
||
+ **停止更新:感谢这三个月的陪伴,现因无力维护,停止后续更新,发布最后版本,大家有缘再见** -->
|
||
|
||
#### \# 2024-02-15 v1.0.3-pre (pre)
|
||
+ Wy源刷新登录模式确定:每天执行一次合并Cookie
|
||
+ zTool: task: 增加传参 now(int64): 执行时间(Unix)
|
||
+ 优化Tx源刷新登录函数,兼容计划任务错误处理模式
|
||
+ 对源脚本进行部分更改,建议重新下载导入(http://127.0.0.1:1011/lx-custom-source.js)
|
||
+ 简单优化旧版LinkHandler
|
||
+ 支持Mg源自定义账号
|
||
|
||
#### \# 2024-02-12 v1.0.3-pre-d1 (pre)
|
||
<!-- + 预留小洛源(lx)更名为local -->
|
||
+ 确定tx刷新登录间隔6天
|
||
+ 更新源接口定义
|
||
|
||
#### \# 2024-02-09 v1.0.3-pre-d1 (pre)
|
||
+ 数据表结构规划中,暂时推迟
|
||
+ 修复wy源builtin接口√
|
||
+ 使用计划任务定期清理日志缓存√
|
||
|
||
#### \# 2024-02-07 v1.0.3-pre-d1 (pre)
|
||
<!-- + 支持为本地缓存接口设置速率限制 -->
|
||
+ 修复Tx源刷新登录到期时间问题(默认14天)
|
||
+ Kg源使用新版接口,彻底弃用MusicId传参
|
||
+ 优化linkrouter
|
||
|
||
#### \# 2024-02-03 v1.0.3-pre-d1 (dev)
|
||
+ ~~更新一个大版本~~
|
||
+ 源脚本:**兼容**洛雪手机端v1.2.0版本
|
||
+ 计划:引入SQLite支持(GORM),支持缓存请求,重写Router/Caches逻辑
|
||
+ 修复linux环境非root用户启动无法创建配置目录提示权限不够问题
|
||
|
||
#### \# 2024-01-31 v1.0.2-b12-d3 (dev)
|
||
+ [重构请求处理逻辑]:
|
||
```
|
||
首先拆分为三部分:Before(前置检测), Middle(获取数据), After(验证结果)
|
||
可解决部分重复代码,但传参难以统一
|
||
```
|
||
+ [缓存数据目录]:
|
||
```
|
||
128k.mp3 320k.mp3 flac.flac fl64.flac lyric.lrc cover.jpg info.json
|
||
| 各音质文件缓存 | 歌词 | 封面 | 详情 |
|
||
```
|
||
+ [数据库表结构]:
|
||
```
|
||
暂未确定
|
||
```
|
||
+ 计划:引入SQLite支持,缓存歌曲详情
|
||
+ 更新go.mod依赖
|
||
+ 默认文件权限改为0777
|
||
+ 屏蔽部分未实现功能配置项
|
||
|
||
#### \# 2024-01-29 v1.0.2-b12-d3 (dev)
|
||
+ 增加启动参数 `-p 0777` 设置默认文件权限 解决非root用户下的权限问题 (部分情况0666不管用)
|
||
+ **(注:为保证正确解析八进制数据,开头的"0"不能去掉!)**
|
||
+ 低调行事,删除源脚本内Github仓库地址
|
||
+ 构建时修改版本号?
|
||
+ 本地缓存:下载出错后删除文件
|
||
+ 更新wy内置源Api地址
|
||
+ 优化配置文件保存逻辑
|
||
+ 支持使用自定义NeteaseCloudMusicApi项目(beta)
|
||
+ (注:当前测试阶段,强行与旧逻辑兼容,可能无法达到最佳性能)
|
||
+ 计划:重构源请求逻辑,合并builtin与custom目录?
|
||
+ 支持wy源检测音质是否可用(需启用qualityMapReverse支持)
|
||
+ 计划:将参数传入Query,忽略实际音质不匹配强制缓存
|
||
|
||
#### \# 2024-01-27 v1.0.2-b12-d3 (dev)
|
||
+ wy源Cookie长期有效(一个月左右),且刷新逻辑未知,暂时禁用刷新登录功能
|
||
+ 将router和middleware整合到server文件夹
|
||
+ 自适应本地缓存绑定地址(beta),多端口建议开启,但缺少灵活性
|
||
+ windows平台调用loger.Fatal后显示按任意键继续(优化防止闪退)
|
||
|
||
#### \# 2024-01-26 v1.0.2-b12-d3 (dev)
|
||
+ 计划增加命令行模式配置账号登录(测试版)
|
||
+ 启动命令 `./lx-source-linux-amd64v2 -e menu`
|
||
+ 清理部分无用注释
|
||
|
||
#### \# 2024-01-24 v1.0.2-b12-d3 (dev)
|
||
<!-- + wyApi项目被警告删库,暂时停止相关更新 -->
|
||
+ 模块化wyApi部分√
|
||
+ \[Auth\] 将Key验证模块移至速率限制模块后
|
||
+ 优化main.go,使用zcypt.RandomBytes函数
|
||
+ 添加对象池,手动释放Loger,优化创建速度
|
||
+ 添加多端口监听支持
|
||
+ 支持配置全局代理、伪装ip
|
||
+ 支持使用163api模式获取歌曲
|
||
|
||
#### \# 2024-01-21 v1.0.2-b12-d2 (dev)
|
||
+ 新版api结构设计(暂定)
|
||
```
|
||
# 基础接口
|
||
/
|
||
/link/{source}/{musicid}/{quality}
|
||
# 功能接口
|
||
/api/{source}/{method}/{query}
|
||
| 源 | 功能 | 参数 |
|
||
/api/wy/link/?id=xxx&quality=320k&key=xxx
|
||
# 软件接口
|
||
/app/{name}/{method}/{?query}
|
||
| 名称 | 功能 |
|
||
/app/lxmusic/link (参数通过post传入)
|
||
/app/musicfree/xxx (计划支持MusicFree)
|
||
```
|
||
+ 添加wy外链获取v1支持,并改用此版本
|
||
+ 计划:统一错误输出,进行以下分类
|
||
+ 验证失败(Verify Failed)、实际音质不匹配、无返回数据(No Data)、...
|
||
<!-- + 其它:这一段时间主要完善wy源接口,kg和mg账号源推迟更新 -->
|
||
|
||
#### \# 2024-01-19 v1.0.2-b12-d2 (dev)
|
||
+ 添加wy批量SongUrl获取排序功能
|
||
+ 完善wy请求加密支持
|
||
+ 添加wy刷新登录模块(beta)
|
||
+ 待优化:cookie需要频繁在map和string之间转换
|
||
|
||
#### \# 2024-01-18 v1.0.2-b12-d1 (dev)
|
||
+ 对部分功能实现方式进行优化,去除qualityMapReverse依赖
|
||
+ 由于wy修改api验证方式,python版逻辑已不可用,现参考NeteaseCloudMusicApi项目进行修改
|
||
+ 实现wy外链获取逻辑(暂未实装)
|
||
<!-- + 添加wy电台(wd)支持 -->
|
||
|
||
#### \# 2024-01-15 v1.0.2-b11 (beta)
|
||
<!-- + 支持ForceFallback(忽略音质限制,获取试听音频) -->
|
||
+ 测试版MusicId验证
|
||
+ (注:任何前置验证都必然会延长响应时间,请确认会用到再开启)
|
||
+ 修复wy源内置接口
|
||
|
||
#### \# 2024-01-13 v1.0.2-b10 (beta)
|
||
+ 不再支持自定义Public目录,默认使用内置embedFS提供服务
|
||
+ 修改脚本更新路径为 `public/lx-custom-source.js`
|
||
+ 优化kw内置源获取方式
|
||
+ 强制使用默认Script配置
|
||
+ 隐藏服务端信息中的`developer,github`字段
|
||
+ 为Windows构建添加文件属性
|
||
<!-- + 添加wy源接口分流功能 -->
|
||
|
||
#### \# 2024-01-10 v1.0.2-b10-d1 (dev)
|
||
<!-- + 内置kw接口失效,暂时禁用kw源 -->
|
||
+ 修复内置kw接口
|
||
|
||
#### \# 2024-01-07 v1.0.2-b0.9 (beta)
|
||
<!-- + 不再导出 `public` 目录,源脚本统一到 `/lx-custom-source.js` 获取
|
||
+ 为每个源单独设置直链缓存时间 -->
|
||
+ 开启tx源账号解析时启用文件缓存
|
||
+ 移植tx源刷新登录功能
|
||
+ 注:之前没有登录过手机qq音乐的账号签到可免费领绿钻会员
|
||
+ **已知问题:生成直链会暴露uin且无法移除,共享时请务必使用缓存**
|
||
+ 完善速率限制功能:增加容忍限度、封禁时间,详见配置注释
|
||
+ 准备弃用"MusicId-字符串"传附加参数的方式
|
||
+ 计划:重构音质对应表部分,每个源使用独立音质表
|
||
+ 更换wy内置接口为qz源
|
||
+ 默认监听地址改为127.0.0.1
|
||
<!-- + *内置接口失效,暂时禁用wy源 (如恢复可修改 [Custom].Wy_Enable=true)* -->
|
||
|
||
#### \# 2024-01-01 v1.0.2-b0.8 (beta)
|
||
+ 注:新年第一次更新,祝大家听歌愉快
|
||
- 根据源启用状态生成支持音质表
|
||
|
||
#### \# 2023-12-31 v1.0.2-b0.8.2 (dev)
|
||
- 注:本次还是累积更新,不单独发布Release
|
||
+ 从Python版移植部分代码
|
||
+ (兼容tx源一分钟试听链接获取)
|
||
+ 优化速率限制相关逻辑
|
||
|
||
#### 2023-12-30 v1.0.2-b0.8.1 (dev)
|
||
+ 注:本次累积更新,不单独发布Release
|
||
+ 实现单ip速率限制,配置方法:
|
||
- **[Auth].RateLimit**
|
||
* _Enable(false): 开启功能
|
||
* _Block(30): 单位时间
|
||
* _Single(15): 单ip限制次数
|
||
- 实际速率: 15次每30秒
|
||
+ (目前仅对解析接口使用,文件接口不受限制)
|
||
|
||
#### 2023-12-25 v1.0.2-b0.7 (beta)
|
||
<!-- + 支持调用 ffmpeg 恢复kg一分钟试听数据真实长度
|
||
+ (测试版,需要Path里有ffmpeg命令,配置文件 [Main].FFConv=true 开启) -->
|
||
+ 修复tx试听源,获取128k音质 (原先默认获取的是96k的m4a)
|
||
+ **很不幸,又要更新客户端脚本了...**
|
||
+ (要不直接把musicinfo Post到服务端处理吧)
|
||
|
||
### 2023-12-24 v1.0.2-b0.6 (beta)
|
||
#### 功能:
|
||
<!-- + 将试听接口独立为直连接口,其它源未实现的自动回退到此接口 (可在配置中关闭) -->
|
||
+ 添加tx试听源(同样不计入缓存)
|
||
+ [不兼容] 支持使用服务端返回音质列表
|
||
#### 注:
|
||
+ **请再次更新客户端脚本!**
|
||
+ 支持从服务端获取内置脚本: http://127.0.0.1:1011/lx-custom-source.js
|
||
#### 已知问题:
|
||
+ kg试听源返回1分钟试听文件会错误识别成完整版,导致播放器卡死
|
||
|
||
#### **2023-12-23 v1.0.2-b0.5 (beta)**
|
||
<!-- + zTool:
|
||
- 修复直接传入make([]byte, n)时潜在内存泄露问题 -->
|
||
### update:
|
||
- 请求解析接口时遇到的错误输出到log,不返回msg
|
||
<!-- - 服务端返回音质列表(需更新脚本) -->
|
||
### feature:
|
||
- 添加kg试听源(不计入缓存) **\*(需更新脚本)**
|
||
- 注:部分歌曲只能试听前1分钟内容,无法试听的无法播放
|
||
- (请手动删除 `data/public` 目录后启动程序重新释放静态资源)
|
||
- 脚本还是 `data/public/lx-coustom-source.js`,开了Key验证的记得将原apipass复制过去
|
||
### bugfix:
|
||
- 修复wy源返回错误判断逻辑
|
||
<!-- + [msg] 当前api结构与动态链实现方式不兼容,需要大改,故推迟更新 -->
|
||
|
||
#### 2023-12-22 v1.0.2-b0.4 (beta)
|
||
<!-- + 没有功能更新,几个未来的想法
|
||
- 利用缓存信息制作数据库,可通过api搜索音乐
|
||
- 修改Lx-Music支持通过脚本新增搜索源 -->
|
||
+ update 更新:
|
||
- 给CacheQuery加个sync.Pool,提高并发分配效率
|
||
- 请求验证改为在初始化时载入,降低每次判断性能损耗
|
||
<!-- - (现在内存缓存和文件缓存的响应速度差距约为200µs) -->
|
||
+ feature 功能:
|
||
- 临时链生成仍将推迟
|
||
+ bugfix 修复:
|
||
- 临时解决预定义(*Loger).NewGroup()无法输出到FileLoger问题
|
||
+ 注:
|
||
- 如果非调试使用建议关闭控制台日志输出 [Main].Print=false,可少量提升io性能 (不影响文件日志记录)
|
||
|
||
#### 2023-12-19 1.0.2-b0.3 (dev)
|
||
+ 增加dev分支,日常开发,稳定了再合main,防止临时补充更新情况
|
||
+ 上次补充更新内容:将error.mp3换成远程连接
|
||
- 洛雪客户端似乎无法识别Base64编码后的音频文件
|
||
- 待解决问题:无法获取真实请求URL,如套一层Nginx或分路径反代,只能依赖手动配置的 [Cache].Local_Bind 确定外部地址
|
||
+ zTool:
|
||
- 略微降低FileLogs缓存大小,防止异常退出丢**太多**日志情况 (TODO: Error及以上情况强制刷新缓冲区)
|
||
- cmd: 优化io.Copy缓存问题
|
||
+ (未完成) 临时链生成功能 (需要维护双倍的映射表,实际速度可能减慢)
|
||
+ (实验性) [Main].SysLev 尝试调高程序优先级以解决windows下最小化降低资源分配问题
|
||
|
||
#### 2023-12-(17-18) 1.0.2-β0.2 (beta)
|
||
+ 脚本增加请求耗时输出
|
||
+ 优化zTool文件下载逻辑
|
||
+ 链接缓存由Source上移至Router级 (为临时链实现基础)
|
||
+ 完善缓存规则
|
||
- 查询成功将链接写入内存,保留一小时 (MemCache HIT)
|
||
- 解析错误将空字符串写入内存,阻止请求10分钟 (MemCache Reject)
|
||
+ 可提升后续重复查询响应速度 (实际效果不明显,后端几十µs的差距)
|
||
+ 防止自动换源机制瞎查,解析失败返回一段提示语音
|
||
```
|
||
非常抱歉,
|
||
本音频可能由以下原因导致无法正常播放,
|
||
|
||
不支持的平台或音质,
|
||
触发风控或专辑单独收费,
|
||
缓存文件已被删除,
|
||
实际音质不匹配,
|
||
|
||
--洛雪自定义源
|
||
(Lx-Source)
|
||
```
|
||
#### ~2023-12-16
|
||
+ 参考Python版移植部分功能
|
||
+ 完善、优化逻辑
|
||
+ 发布源码
|
||
#### 2023-10-21
|
||
+ 立项制作
|