仓库:Chloemlla/PiliPlus
上游参考:bggRGjQaUbCoE/PiliPlus · 更早:orz12/PiliPalaX / guozhigq/pilipala
对比基线:截至 2026-09-19,本仓库main=b8a077a0d,上游upstream/main=a85ae21c0;领先 355 个提交、落后 0(即已包含全部上游提交) 本文按功能模块汇总本分支相对上游的主要改进:用户可见行为、关键实现入口、平台范围与工程保障。
不是完整 changelog / 提交列表;上游已有的通用能力见下文feat/功能清单。
| 特性 | 说明 |
|---|---|
| 下载委托 Seal(Android) | 视频详情菜单的「下载视频 / 下载音频」改由 Seal(yt-dlp)解析、排队与落盘,支持多 P 批量与登录 Cookie 透传,并可按空降助手标记剥离广告后输出连续成品;离线缓存仍走应用内下载服务,两者互不替代。 |
| 播放列表导入与导出 | 收藏夹、稍后再看、追番追剧可导出为 JSON / M3U8,导入前校验版本与条目字段并展示预览,单条失效链接不会中断整批。 |
| 批量下载管理 | 下载任务集中展示等待 / 进行中 / 完成 / 失败 / 取消状态,支持批量开始、暂停、重试与删除;任务与播放器页面解耦,切换页面不丢进度。 |
| 视频书签与时间戳 | 可在播放位置创建带标题与备注的书签,支持编辑、删除与跳转,书签按视频聚合;入口在播放页「更多设置」与「我的视频标记」。 |
| UP 开屏跳过 | 为单个 UP 设置统一的开屏跳过时长(0.1–600 秒,支持两位小数),该 UP 的视频从头播放时自动跳过;从历史进度续播不会重复跳过。 |
| 观看统计 | 按天 / 周 / 月聚合观看时长与视频数量,数据只来自本地观看记录,聚合阶段对重复记录去重。 |
| 持久化画中画(Android) | 画中画状态跨页面导航保留,保存视频、分 P、播放位置、标题与封面;播放器关闭、播放完成或退出画中画后清理过期状态。 |
| 直播关键词提醒 | 关注的直播间出现指定关键词时发送系统通知,轮询带节流与去重,点击通知进入对应直播间。 |
| 直播更新进度通知(Android) | 后台播放直播且未开启画中画时,创建带进度条与播放控制的前台常驻通知;Android 16 上以 Live Update 样式呈现,OEM 缺少接口时降级而不崩溃。 |
| B 站网页二维码授权(Android) | 用本机已登录账号扫描或识别 B 站官方网页登录二维码完成网页端授权,支持相机扫码、相册识别与粘贴链接,授权请求附着账号 Cookie;扫码实现为 CameraX + Google ML Kit(barcode-scanning),不再依赖华为 Scan Kit / HMS Core。 |
| 崩溃捕获、过滤与历史 | 跨 Flutter 与 Android 记录可复盘的故障并过滤 media-kit / 网络等不可操作诊断;本地历史含列表、系统信息、堆栈与近期事件,可分享。 |
| Android MMKV 热存储 | 设置、缓存、观看进度与评论等热路径改用 MMKV,大箱懒加载并设 LRU 上限;迁移或解码失败时不会用过期 Hive 快照覆盖新数据,MMKV 不可用时回落 Hive。 |
| 密钥旁路与隐私保护 | 账号 cookies / accessKey 与 WebDAV 密码迁出明文存储,改为独立加密旁路文件;Android 复制登录 Cookie 需通过锁屏 / PIN 验证;日志与崩溃上下文经 LogRedactor 脱敏。 |
| 系统媒体控件与内置导出 | MediaSession + 前台媒体通知支持播放、暂停、上下首、倍速、弹幕、循环与睡眠定时,已知真实时长时通知栏可显示并拖动进度条;内置导出可将视频 MP4 直链与 DASH 音频导出为文件。 |
| 剪贴板视频链接(移动端) | 识别剪贴板中的 B 站视频链接(含 b23.tv 短链),设置项默认关闭;已在视频页时再次打开会二次确认,并带节流与会话内去重。 |
| 首启说明、权限引导与应用声明 | 首装依次展示开源声明与本分支改进说明,每个新构建首次打开展示该构建的更新说明;Android 按系统版本引导通知、媒体、存储等权限,弹窗前等待 Navigator 就绪。「关于」页新增应用声明,集中提供用户协议、隐私政策、个人信息收集清单等内置页面、撤回同意入口、开源许可声明与应用权限用途。 |
| 评论收藏、设置搜索与弹幕高亮 | 评论收藏与视频收藏支持置顶与拖拽排序,本地评论收藏独立存储并支持导入导出与来源回看;设置搜索结果显示所属分区,跳转后滚动定位并短暂高亮;弹幕可按关键词规则高亮。 |
| Synapse 设置与搜索记录同步 | 经 Synapse-Client 授权后在账号设备间同步通用设置、播放设置与搜索历史;同步前区分本地、账号与敏感字段,WebDAV 密码、Cookie 与 Token 保留本地,冲突时给出新增 / 修改 / 移除预览。 |
| Clash VPN 自动适配(Android) | 与配套 Clash Meta 协作,识别伙伴进程退出或 VPN 失效并主动降级,请求失败时切换网络路径,并支持 StatusProvider v2 字段。 |
| 包名、更新源与构建发布 | Android applicationId / namespace 改为 com.chloemlla.piliplus(debug / dev 后缀),Dart 包名改为 pili_plus,检查更新与源码地址指向本仓库,Windows 安装包注册 piliplus:// 深链;push 即构建 Android / iOS / macOS / Linux / Windows 并发布到同一 tag,Android 侧生成并校验 Baseline Profile,另有 Sync upstream workflow 与 tool/sync_upstream.mjs 自动跟进上游。 |
上游详情页「下载视频 / 下载音频」更偏应用内直链导出;复杂清晰度、音视频分离与队列管理成本高。本分支将 菜单下载 委托给 Seal(yt-dlp 前端),由 Seal 负责解析、队列与落盘,PiliPlus 负责发起与状态呈现。
- 视频详情三点菜单:下载视频 / 下载音频
- 离线缓存 仍走应用内
DownloadService,与 Seal 委托互不替代 - 未安装 Seal:Toast「请先安装 Seal」并打开 Seal Releases
- 已安装:拉起 Seal,并显示 PiliPlus 自有动画状态面板
等待确认 / 自动入队 → 进行中 → 完成 / 失败 / 取消
(跳过「正在启动 Seal」中间态,减少闪屏感) - 设置项:委托 Seal 时自动开始下载(默认关;需 Seal 开启 Allow external auto-start)
- UGC 多 P 可选「当前 P / 选择分 P / 全部」,批量链接通过
urls[]交给 Seal;番剧单集保持单任务语义 - 可选把当前登录账号 Cookie 安全透传给 Seal;多账号可选择并记忆,关闭透传、账号不完整或 Seal 不接收时可匿名继续
- 「下载并去除空降助手标记」读取当前 cid 的标记,保留正片区间并输出连续成品;完成面板展示逐段去除报告,多 P 按分集独立处理
- 完成态可打开 / 分享
content_uri;关闭「后台等待」后仍可在终态广播到达时再弹出完成面板
| 项 | 说明 |
|---|---|
| 动作 | L2/L3:com.chloemlla.seal.action.DOWNLOAD + 状态广播 DOWNLOAD_STATUS |
| UGC | https://www.bilibili.com/video/{bvid} |
| PGC | https://www.bilibili.com/bangumi/play/ep{epId} |
| 音频 | Seal QuickDownload + extract_audio=true |
| 批量 | urls[] / Intent extra urls;首项仍写入 url 兼容旧版 |
| Cookie | 协议 v2:cookies_format=json_map、cookies、cookies_mid;不记录明文,默认软失败为匿名下载 |
| 去广告 | 协议 v3:strip_segments + keep_sections;专用 C/D 路径只在片段已实际剥离时上报 applied |
| 会话 | 每次委托生成 requestId,Dart session map 跟踪生命周期 |
lib/pages/video/seal_download_utils.dart:Dart 侧门面;多 P 选择、Cookie 账号选择、空降助手区间计算、面板状态机与防回退逻辑SealDownloadChannel:安装检测、startActivityForResult、打开/分享结果文件SealDownloadStatusBridge(PiliPlusApplication安装):Application 级接收定向状态广播;Dart 引擎未就绪时排队,避免退后台丢终态SegmentStripMath/StripRemovalReport:合并空降助手标记、反转为保留区间并生成用户可读报告- 状态机防护:晚到的 Activity Result
needs_ui/ 空会话canceled不会回退已进入accepted或终态的面板 - v3 终态防假成功:仅实际
strip_result=applied才显示[去广告]、逐段报告和打开/分享;C 分段合成失败会清理后转 D 完整源后处理,D 仍失败则清理并给出可重试错误 - 非 Android:仍走
MediaExportUtils内置导出
edb5ec38a 委托入口 · 6512bd796 L3 状态接收加固 · 938ddbebe 自有动画面板 · 7c350f2c4 跳过 launching 阶段 · 6f8dfff08 音频 QuickDownload · a253eb378 面板 UX 收紧。
Seal 联调文档:third-party-call-guide.md、UI 路径终态。
支持扫描 / 识别 B 站官方网页登录二维码,用本机已登录账号完成网页端授权;补齐 URL 校验、会话完整性、重试与扫码链路稳定性。
- 入口页:
扫描网页登录(WebQrAuthPage) - 输入方式:相机实时扫码 / 相册识别 / 手动粘贴二维码链接
- 解析成功后展示场景信息(环境、是否临时登录、短信二次验证等)
- 可确认授权;失败可重试;权限被永久拒绝时引导打开系统设置
- 授权成功后与现有账号体系打通,登录态接口可继续使用
| 层 | 组件 | 职责 |
|---|---|---|
| UI | lib/pages/web_qr_auth/* |
阶段机 idle/loading/ready/confirming/success/error、场景面板、扫码源面板 |
| HTTP | WebQrAuthHttp |
passport 场景查询 / 确认 / 短信与极验相关接口;请求附着账号 Cookie |
| 模型 | models_new/web_qr_auth |
二维码 key、场景、环境参数;host / 显式默认端口校验 |
| Native 扫码 | QrScannerActivity + CameraX / Google ML Kit(BarcodeScanning) |
MethodChannel 契约不变;相机扫码走 CameraX 预览 + ML Kit 识别,相册解码走 ML Kit InputImage |
| Dart 通道 | AndroidQrScanner |
相机权限、错误码映射、相册解码 |
- 授权链路 cookie / verify code 经
LogRedactor脱敏 CrashBreadcrumbs记录扫码阶段(start / decoded / cancelled / error),便于对照崩溃历史
8bc531050 场景模型 · 437f741fd 解码路径替换 · ec8ac7588 延后初始化 · 3ce6a1278 附着 Cookie · 以及多轮 fix(qr) 重试 / 端口 / 权限加固。
播放器与网络层会产生大量不可操作诊断噪声;同时需要跨 Flutter / Android 保留可复盘的真实故障,并在启动时提示最近严重崩溃。
- 本地崩溃历史:列表、详情(系统信息、堆栈、近期事件)、分享
- 启动阶段若存在上一会话严重崩溃,可提示查看
- 常见 media-kit / TCP / SSL seek 等诊断默认过滤,避免误报淹没真实问题
| 模块 | 作用 |
|---|---|
CrashReporter / CrashReportHandler |
安装 FlutterError / PlatformDispatcher 钩子;同步/异步记录 |
CrashReportFilter |
过滤 SSL seek、TCP 断流、AMediaCodec 等非可操作诊断 |
CrashReportStore / CrashReportArchive |
有界本地历史、合并归档语义 |
CrashBreadcrumbs / CrashModuleResolver |
导航与业务面包屑、模块定位 |
lumen-crash |
Android native 捕获桥 |
NativeCrashBridge / NativeCrashChannel |
导入 pending report / lumen report 并 acknowledge |
ProcessExitCollector |
后台线程采集进程退出历史 |
- 依赖:
com.chloemlla.lumen:lumen-crash(Compose BOM 对齐 api 依赖) - 安装点:
PiliPlusApplication.attachBaseContext/onCreate(幂等;失败安装 不阻断 冷启动,适配 Baseline Profile / CI) - Dart 侧:
CrashReporter.ensureInitialized()导入 native / lumen pending report minSdk抬升至 ≥ 26(与 lumen-crash 对齐)
a85ea371b 双侧捕获 · fb82add62 过滤历史 · cff4affcb 崩溃 UI · 6c179a79b lumen-crash · 15b490691 Compose BOM · 相关单测 test/services/crash/*。
将 Android 热读写从纯 Hive 迁移为 MMKV 后端,降低设置、缓存、观看进度等路径延迟;大箱支持懒加载与 LRU 上限,避免启动期全量解码。
- 典型 box:
userInfo、localCache、setting、historyWord、video - 大箱懒加载:
watchProgress、reply(AndroidMmkvLoadMode.lazy) - 非 Android / MMKV 不可用:透明回落 Hive
openAndroidMmkvBackedBox+AndroidMmkvBackedBox:迁移 marker、codec 编解码、批量写、lazy key 集合- 迁移失败 / 解码失败时 不 用过期 Hive 快照覆盖已迁移 MMKV 数据
BoundedStringKeyLru+WatchProgressStore/ReplyCacheStore:写序近似 LRU,控制大箱膨胀- staged open / lighter close,减少启动与退出开销
- 设置导入校验、账号导入一致性、WebDAV 备份安全性同步增强
a70f5d90e 热存储 · 298b811a7 完整迁移 · 7d7c1bd96 批量写/LRU · 655aa5c24 lazy/staged open · 单测 test/utils/android_mmkv_box_test.dart、bounded_string_key_lru_test.dart。
AccountSecretStore:账号 cookies / accessKey / refresh 独立 AES-GCM 加密文件(account_secrets.json.enc+ key 文件)SettingSecretStore:设置侧敏感串(如 WebDAV 密码)同样旁路加密- 账号 adapter 读写时组合公开字段 + secret sidecar;导出 / 备份路径排除或校验敏感字段
- Android 复制登录 Cookie(隐私设置):必须先过
AndroidCredentialAuth(系统锁屏 / PIN / 生物识别) - 未登录、验证失败、系统验证不可用均有明确 Toast
LogRedactor:Cookie / SESSDATA / access_key / refresh_token / 验证码 / 本地路径 / content URI 等统一替换为[REDACTED]或占位符- 崩溃报告与日志页面共享脱敏规则,降低分享报告时的凭据泄露面
account_secret_store_test、setting_secret_store_test、log_redactor_test、settings_backup_validator_test。
MediaExportUtils:
- 视频:MP4 直链(durl,音视频合一;多分段明确失败提示)
- 音频:当前 DASH 音频流导出为
.m4a - Android 详情菜单 优先委托 Seal;非 Android 或未走委托路径时仍可用内置导出
PlPlayerStreamError:区分网络打开失败 vs 中断断流,支撑中断重试- 音频心跳 / seek / 切轨时重置时长,减少异常时长上报
- 下载服务分段并发管理等稳定性调整
NativeMediaService:MediaSession+ 前台通知通道NativeMediaNotificationService:Flutter ↔ native 动作桥(播放/暂停/上下首/快进退/倍速/弹幕/循环/睡眠定时等)- Android 12+ 请求
FOREGROUND_SERVICE_IMMEDIATE;LOW 通道无声音、振动与角标,只承载播放控制 - 非直播且真实时长已知时写入 duration / buffered / position,并声明
ACTION_SEEK_TO;通知栏与系统媒体中心可显示并拖动进度条 - 拖动后先乐观更新位置并屏蔽短时陈旧 tick;播放中位置推送节流,直播与未知时长不会显示误导性进度
- 评论更多菜单支持本地收藏;显式收藏使用独立有界存储,不再与“自动记录评论”共用状态
- 关闭“记录评论”后收藏入口仍可用;升级时旧本地数据采用 copy-on-success 迁移,失败不删除旧数据并可重试
- 「我的」页提供收藏评论入口与数量,支持导入摘要、按 id 去重、导出、清空、查看来源并取消收藏
- 本地收藏页显示完整评论时间,普通评论保留相对/短日期;缺少 IP 属地时不会访问不存在的字段
- 「加入过滤」只处理有效的非空选中文本,避免选择状态消失时空值崩溃
- Windows 右键只有命中当前选区时才保留选择,点到选区外会按 Flutter 原语义折叠
- 搜索结果显示所属分区;点击后跳转到对应设置页并滚动定位
- 目标设置项短暂高亮闪烁,定位后开关、选择项与导航仍可正常操作
- 设置:自动打开剪贴板视频(默认关)
- 回前台时检测剪贴板中的 B 站视频链接(含 b23.tv 短链,会解析跳转)
- 搜索提交 / 活动页打开前可识别链接,避免重复弹窗
- 当前已在视频页(
/videoV)时再次打开剪贴板链接会二次确认 - 同链 3 秒节流 + 会话内 link/videoKey 去重,防止连弹
ClipboardVideoLinkHandler+ 生命周期 observerIdUtils归一化 aid/bvid;UrlUtils.parseRedirectUrl解析 b23
- 首装依次展示「开源声明与第三方鸣谢」和「本分支改进说明」;About 页可随时重新打开,手动查看不污染首装 seen 标记
- 每个新
commitHash + buildTime首次打开会展示「本次更新说明」;同一构建确认后不重复弹出 StartupOverlayCoordinator统一顺序:崩溃恢复 > 开源声明 > 分支改进 > 本次更新 > Android 权限,避免多个启动弹层互相覆盖
AndroidFirstLaunchPermissionGate/AndroidFirstLaunchPermissionService- 首次启动按系统版本请求通知、相册/媒体、存储、亮度等相关权限
- 每项先说明原因;永久拒绝可引导应用设置
- 必须等 Navigator 就绪再弹窗,避免冷启无 context 崩溃;未完成则下次重试
| 项 | 本分支 |
|---|---|
applicationId / namespace |
com.chloemlla.piliplus |
| debug / dev | .debug / .dev suffix |
| 源码与更新 | Constants.sourceCodeRepository = Chloemlla/PiliPlus;检查更新走本仓库 Releases |
minSdk |
max(flutter.minSdk, 26)(lumen-crash) |
| 依赖 | MMKV、CameraX、Google ML Kit(barcode-scanning)、lumen-crash、ProfileInstaller 等 |
- 模块:
android/baselineprofile(BaselineProfileGenerator) - workflow:Generate → Validate(
baseline-prof.txt/startup-prof.txt非空)→ Upload artifact - 合并策略:
mergeIntoMain = true,构建期不自动生成,CI 显式任务生成
- Flutter 模拟器 / ATD / AOSP 默认镜像选择修正
- 启动路径规避 lumen-crash 安装失败拖垮冷启
- 磁盘清理、emulator boot 可靠化、产物归档拆分
- Release APK 重命名稳健化、workflow 英文命名
- 签名 / 私钥检测正则增强;workflow dispatch 写密钥条件修正
- strip pub-cache manifest packages 等 Android 补丁
- 检查更新 action pin,降低供应链漂移
- 持续 merge upstream,在保留本分支特性的前提下吸收上游修复
- 单测扩展:MMKV、密钥 store、崩溃归档/过滤、Web QR 场景、网络策略、播放器 stream error、settings backup、bounded task queue 等
tool/check_import_boundaries.py:导入边界检查- 分析器警告清理、局部 UI 与数据安全修缮
- 安装 Chloemlla/Seal(包名
com.chloemlla.seal) - Seal:设置 → Interface & interaction → External downloads 开启外部委托
- 可选:Seal 开启 Allow external auto-start,并在 PiliPlus 开启「委托 Seal 时自动开始下载」
- 可选:PiliPlus 开启 Cookie 透传;Seal 外部下载设置允许 Cookie。关闭或拒绝时仍可匿名下载
- 视频页三点菜单 → 下载视频 / 下载音频 / 下载并去除空降助手标记;UGC 多 P 可选当前、部分或全部
- 完成态依赖 Seal L3 状态广播;UI 确认后应看到「进行中 → 完成」动画面板自动切换(详见 Seal UI 路径文档)
- 本列表不是完整 changelog,而是本分支相对上游的功能模块级增量说明(覆盖
upstream/main..main主要主题面)。 - 上游已有的通用功能(推荐流、弹幕、动态、私信等)见下文
feat/功能清单。 - 若与上游行为冲突,以本仓库
main与对应实现/commit 为准。
- Android
- iOS
- Pad
- Windows
- Linux
- gRPC [wip]
- 用户界面
- 其他
- 编辑动态
- DLNA 投屏
- 离线缓存/播放
- Android 视频菜单委托 Seal 下载(视频/音频)
- Seal 多 P 批量、登录 Cookie 透传与空降助手标记剥离成品
- 移动端支持点击弹幕悬停,点赞、复制、举报 by @My-Responsitories
- 播放音频
- 跳过番剧片头/片尾
- 安卓端
loudnorm适配 by @My-Responsitories - Win/Mac 支持极验、短信登录 by @My-Responsitories
- 视频截取动图 by @My-Responsitories
- AI 原声翻译
- SuperChat
- 播放课堂视频
- 发起投票
- 发布动态/评论支持
富文本编辑/表情显示/@用户 - 修改消息设置
- 修改聊天设置
- 展示折叠消息
- 查看用户图文
- 动态话题
- 直播分区
- 分享
视频/番剧/动态/专栏/直播至消息 - 创建/修改/删除关注分组
- 移除粉丝
- 直播弹幕发送表情
- 收藏夹排序
- 稍后再看
/未看未看完/分类已看完 - WebDAV 备份/恢复设置
- 保存评论/动态
- 高级弹幕 by @My-Responsitories
- 取消/置顶评论
- 记笔记
- 多账号支持 by @My-Responsitories
- 屏蔽带货动态/评论
- 互动视频
- 发评/动态反诈
- 崩溃捕获过滤与历史
- 高能进度条
- 滑动跳转预览视频缩略图
- Live Photo
- 复制/移动/排序收藏夹/稍后再看视频
- 超分辨率
- 合并弹幕
- 会员彩色弹幕
- 播放全部/继续播放/倒序播放
- Cookie登录
- B 站网页二维码授权(Android)
- Android CameraX / Google ML Kit 相机 / 相册扫码
- Android Clash VPN 伙伴应用自动适配
- Android MMKV 热存储与懒加载
- 账号/设置密钥旁路存储与 Cookie 凭据保护
- 剪贴板视频链接识别(含 b23)与自动打开
- Android 首次启动权限引导
- Android 系统媒体通知 / MediaSession
- Android 媒体通知可拖动进度与直播 seek 门控
- 首装开源声明、分支改进说明与逐构建更新说明
- 显示视频分段信息
- 调节字幕大小
- 调节全屏弹幕大小
- 收藏夹/稍后再看多选删除
- 搜索用户动态
- 直播弹幕
- 修改头像/用户名/签名/性别/生日
- 创建/编辑/删除收藏夹
- 评论楼中楼查看对话
- 评论楼中楼定位点击查看的评论
- 评论楼中楼按热度/时间排序
- 评论点踩
- 本地收藏评论、导入导出与来源回看
- 设置搜索结果跳转、滚动定位与高亮
- 私信发图
- 投币动画
- 取消/追番,更新追番状态
- 取消/订阅合集
- SponsorBlock
- 显示视频完整合集
- 三连动画
- 番剧三连
- 带图评论
- 视频TAG
- 筛选搜索
- 转发动态
- 合集图片
- 删除/置顶/撤回私信
- 举报用户/评论/视频/动态
- 删除/发布/置顶文本/图片动态
- 其他
- 专栏界面
- 私信界面
- 收藏面板
- PIP
- 视频封面
- 回复界面
- 系统通知
- 评论显示
- 亮度调节
- 视频播放
- 视频staff
- 防止bottomsheet遮挡全屏视频
- 其他
- 番剧分集点赞/投币/收藏
- bugs
-
推荐视频列表(app端)
-
最热视频列表
-
热门直播
-
番剧列表
-
屏蔽黑名单内用户视频
-
无痕模式(播放视为未登录)
-
游客模式(推荐视为未登录)
-
用户相关
- 粉丝、关注用户、拉黑用户查看
- 用户主页查看
- 关注/取关用户
- 离线缓存
- 稍后再看
- 观看记录
- 我的收藏
- 站内私信
-
动态相关
- 全部、投稿、番剧分类查看
- 动态评论查看
- 动态评论回复功能
-
视频播放相关
- 双击快进/快退
- 双击播放/暂停
- 垂直方向调节亮度/音量
- 垂直方向上滑全屏、下滑退出全屏
- 水平方向手势快进/快退
- 全屏方向设置
- 倍速选择/长按2倍速
- 硬件加速(视机型而定)
- 画质选择(高清画质未解锁)
- 音质选择(视视频而定)
- 解码格式选择(视视频而定)
- 弹幕
- 字幕
- 记忆播放
- 视频比例:高度/宽度适应、填充、包含等
-
搜索相关
- 热搜
- 搜索历史
- 默认搜索词
- 投稿、番剧、直播间、用户搜索
- 视频搜索排序、按时长筛选
-
视频详情页相关
- 视频选集(分p)切换
- 点赞、投币、收藏/取消收藏
- 相关视频查看
- 评论用户身份标识
- 评论(排序)查看、二楼评论查看
- 主楼、二楼评论回复功能
- 评论点赞
- 评论笔记图片查看、保存
-
设置相关
- 画质、音质、解码方式预设
- 图片质量设定
- 主题模式:亮色/暗色/跟随系统
- 震动反馈(可选)
- 高帧率
- 自动全屏
- 横屏适配
-
等等
可以通过右侧release进行下载或拉取代码到本地进行编译
此项目(PiliPlus)是个人为了兴趣而开发,仅用于学习和测试,请于下载后24小时内删除。 所用API皆从官方网站收集,不提供任何破解内容。 在此致敬原作者:guozhigq/pilipala 在此致敬上游作者:orz12/PiliPalaX 本仓库做了更激进的修改,感谢原作者的开源精神。
感谢使用