Releases: Akimio521/MediaWarp
Releases · Akimio521/MediaWarp
v0.0.7
Changelog
- 37ad907 MediaWarp v0.0.7
- f1d9592 chore(go.mod): 更新依赖项以添加新字体库和图像处理库
- f8660b2 chore(goreleaser): 更新构建配置,启用 Docker 镜像推送并添加元数据标签
- 0587e11 dev: 增加触发条件
- c7e7842 dev: 开发工作流运行单元测试
- c3f8b9d feat(AlistServer): 支持使用永久令牌 token 登录
- 8f988a3 feat(EmbyServerHandler): PlaybackInfoHandler 函数正确处理 AlistStrm 视频文件大小
- fa92a1e feat(EmbyServerHandler): 添加 RawURL 配置选项以控制 AlistStrm 的重定向链接
- 1d8395a feat(EmbyServerHandler): 添加转码设置选项以支持 HTTPStrm 和 AlistStrm 是否返回 PlaybackInfo 通告客户端禁止转码
- 2ea17f3 feat(WebSetting): 添加 VideoTogether 设置以支持共同观影功能
- 3afbb6a feat: 提供字幕接口相关正则
- ea003d3 feat: 提供集合对象
- 37cbe99 feat: 新增 SRT 字幕转 ASS 字幕功能
- 3db00ea feat: 新增判断字幕格式、SRT 字幕 转 ASS 字幕函数
- 8c2edb6 fix(EmbyServerHandler): 修复 AlistStrm 存储的路径存在文件时导致无法正确重定向
- c72d52b fix: 修改 VideosHandler 和 PlaybackInfoHandler 的匹配规则,避免匹配到字幕
- eadb8d3 fix: 避免当 MediaStreams 为空数组的情况移除该字段导致导致部分客户端报错
- dd53416 perfect(EmbyServerHandler): VideosHandler 函数中优先判断是否为 HEAD 请求
- 843b6a1 perfect(EmbyServerHandler): 优化 PlaybackInfoHandler 函数中对 AlistStrm 的处理,避免 api_key 错误解析无法返回响应
- e839f75 perfect(EmbyServerHandler): 优化 PlaybackInfoHandler 函数中添加 continue,避免错误解析无法返回响应
- 1332c57 perfect(EmbyServerHandler): 优化 PlaybackInfoHandler 接口日志输出
- 30b4e8c perfect(EmbyServerHandler): 使用 responseModifyCreater 对修改上游响应的处理器的封装 减少每次进入 gin.HandlerFunc 处理器时判断对应 *httputil.ReverseProxy 是否已经生成
- 0c9150d perfect(EmbyServerHandler): 在 Init 函数中完成初始化,调用 GetRegexpRouteRules 函数时无需重复计算路由规则,提高性能
- b67c0f4 perfect(EmbyServerHandler): 在从 Alist 获取媒体源大小时检查是否为空值检查,避免重复获取
- 8b720f7 perfect(EmbyServerHandler): 在初始化函数中为 modifyProxyMap 分配空间,减少每次调用函数进行判断
- aee94b6 perfect(IsSRT): 匹配成功后直接返回提高性能
- 267267d perfect(IsSRT): 使用 []byte 代替 string 提高性能
- ec66f59 perfect(SRT2ASS): 使用 []rune 作为字幕缓存区,提高性能
- 22b828d perfect: 优化 EmbyServerHandler.PlaybackInfoHandler 中对 HTTPStrm 的处理
- 704e1b5 perfect: 优化特殊样式中字重解析方法,移除正则表达式,减少判断次数
- 50e67de perfect: 使用集合 Set 简化流程、提高性能
- d206a62 perfect: 对于未注册 Alist 服务器不会造成 panic,而是返回 error
- d91efb2 perfect: 将 MediaSourceInfo 中某些属性添加 omitempty,减少返回 null
- 37a9291 perfect: 提供解析 ASS 字幕工具(主要用于字幕子集化)
- fb9edb7 perfect: 禁止 AlistStrm 进行转码,强制直接播放(经测试 FileBall 已支持重定向)
- f614b25 refactor: 修改相关正则位置,提供测试函数
- 45356fd refactor: 将 Emby API 解析函数移至 uitls 包中
- 77526b8 refactor: 重构 EmbyRoute 测试用例以使用显式命名的测试案例
- 0ed65c4 report: 更新 bug.yaml 模板,必须提供详细信息
- 7b94071 style: 统一常量声明位置、修改部分命名
- 5fffdea style: 调整包引入顺序
v0.0.6
Changelog
- 0bd03e2 feat(router): 添加获取版本信息的接口
- 1d859fa feat: EmbyServerHandler.PlaybackInfoHandler 拦截修改响应
- 9f848f6 fix(EmbyServerHandler): VideosHandler 可能匹配字幕流导致字幕无法正常转发,将未正确匹配流量直接转发
- f1334da fix: 使用变量才能在编译时赋值
- ea5eed1 fix: 调整 EmbyServerHandler.VideosHandler 处理范围,避免错误匹配
- ddfddf7 git: 更新 .gitignore 文件
- 5817e9b perfect(AlistServer): 将token缓存到结构体中,避免后续使用Redis缓存将token缓存至Redis
- 9da4b50 perfect: EmbyServerHandler.VideosHandler 区分本地视频和本地 Strm 文件处理流程
- da13765 perfect: 优化 EmbyServerHandler.VideosHandler 中非规范请求重定向逻辑
- 7810120 perfect: 更新路由表
- 7100cbd perfect: 独立 EmbyServerHandler.RecgonizeStrmFileType 函数
- 356da24 perfect: 统一管理 Emby 相关的正则表达式
- c61e486 perfect: 调整中间件顺序,先记录日志在将查询参数转为小写
- 2e57a55 perfect: 需要修改响应体时可复用之前实例化的 httputil.ReverseProxy
- a086597 refactor: 将日志模块从 logger 改为 logging
- e331d6c refactor: 移动文件夹 pkg 到 utils
- 8fcb86b refactor: 移除无效文件
- 559d7ab style: 优化日志输出
- 66b5616 style: 优化访问日志信息输出结果
- b84447d update: config.Version 提供更多信息
v0.0.5
MediaWarp v0.0.5
- 扩大 VideosHandler 匹配范围(修复 FileBall 下 Strm 文件播放问题,不完美)
- 中间件缓存可选是否开启(避免内存缓存缓存大量图片、css、js 等资源)
- 修改 internal/config、internal/logger、internal/cache 这几个包,使其使用方式更加 “golang”
- 支持加载多种格式的配置文件(JSON、TOML、YAML、YML、Java properties、Java props)
v0.0.4
MediaWarp v0.0.4
- 优化mediaSourceID处理逻辑
- 使用httputil.ReverseProxy处理HTTP和WebSocket请求
- 设置浏览器referer策略,跳转时减少服务器站点泄露
- 使用正则表达式进行路由匹配
- 定义缓存接口、实现内存缓存逻辑
- 修改项目结构
- 用户自定义资源设为Custom、从config中读取需要额外添加的HEAD
- 日志允许设置是否输出到终端或文件
- 日志根据日期分割
v0.0.3
MediaWarp v0.0.3
- 实现AlistStrm重定向
- 适配EmbyServer4.9视频播放逻辑
- 嵌入实用功能(外部播放器、弹幕、美化等)
- 支持WebSocket
v0.0.2
MediaWarp v0.0.2
- 增加支持返回自定义静态资源
- 优化302播放逻辑
- 增加自定义客户端过滤功能