🎬 纯净、流畅、无广告的 Bilibili 第三方客户端
| 功能 | 描述 |
|---|---|
| 高清画质 | 支持 4K / 1080P60 / HDR / Dolby Vision (需登录/大会员) |
| DASH 流媒体 | 自适应码率选择,无缝切换画质,流畅播放体验 |
| 弹幕系统 | 透明度、字体大小、滚动速度可调,支持弹幕密度过滤 |
| 手势控制 | 左侧上下滑动调节亮度,右侧调节音量,左右滑动快进/快退 |
| 倍速播放 | 0.5x / 0.75x / 1.0x / 1.25x / 1.5x / 2.0x |
| 画中画 | 悬浮小窗播放,多任务无缝切换 |
| 后台播放 | 锁屏/切后台继续听,支持通知栏控制 |
| 播放记忆 | 自动记录观看进度,下次打开继续播放 |
| TV 登录 | 支持 TV 端扫码登录,解锁大会员专属高画质 |
| 插件系统 | 内置空降助手、去广告、弹幕增强三大插件,可扩展架构 |
| 插件 | 描述 |
|---|---|
| 空降助手 | 基于 BilibiliSponsorBlock 数据库,自动跳过广告/恰饭片段 |
| 去广告插件 | 智能过滤推荐流中的商业推广内容 |
| 弹幕增强 | 关键词屏蔽与高亮,打造个性化弹幕体验 |
| 夜间护眼 | 定时护眼、使用时长提醒、暖色滤镜 |
| 插件中心 | 统一管理所有插件,支持独立配置 |
| 🆕 外部插件 | 支持通过 URL 动态加载 JSON 规则插件 |
📖 JSON 规则插件快速入门(点击展开)
JSON 规则插件是一种无需编程的轻量级插件格式,只需编写简单的 JSON 文件即可实现内容过滤功能。
{
"id": "my_plugin",
"name": "我的插件",
"description": "插件描述",
"version": "1.0.0",
"author": "你的名字",
"type": "feed",
"rules": [
{
"field": "title",
"op": "contains",
"value": "广告",
"action": "hide"
}
]
}| 类型 | 字段 | 说明 |
|---|---|---|
| Feed | title |
视频标题 |
| Feed | duration |
视频时长(秒) |
| Feed | owner.mid |
UP 主 UID |
| Feed | owner.name |
UP 主名称 |
| Feed | stat.view |
播放量 |
| Danmaku | content |
弹幕内容 |
| 操作符 | 说明 | 示例 |
|---|---|---|
contains |
包含 | "value": "广告" |
regex |
正则匹配 | "value": "震惊.*必看" |
lt / gt |
小于 / 大于 | "value": 60 |
eq / ne |
等于 / 不等于 | "value": 123456 |
startsWith |
以...开头 | "value": "【" |
{
"id": "short_video_filter",
"name": "短视频过滤",
"type": "feed",
"rules": [
{ "field": "duration", "op": "lt", "value": 60, "action": "hide" }
]
}- 将 JSON 文件上传到公开可访问的 URL(如 GitHub Gist)
- 在 BiliPai 中进入 设置 → 插件中心 → 导入外部插件
- 粘贴链接并安装
📚 完整文档: 插件开发指南
🧩 示例插件: plugins/samples/
| 功能 | 描述 |
|---|---|
| 番剧首页 | 热门推荐、新番时间表、分区浏览 |
| 选集面板 | 官方风格底部弹出面板,支持季度/版本切换 |
| 追番管理 | 追番列表、观看进度自动同步 |
| 弹幕支持 | 番剧同样支持完整弹幕功能 |
| 功能 | 描述 |
|---|---|
| 直播列表 | 热门直播、分区浏览、关注直播 |
| 高清直播流 | HLS 自适应码率播放 |
| 直播弹幕 | 实时弹幕显示 |
| 一键跳转 | 动态卡片直接进入直播间 |
| 功能 | 描述 |
|---|---|
| 动态流 | 关注 UP 主的视频/图文/转发动态 |
| 分类筛选 | 全部动态 / 仅视频动态 切换 |
| GIF 支持 | 完美渲染动态中的 GIF 图片 |
| 图片下载 | 长按预览,一键保存到相册 |
| @ 高亮 | 动态中 @用户 自动高亮显示 |
| 功能 | 描述 |
|---|---|
| 视频下载 | 支持选择画质下载,音视频自动合并 |
| 断点续传 | 网络中断后自动恢复下载 |
| 下载管理 | 清晰的下载列表与进度显示 |
| 本地播放 | 离线视频管理与播放 |
| 功能 | 描述 |
|---|---|
| 实时建议 | 输入时实时搜索建议 (300ms 防抖优化) |
| 热门榜单 | 展示当前热门搜索词 |
| 历史记录 | 搜索历史自动保存,支持去重 |
| 分类搜索 | 视频 / UP主 / 番剧 分类检索 |
| 功能 | 描述 |
|---|---|
| Material You | 动态主题色,根据壁纸自动适配 |
| 深色模式 | 完美适配系统深色模式 |
| iOS 风格底栏 | 优雅的毛玻璃导航栏效果 |
| 卡片动画 | 波浪式进场动画 + 弹性缩放 + 共享元素过渡 |
| 骨架屏加载 | Shimmer 效果,优雅的加载占位 |
| Lottie 动画 | 点赞/投币/收藏 精美交互反馈 |
| 庆祝动画 | 三连成功烟花粒子特效 |
| 功能 | 描述 |
|---|---|
| 双登录方式 | 扫码登录 / 网页登录 |
| 个人信息 | 头像、昵称、等级、硬币数展示 |
| 观看历史 | 自动记录观看历史,支持云同步 |
| 收藏管理 | 收藏夹列表与视频管理 |
| 关注/粉丝 | 关注列表与粉丝列表浏览 |
- 🚫 无广告 - 纯净观看体验,无任何广告植入
- 🔐 权限最小化 - 仅申请必要权限 (无位置/通讯录/电话)
- 💾 数据本地存储 - 登录凭证仅存本地,不上传任何隐私数据
- 🔍 开源透明 - 完整源码公开,接受社区审查
| 项目 | 要求 |
|---|---|
| Android 版本 | Android 10+ (API 29) |
| 处理器架构 | 64 位 (arm64-v8a) |
| 推荐版本 | Android 12+ 获得完整 Material You 体验 |
| 安装包大小 | ~14 MB |
- 在 Releases 页面下载最新 APK
- 在设备上点击安装 (可能需要允许"未知来源"应用)
- 打开应用,扫码或网页登录 Bilibili 账号
- 开始享受纯净的 B 站体验!
| 类别 | 技术 | 说明 |
|---|---|---|
| 语言 | Kotlin 1.9+ | 100% Kotlin 开发 |
| UI 框架 | Jetpack Compose | 声明式 UI,Material 3 设计语言 |
| 架构模式 | MVVM + Clean Architecture | 分层清晰,易于维护 |
| 类别 | 技术 | 说明 |
|---|---|---|
| 网络请求 | Retrofit + OkHttp | RESTful API 调用 |
| 序列化 | Kotlinx Serialization | JSON 解析 |
| 本地存储 | Room + DataStore | 数据库 + 偏好设置 |
| 图片加载 | Coil Compose | 支持 GIF 解码 |
| 类别 | 技术 | 说明 |
|---|---|---|
| 视频播放 | ExoPlayer (Media3) | DASH / HLS / MP4 支持 |
| 弹幕引擎 | DanmakuFlameMaster | B 站官方弹幕库 |
| 硬件解码 | MediaCodec | 高效硬件加速 |
| 类别 | 技术 | 说明 |
|---|---|---|
| 动画 | Lottie Compose | 高品质矢量动画 |
| 毛玻璃 | Haze | iOS 风格模糊效果 |
| Material You | Material 3 | 动态取色主题 |
app/src/main/java/com/android/purebilibili/
├── app/ # Application 初始化
├── core/ # 核心工具类
│ ├── network/ # 网络配置
│ ├── utils/ # 工具函数
│ └── ui/ # 通用 UI 组件
├── data/ # 数据层
│ ├── api/ # API 接口定义
│ ├── model/ # 数据模型
│ └── repository/ # 数据仓库
├── domain/ # 领域层
│ └── usecase/ # 用例
├── feature/ # 功能模块
│ ├── home/ # 首页
│ ├── video/ # 视频播放
│ ├── bangumi/ # 番剧
│ ├── live/ # 直播
│ ├── dynamic/ # 动态
│ ├── search/ # 搜索
│ ├── download/ # 下载
│ ├── profile/ # 个人中心
│ ├── settings/ # 设置
│ └── login/ # 登录
└── navigation/ # 导航
- 首页推荐流 + 瀑布流布局
- 视频播放 + 弹幕 + 手势控制
- 番剧/影视播放 + 选集面板
- 直播播放 + 分区浏览
- 动态页面 + 图片下载 + GIF 支持
- 离线下载 + 本地播放
- 搜索 + 历史记录
- Material You + 深色模式
- TV 扫码登录 (解锁高画质)
- 共享元素过渡动画
- 插件系统核心架构
- 内置插件 (空降助手 / 去广告 / 弹幕增强)
- 弹幕发送功能
- 平板/折叠屏适配
- 应用内更新检测
- 观看历史云同步
- 收藏夹管理
- 多账户切换
- 英文/繁体中文支持
查看完整更新记录:CHANGELOG.md
- 🎨 动态页面重构:Tab 切换、GIF 支持、@ 高亮
- ✨ 首页卡片共享元素过渡动画
- 🔧 iOS 风格下拉刷新指示器
- 🐛 修复 DanmakuManager 内存泄漏
# 克隆仓库
git clone https://github.com/jay3-yy/BiliPai.git
cd BiliPai
# 使用 Android Studio 打开项目
# 或使用命令行构建
./gradlew assembleDebug- JDK 17+
- Android Studio Hedgehog (2023.1.1) 或更高版本
- Android SDK 34
- Gradle 8.2+
欢迎提交 Issue 和 Pull Request!
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 提交 Pull Request
| 项目 | 说明 |
|---|---|
| Jetpack Compose | 声明式 UI 框架 |
| ExoPlayer (Media3) | 媒体播放引擎 |
| DanmakuFlameMaster | B 站弹幕引擎 |
| DanmakuRenderEngine | 字节跳动高性能弹幕引擎 |
| bilibili-API-collect | B 站 API 文档 |
| Haze | 毛玻璃效果库 |
| Lottie | Airbnb 动画库 |
| Coil | Kotlin 图片加载库 |
| Compose Shimmer | 骨架屏加载效果 |
| Compose Cupertino | iOS 风格 UI 组件 |
| ZXing | 二维码生成 |
| Room | 数据库持久化 |
| Retrofit | HTTP 网络请求 |
| OkHttp | HTTP 客户端 |
| Firebase Crashlytics | 崩溃追踪分析 |
Caution
- 本项目仅供 学习交流,严禁用于商业用途
- 数据来源 Bilibili 官方 API,版权归上海幻电信息科技有限公司所有
- 登录信息仅保存本地,不会上传任何隐私数据
- 使用本应用观看内容时,请遵守相关法律法规
- 如涉及版权问题,请联系删除
本项目采用 GPL-3.0 License 开源协议
这意味着:
- ✅ 可以自由使用、修改和分发
- ✅ 修改后的代码必须同样开源
- ❌ 不得用于商业目的
- ❌ 不得移除原作者信息
如果这个项目对你有帮助,欢迎点个 Star ⭐
Made with ❤️ by YangY
( ゜- ゜)つロ 干杯~