# Bilibili Resolver & Proxy Worker 开发日志 (Development Log)

# 2026-01-25

  • 任务: 核心解析引擎构建 (v2.1)

  • 操作:

    • 项目初始化: 基于 Cloudflare Workers 构建轻量级 Bilibili 解析服务,旨在解决 VRChat 播放器的 Referer 防盗链问题。
    • WBI 签名实现: 移植了 B 站最新的 WBI 鉴权算法,确保能获取非限速的 1080P/720P 高清直链,而非仅 360P/480P。
    • 代理中转: 开发 /proxy 端点,伪造 RefererUser-Agent 头,将 B 站 CDN 流量无缝转发至客户端。
    • 多格式支持: 实现了对 BV号b23.tv 短链以及完整 URL 的正则提取与解析逻辑。
  • 任务: VRChat 播放体验优化 (v2.2)

  • 操作:

    • Range 请求透传:
      • 解决了 VRChat 播放器无法拖动进度条的问题。
      • 在代理层透传客户端的 Range 头,并返回 206 Partial Content,实现流式缓冲与快进。
    • 安全加固:
      • 实施域名白名单策略,限制代理服务仅能访问 *.bilivideo.com 及相关 B 站域名,防止 Worker 被滥用于代理其他非法内容。
  • 任务: 稳定性与防风控升级 (v2.3)

  • 操作:

    • 智能缓存 (Smart Cache):
      • 引入 Cache API,对同一视频的解析结果缓存 20 分钟。
      • 解决了多人同房间同时加载视频时触发 B 站 API 412 风控(拒绝服务)的问题,实现“秒开”体验。
    • 文件名优化:
      • /proxy 接口中注入 Content-Disposition 响应头。
      • 修复了浏览器直接下载时文件名为乱码的问题,现在下载将自动命名为 【视频标题】.mp4
    • 错误码翻译: 建立错误码映射表,将 B 站原本晦涩的 -10403 等代码转换为“仅限港澳台”、“视频已删除”等可读提示。
  • 任务: UI 重构与交互增强 (v2.4)

  • 操作:

    • 界面现代化:
      • 引入 Glassmorphism (毛玻璃) 设计语言,重写了前端 UI。
      • 实现了动态背景功能:自动提取视频封面,并进行高斯模糊处理作为页面背景,提升沉浸感。
    • 下载功能增强:
      • 新增 dl=1 参数逻辑。
      • 在前端增加“下载 MP4”按钮,点击时强制触发浏览器下载行为(Attachment),而非在线播放。
  • 任务: 路由增强与文档完善 (v2.5)

  • 操作:

    • 万能路径匹配 (Universal Path):
      • 实现 Catch-All 路由逻辑。
      • 支持直接将包含中文标题、空格的“脏文本”(如 B 站分享的复制文案)拼接在域名后。
      • Worker 自动清洗路径并提取链接,实现真正的“复制-粘贴-直连”。
    • 文档更新:
      • 完善 README.md
      • 新增针对 VRChat 用户的网络连接警告(Custom Domain)。
      • 补充 GitHub Fork + Sync 的自动化部署流程,降低普通用户的维护成本。
  • 任务: 容错增强与多端兼容适配 (v2.6 - v2.7)

  • 操作:

    • 智能画质降级 (Auto-Fallback):
      • 后端增加轮询机制,当默认 1080P 获取失败(如会员限制或接口报错)时,自动降级请求 720P/480P,极大提升了解析成功率。
    • Quest 独立显模式:
      • 针对 VRChat Quest 一体机硬件解码限制,新增“Quest 模式”开关。
      • 勾选后强制锁定 720P (H.264) 编码,有效解决安卓端黑屏问题,且 UI 设计保持极简不喧宾夺主。
    • 本地历史记录:
      • 前端利用 localStorage 实现最近 5 条记录的自动保存与回填,优化重复使用体验。
    • 交互微调:
      • 移除侵入式的 alert 弹窗,封装了原生风格的 Toast 消息提示组件,提升交互质感。
总访问量:加载中...更新于

请我喝一杯咖啡~( ̄▽ ̄)~*

LengFengY 微信支付

微信支付

LengFengY USDT(TRC20)

USDT(TRC20)

LengFengY USDT(Aptos)

USDT(Aptos)