Releases: AkimioJR/MediaWarp
Releases · AkimioJR/MediaWarp
v0.1.6
Changelog
- f740791 MediaWarp v0.1.6
- 67a5e3d feat: 更新 Jellyfin 播放路径正则表达式,支持新版客户端 (#69)
- cc33d97 fix: 修复 Alist API 请求方式错误问题 (#72)
- c38327a issue: 添加确认选项以确保用户使用官方版本的 MediaWarp
- c8f769f perfect: 并在 NewAlistClient 中获取用户信息,避免每次调用 GetFileURL 重新获取用户信息,提高性能
- 07e9f06 refactor: 修改 NewAlistClient 函数以返回错误,并更新相关日志处理
- be11699 refactor: 修改 WriterWarp 中 Body 字段的类型
- e9b35fa refactor: 将 AlistServer 重命名为 AlistClient,并更新相关调用
- a9a4ef1 refactor: 重命名 AlistServer 为 AlistClient,并更新相关调用
v0.1.5
Changelog
- a98c62e MediaWarp v0.1.5
- d22cff7 chore: 更新 bigcache 依赖至 v3.1.0
- 31b2355 feat: 增加 ColorBackground 方法
- 6a884dc feat: 增加 ColorString 方法
- c485f08 feat: 增强访问日志功能,添加格式化方法以支持上下文信息
- 9d22d8c feat: 增强访问日志格式,添加客户端IP信息以提升可读性
- 3aa637f feat: 支持不开启图片和字幕缓存中间件
- 7337b67 feat: 支持字幕缓存
- 63591ff feat: 更新 AlistServer 的 FsGet 方法,支持请求结构体并添加 FsGetRequest 类型
- b732f96 feat: 添加 AccessDebugf 和 AccessWarningf 函数以增强访问日志功能
- 494eb00 feat: 添加 CacheRegexps 类型以支持图片和字幕缓存匹配
- 0b7cdbc feat: 添加 Emby、Jellyfin 图片正则表达式
- 00ec338 feat: 添加 ImageCache 中间件以支持图片请求的缓存处理
- fc1f1fb feat: 添加 ImageTTL 字段
- 6803507 feat: 添加图片缓存支持
- 6e84522 feat: 添加字幕正则表达式
- 03f3c43 feat: 添加缓存数据处理功能,包括 CacheData 结构及其方法
- 288e494 feat: 添加获取字幕缓存正则表达式的方法
- b929697 fix: 优化 doRequest 方法中的缓存数据反序列化逻辑,解析缓存失败后重新进行请求
- e2d9073 fix: 修复访问日志级别设置,确保访问日志与服务日志一致
- a9559e0 fix: 修改日志记录方式,使用 AccessDebugf 以增强上下文信息
- 5e67fb6 fix: 修正 doRequest 方法中的错误信息
- d40b501 fix: 修正字幕缓存正则表达式方法名称
- 2759e9d fix: 增强日志记录,添加正则表达式信息以提升调试信息的可读性
- 19f9565 fix: 更新图片和字幕缓存有效时间配置
- 62c1d40 fix: 添加 api_key 到缓存键计算时忽略的查询参数列表
- d45b3b6 fix: 确保 LoggerAccessFormatter 实现 ogrus.Formatter 接口
- 799f1e5 issue: 添加 issue 翻译工作流,自动翻译非英文 issue 正文
- ff30130 perfect: 仅对进入内部路由的查询参数进行处理,提高性能
- e10857c perfect: 优化 GetFileURL 方法,使用 strings.Builder 构建 URL
- 5e9171a perfect: 优化 ModifyIndex 函数中的 addHEAD 处理逻辑,使用 bytes.Buffer 替代切片
- 67cc35a perfect: 处理 FinalURL 时复用同一个 HTTP 客户端
- 30cc984 perfect: 移除 ColorString 方法中的 fmt.Sprintf,使用字符串拼接提高性能
- 3d8f529 perfect: 重构 doRequest 函数,使用泛型优化,减少序列化/反序列化次数,提高信息
- c4001f8 refacot: 调整中间件存放位置
- ad99df6 refactor: 优化日志格式化代码,提取颜色设置逻辑到独立函数
- 18df954 refactor: 修改 authLogin 方法,使用 AuthLoginRequest 结构体封装登录请求数据
- 012eda2 refactor: 修改文件名
- a2b6f03 refactor: 修改访问日志函数名为 AccessLogf,以保持一致性
- 85444c4 refactor: 修改访问日志格式,使用颜色字符串方法以增强可读性
- 8216fd3 refactor: 修改访问日志格式,简化参数传递以提升可读性
- 4866775 refactor: 将中间件单独封装
- e4308e4 refactor: 将颜色类型从 uint8 修改为 Color,增强类型安全性
- 4d8e621 refactor: 新增 AccessDebugf 和 AccessWarningf 调用为 AccessDebug 和 AccessWarning,以简化参数传递
- e214a0d refactor: 移除编码压缩相关依赖,进入内部处理的路由禁用编码
- a47af08 refactor: 调整 ImageCache 函数参数类型,使用时间段而非指针
- 886a8fa refactor: 重命名正则路由处理器函数并将中间件链封装到处理器内部
- b649e1a refactor: 重定向检测遵循 HTTP 协议标准规范
- 41aaa67 refactor: 重构API 请求处理
- 00bc90e refactor: 重构中间件链,简化中间件执行逻辑
- a4cb75d refactor: 重构图片缓存中间件,提取缓存逻辑到通用函数
v0.1.4
Changelog
- 4ef2c90 MediaWarp v0.1.4
- bd67960 doc: 提供更详细的缓存配置时间说明
- 5464368 doc: 更新
- da959c9 doc: 更新 README 中的关于 AlistStrm 的描述
- 469baa0 doc: 更新配置文件示例
- 4f3fdbb doc: 移除配置文件地址说明中的默认路径描述
- 4c9020b feat: AlistStrm 支持基础目录未非根目录用户
- d6e0779 feat: add cache for HTTPStrm (#62)
- 21a7244 feat: 添加 Alist API 缓存
- 4a468db feat: 添加 GetFileURL 方法以获取文件可访问 URL,非根目录用户无需手动拼接路径
- c95b9d6 feat: 添加 UnmarshalYAML 方法以支持 YAML 配置解析
- 2c2d8a6 feat: 添加获取用户信息的 API 和用户信息数据结构
- 453ce43 fix: 修复 AlistStrm 重定向逻辑,确保仅在有效的重定向 URL 时进行重定向
- 97c5e43 fix: 修复 DirectStreamURL 为空指针的问题
- e599d60 fix: 修复 GZIP 压缩时响应体为空的问题 (#64)
- 5748f23 fix: 修复 QueryCaseInsensitive 方法中缺失的 ctx.Next() 调用
- a8c15cc fix: 修正字段名错误问题
- bd49ce9 fix: 更新 GetFileURL 方法,修正文件路径前缀以确保正确访问
- e823c13 fix: 更新缓存设置中的 AlistTTL 为 AlistAPITTL,以反映新的配置字段
- 0adcdcc fix: 未初始化 url.Values 空指针问题
- cef00da perfect: 优化 LoggerFileHook 的文件处理逻辑,每次记录日志无需重新打开日志文件
- 8b7056f perfect: 优化 QueryCaseInsensitive 方法,简化查询参数处理逻辑
- b0d437a perfect: 使用 uint16 作为端口类型
- 55f45bc refactor: 为 FliterMode 添加 JSON 和 YAML 的序列化与反序列化方法
- 319db4d refactor: 为配置结构体添加标签
- 546c657 refactor: 复用 Emby/Jellyfin AlistStrm 重定向逻辑
- f0e3719 refactor: 将 FliterMode 和 StrmFileType 类型从字符串改为 uint8,优化内存使用
- 52915b1 refactor: 服务日志记录所有等级的日志
- 9c7bc6f refactor: 移除 constants 包中的时间格式常量,直接使用 time.DateTime 进行时间格式化
- 0cd1a17 refactor: 移除 viper,仅支持识别 yaml 配置文件
- 4c28b38 refactor: 重构 HTTPStrm 缓存相关逻辑,引入 bigcache 作为缓存
- e42b730 refactor: 重构缓存相关设置
- 3b9cbc9 update: 将配置中的 logger 字段更名为 log
- 70a8cc3 update: 更新示例配置文件与 type.go 中结构体 tag
v0.1.3
Changelog
- fc827ea MediaWarp v0.1.3
- 2d790c9 docker: 调整 Dockerfile 命名
- f369448 fix(router): robots.txt使用ginR作为根路由而不是mediawarpRouter
- 90af0ba refactor(constants): 将 MediaServerType 从字符串类型更改为 uint8
- 587e182 refactor: 优化初始化过程,统一日志输出,移除冗余代码
- dbb0e59 refactor: 使用当前目录作为项目根目录
- 25c4011 refactor: 重构日志相关功能、分离日志写入 hook 与 日志输出格式化
- e8e5d8b update: 将不必要配置默认设为 False 避免未修改配置默认启动失败
- a4c8516 update: 更新 Dockerfile 名称格式为 Dockerfile.goreleaser
- 81a71b2 update: 更新项目链接
v0.1.2
v0.1.1
Changelog
- e8e0a76 MediaWarp v0.1.1
- f4cb788 feat(EmbyServerHandler、JellyfinHandler): 添加 HTTPStrm 最终 URL 获取功能,减少客户端重定向次数
- 79112fe feat(getFinalURL): 在获取最终URL 的函数中添加 User-Agent 参数以优化请求
- cf0f17a feat(getFinalURL): 添加获取最终 URL 的解析耗时时间
- fde308e feat: 在日志初始化中添加上游媒体服务器类型和地址的打印
- 28a9329 fix(EmbyRegexp): 提高对 Afusekt 客户端的兼容性 #37
- 16a07c9 fix(EmbyServer): ItemsServiceQueryItem 函数请求增加查询参数 Recursive 匹配新版 Emby(beta)
- 40f1b4f perfect(responseModifyCreater): 优化闭包函数,可以捕捉内层函数的 panic 信息
- e837a09 refacor(main): 将 gin 始终设置为 ReleaseMode
- c087af4 refactor(RegisterRoutesWithPrefixs): 移除不必要多前缀注册路由函数
- 021cd5e refactor(logger): 将访问日志和服务日志的初始化移至变量声明
- 0e05db7 refactor(main): 提前日志等奖设置位置
- 6afabca refactor: 优化日志输出格式,统一使用 Infof 和 Debugf 方法
- e7ecd80 refactor: 调整 main 函数
- e794e44 report(bug.yaml): 添加客户端版本输入字段以收集更多问题信息
- a223cc8 update: 修改 .gitignore 文件以包含更多忽略规则
- 3eae980 update: 移除测试函数,更新依赖
v0.1.0
Changelog
- 557cb59 MediaWarp v0.1.0
- 106a66c feat(JellyfinHandler): 添加自定义首页功能及相关响应处理
- 76eff3b feat(web): 添加 crx 美化功能
- 7e6318c feat: 修改 updateBody 函数以支持响应体内容压缩
- 78da011 feat: 添加 Jellyfin API 服务支持
- 519a60f feat: 添加 Jellyfin 服务器支持及相关路由处理
- 0addc1b feat: 添加 jellyfin-danmaku 子模块以支持jellyfin 弹幕功能
- 7ae1c42 fix: readBody 函数区分处理无 Content-Encoding 头和未知编码类型
- bf4cb78 fix: 修复自定义静态资源路径错误问题
- 7820532 fix: 修正 Jellyfin 直链播放链接的格式及日志记录信息
- 89c465d fix: 修正弹幕脚本路径以确保正确加载
- 3e89b47 fix: 更新弹幕脚本路径以支持 jellyfin-danmaku 模块
- 8ac2b86 fix: 调整 Jellyfin 视频处理接口匹配范围
- 035db7c perfect: 优化 readBody 函数并简化代码逻辑
- a9289d8 style: 修改日志信息以更准确地描述 GZIP 和 Brotli 数据解码
- b543344 style: 更新 Referer 策略类型的命名以符合 go-lang 风格
- 885ae6e style: 调整颜色相关常量命名以更符合 go-lang 命名习惯
v0.0.10
Changelog
- 3035341 MediaWarp v0.0.10
- ec05e64 feat: 在恢复中间件中添加详细的错误日志记录以处理 panic 错误
- b954576 feat: 在正则路由处理器中添加调试日志以记录匹配成功的 URL
- 25c9d08 feat: 支持通过命令行参数指定配置文件路径
- 3543f27 feat: 添加 GZIP、Brotli 解压支持并重构读取响应体的逻辑
- ae105e3 fix: 修复日志中间件颜色控制输出错误问题
- 36a1862 fix: 修复配置初始化失败时的日志输出,改为使用标准输出
- 7cd57d2 perfect: 使用自定义恢复中间件以处理 panic 错误并且过滤 httputil.ReverseProxy 中正常的 panic: http.ErrAbortHandler
- 4afe6a5 perfect: 添加信号处理和错误处理机制,优化服务退出流程
- bcff26e refactor: 将responseModifyCreater、recgonizeStrmFileType、updateBody函数移至 utils.go 并独立与 EmbyServerHandler,便于后续复用
- 2ca8466 refactor: 将部分逻辑从 emby.EmbyServer 移至 handler.EmbyServerHandler
- 88e438e refactor: 重构媒体服务器处理器初始化逻辑,改为返回错误以便更好地处理初始化失败情况
- 9097e9d report: 修改 bug 模板中的配置文件字段 ID
- 1d01220 style: 优化正则路由处理器的日志记录格式
v0.0.9
Changelog
- 1cb2504 MediaWarp v0.0.9
- b55368f chore: 检出时克隆子模块
- ba87c3a feat(logging): 使用常量定义时间格式化,提升代码可维护性
- 2f2109a fix(EmbeddedStaticAssets): 补全 jellyfin-crx 和 emby-crx 的 main.js 文件的嵌入
- 4c5f258 fix(EmbyServerHandler): 修复 ModifyPlaybackInfo 和 ModifySubtitles 函数中的响应体关闭顺序,确保正确读取 HTTP 响应
- 52bc397 fix: 修复响应体关闭顺序,确保正确读取 HTTP 响应
- 569243c fix: 移除内存缓存相关设计,避免内存泄漏(不缓存 Alist API 的响应,AlistStrm 重定向速度可能收到影响)
- 2d8320d perfect(EmbyServerHandler): 优化 responseModifyCreater 闭包逻辑
- c790404 perfect(router): 使用 gin.Recovery() 捕获 panic
- 0624132 refactor(ClientFilter): 使用 switch 语句重构客户端过滤器逻辑,移除未知模式处理
- 468c362 refactor(EmbyServerHandler): 简化 ModifyPlaybackInfo 函数中的响应体更新逻辑
- 09f0a58 refactor(config): 优化程序启动逻辑,改进错误处理,重命名静态目录函数
- e79d746 refactor(config): 改进自定义静态资源文件夹创建错误处理,移除 panic
- 73083e3 refactor(config): 解析构建时间格式,改进构建日期处理逻辑
- f0cd543 refactor(logging): 优化访问日志记录逻辑,调整时间记录位置,改进日志格式
- 8729d92 refactor(logging): 修改日志函数参数类型为 any,关闭服务日志调用方报告,增加格式话日志方法,移除不常用日志方法
- 4af69bf refactor: 使用 git 子模块的方式引入 js、css 等文件,移除 emby css 美化功能
- ec35210 refactor: 调整静态资源、自定义目录
- dd03fd9 style(EmbyServerHandler): 调整 ModifyPlaybackInfo 函数的日志输出
- af8ee5e style(logging): 修改日志格式,增加时间和消息之间的制表符
- 96806fd style: 优化 config.yaml.example 文件中的注释和格式
- 6fa11ed update: 更新 go-lang 版本及第三方依赖
v0.0.8
Changelog
- e59791e MediaWarp v0.0.8
- 9cb603d docs(config.yaml.exaple): 修正 AlistStrm.RawURL 配置注释
- 500d079 feat(main): 添加版本信息标志,支持显示当前版本信息
- b1d8096 fix(EmbyServerHandler): 优化重定向链接构建逻辑,确保在 alist 启用签名时正确添加查询参数 sign
- 33c3d51 fix(EmbyServerHandler): 修复 ModifySubtitles 方法中的 defer 语句位置,确保正确关闭响应体
- 82872cb fix(router): 修改正则路由处理,使用不带查询参数的 URL 路径(Path)进行路由匹配
- 0051802 perf(utils): 将 SRT2ASS 方法参数类型从 string 改为 []byte,优化字幕格式转换性能
- d67995a perfect(EmbyServerHandler): 优化 ModifyIndex 方法,确保正确关闭响应体避免内存泄露减少 GC 压力,使用 []byte 替代 string,提高性能
- e0dd17f perfect(EmbyServerHandler): 优化 ModifySubtitles 和 ModifyBaseHtmlPlayer 方法,使用 []byte 替代 string 更新响应体,提高性能
- 8082c53 perfect(EmbyServerHandler): 确保 EmbyServerHandler 实现 MediaServerHandler 接口
- aba6f5d perfect(handler): 使用 os.ReadFile 替代 utils.GetFileContent 读取文件内容
- c7ba750 perfect(utils): 优化 SRT2ASS 方法,使用 bytes.Buffer 替代切片,减少内存分配,提高性能,提升代码健壮性
- 47dd4e3 perfect(utils): 优化 SRT2ASS 方法,使用预定义常量替代硬编码字符串,减少 []byte 转换 降低内存分配次数,减少 GC 压力
- 40da14e perfect(utils): 优化 SRT2ASS 方法,复用 newLine
- 4e51516 refactor(constants): 重构 EmbyRegexp 结构,优化正则表达式管理
- 76eea37 优化 SRT2ASS 方法,简化时间行处理逻辑,减少嵌套,提高代码可读性