Skip to content

Releases: AkimioJR/MediaWarp

v0.1.3

02 Oct 07:05

Choose a tag to compare

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

10 Jul 02:31

Choose a tag to compare

Changelog

  • 762f243 MediaWarp v0.1.2
  • aad2448 feat(router): 添加自定义 robots.txt 支持
  • 414e074 fix(JellyfinRegexp): 修正 Jellyfin 播放信息正则表达式,确保匹配正确的路径 #47
  • c5e7041 refactor(http): 使用全局优化的 HTTP 客户端替换局部客户端实例,统一 HTTP 出口
  • dcb5776 refactor(subtitle): 移除未使用的函数和类型,简化代码结构

v0.1.1

02 Jun 02:37

Choose a tag to compare

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

29 Mar 08:19

Choose a tag to compare

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

27 Mar 06:20

Choose a tag to compare

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

26 Mar 06:34

Choose a tag to compare

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

22 Mar 06:14

Choose a tag to compare

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 方法,简化时间行处理逻辑,减少嵌套,提高代码可读性

v0.0.7

20 Feb 07:14

Choose a tag to compare

MediaWarp说明文档


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

22 Dec 11:53

Choose a tag to compare

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

01 Nov 09:23

Choose a tag to compare

MediaWarp v0.0.5

  • 扩大 VideosHandler 匹配范围(修复 FileBall 下 Strm 文件播放问题,不完美)
  • 中间件缓存可选是否开启(避免内存缓存缓存大量图片、css、js 等资源)
  • 修改 internal/config、internal/logger、internal/cache 这几个包,使其使用方式更加 “golang”
  • 支持加载多种格式的配置文件(JSON、TOML、YAML、YML、Java properties、Java props)