misaka10032w / Han1meViewer
git clone https://github.com/misaka10032w/Han1meViewer.git
v1.1.0-release+26093012 · 23d ago
hanime1的三方客户端,提高了一些播放体验
+4
stars, 24h · #7,102
+~42
stars, 7 days · #4,672
+~180
stars, 30 days · #4,312
1.4k
★ total · +3% this week
64
forks · 1 open issues
Star history (as recorded here)
LanguageKotlin
LicenseApache-2.0
Created2025-06-05 (1y ago)
Last push23d ago
Watchers2
OwnerUser
Links
- GitHub: github.com/misaka10032w/Han1meViewer
- Homepage: https://t.me/Han1meViewer
- Releases · Issues · Hacker News mentions
README excerpt
# 🚫 请不要在任何公开平台宣传本软件 本软件不接受任何形式的公开宣传。若出现公开宣传、搬运或引流,仓库维护者可能随时归档或隐藏仓库,并删除已编译的发行版。 # 🌸 Han1meViewer 🔞 R18 警告:未满 18 岁禁止下载和使用。 Han1meViewer 是一个使用 Kotlin 开发的 Android 客户端,用于浏览、搜索、播放和管理 hanime 相关公开视频页面内容。当前项目以 Jetpack Compose、Navigation Compose、ViewModel、StateFlow、Retrofit、Jsoup、Room、WorkManager、Media3/JZVD/MPV 为主要技术栈,围绕视频浏览、详情播放、搜索、用户列表、下载管理、评论、订阅、设置和隐私保护等功能组织。 本应用没有任何官方网站。GitHub Release 与 CI 构建产物是唯一下载及更新渠道。 ## 📜 项目来源与许可 此项目最初 Fork 自 YenalyLiew/Han1meViewer,感谢原作者的贡献。原项目采用 Apache License 2.0。 根据 Apache 2.0 许可证要求: - 保留原版权声明。 - 包含许可证文件副本。 - 说明修改内容。 原始仓库:YenalyLiew/Han1meViewer 许可证文件:LICENSE ## ⚠️ 免责声明 本应用程序与 `https://hanime1.me/` 及其关联方无任何隶属、合作或授权关系。 🔍 数据来源: - 本应用仅通过常规网络请求和 HTML DOM 解析获取目标网站公开显示的信息。 - 本应用不访问网站后端数据库。 - 本应用不进行注入攻击、绕过授权或获取非公开用户隐私数据。 ⚖️ 使用限制: - 本应用仅用于技术研究、学习交流和移动端体验优化。 - 本应用不提供商业化服务。 - 使用者应自行遵守所在地区法律法规和目标网站规则。 ©️ 版权归属: - 原始视频、图文和相关内容版权归 `https://hanime1.me/` 或原始制作、发行方所有。 - 本应用不存储版权内容,不修改原始内容,不声称拥有内容所有权。 🛡️ 责任豁免: - 本应用不保证数据完整性、准确性和实时性。 - 使用本应用产生的一切后果由用户自行承担。 - 不得将本应用用于任何非法用途。 若 `https://hanime1.me/` 认为本应用行为不当,可通过 GitHub 仓库内置功能联系维护者。 🔄 最后更新日期:`2026-05-23` ℹ️ 建议通过官方渠道支持原站内容,并点击广告以支持网站运营者。 ## 💬 参与讨论 Telegram 群组:https://t.me/Han1meViewer ## ✨ 功能概览 - 🏠 首页浏览:支持首页推荐、最新上传、分类入口、预览页和搜索入口。 - 🎬 视频详情:支持简介、作者、标签、系列视频、相关推荐、评论和子评论。 - ▶️ 视频播放:支持在线播放、本地下载文件播放、画中画、播放内核切换、倍速和画质选择。 - 🔍 搜索系统:支持关键词搜索、高级搜索、历史记录、筛选条件展示和分页加载。 - 👤 用户内容:支持收藏、稍后观看、播放列表、在线历史、订阅作者和创作中心。 - 💬 评论系统:支持评论排序、回复查看、举报和复制分享文本。 - 📥 下载管理:支持后台下载、下载分组(下载时可按系列名自动创建分组)、导入本地文件、自定义下载目录和下载后播放。 - 🔐 账号能力:支持登录、手动录入 cookies、账号资料、头像裁剪、登录状态检测和退出登录。 - 🎨 主题与设置:支持 Material 3 主题、动态颜色、首页布局、播放设置、MPV 设置、下载设置和网络设置。 - 🕵️ 隐私保护:支持应用锁、启动器图标伪装和手动 Cookie 管理。 - 🌐 网络辅助:支持 Cloudflare 处理、备用域名、代理相关设置、CDN/网络检测和更新检查。 - 📅 健康打卡:内置冲了么打卡页面和桌面小组件。 - 🎯 共享关键 H 帧:支持内置关键帧数据读取、设置和共享数据展示。 - 🗞️ 公告系统:支持首页公告展示、公告详情弹窗,并配套 `HanimeAnnouncementManagerWebUI` 维护 Firebase Realtime Database 中的 `announcements` 节点。 ## 🗞️ 公告系统使用须知 公告系统分为两部分: - 用户侧:应用启动后由 `MainViewModel.loadAnnouncements()` 从 Firebase Realtime Database 读取 `announcements` 节点,首页会展示有效公告,并可点开公告详情弹窗。 - 维护侧:`HanimeAnnouncementManagerWebUI` 用于维护公告数据,负责向同一个 `announcements` 节点写入、更新或下线公告。 `HanimeAnnouncementManagerWebUI` 目录包含两个文件: - `HanimeAnnouncementManager.html`:公告管理网页,用于增删改查公告、切换启用状态。 - `PermitAdmin.py`:给 Firebase Auth 用户写入 `isAdmin` 自定义声明,用于控制谁能访问管理端。 前置条件: - 应用必须能够正常访问网络。 - 项目中配置的 Firebase Realtime Database 地址必须可用。 - `announcements` 节点下的公告数据结构需要和 `Announcement` 模型一致,至少包含 `title`、`content`、`isActive` 等字段。 - 公告内容会按 `priority` 排序,只有 `isActive = true` 的公告才会显示。 - 管理端需要启用 Firebase Authentication 和 Realtime Database。 - 管理端需要准备 Firebase Web 配置参数和可登录的管理员邮箱、密码。 - 若使用 `PermitAdmin.py`,还需要 Firebase Admin SDK 的 `serviceAccountKey.json`。 使用规则: - 首页公告默认会展示为有效公告列表。 - 用户关闭公告后,会记录 `last_dismiss_time`,24 小时内不会再次自动弹出。 - 公告详情支持标题、内容、发布时间、图片和按钮文案。 - 若公告配置了链接,内容中可直接展示可点击的 URL。 管理端使用步骤: 1. 在 `HanimeAnnouncementManager.html` 中填写 `firebaseConfig`。 2. 在 `ADMIN_EMAIL` 和 `ADMIN_PASSWORD` 中填入可登录 Firebase Auth 的管理员账号。 3. 确保 Realtime Database 规则允许该管理员账号读写 `announcements` 节点。 4. 如需批量授权管理员,先安装 `firebase-admin`,准备 `serviceAccountKey.j