No description
Find a file
Cytrogen fd45537bd5 Replace README.md with Chinese README.org
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 12:24:53 -04:00
.claude/rules Add UnifiedPush notification system with Ktor server 2026-03-20 12:21:39 -04:00
app Add UnifiedPush notification system with Ktor server 2026-03-20 12:21:39 -04:00
gradle Add UnifiedPush notification system with Ktor server 2026-03-20 12:21:39 -04:00
server Add UnifiedPush notification system with Ktor server 2026-03-20 12:21:39 -04:00
.dockerignore Add UnifiedPush notification system with Ktor server 2026-03-20 12:21:39 -04:00
.gitignore Import APK in tests 2025-01-08 21:01:37 -05:00
build.gradle.kts Add UnifiedPush notification system with Ktor server 2026-03-20 12:21:39 -04:00
CLAUDE.md Add UnifiedPush notification system with Ktor server 2026-03-20 12:21:39 -04:00
gradle.properties Initial commit 2025-01-04 01:12:57 +01:00
gradlew Initial commit 2025-01-04 01:12:57 +01:00
gradlew.bat Initial commit 2025-01-04 01:12:57 +01:00
LICENSE Initial commit 2025-01-04 01:09:13 +01:00
README.org Replace README.md with Chinese README.org 2026-03-20 12:24:53 -04:00
settings.gradle.kts Add UnifiedPush notification system with Ktor server 2026-03-20 12:21:39 -04:00

VBHelper

简介

VBHelper 是一个用于与 Vital Bracelet 系列设备VB、VH、VBC、VBBE交互的 Android 应用。通过 NFC 读取/写入角色数据,管理卡片,追踪冒险任务,并处理与设备通信所需的加密密钥。

项目仍在积极开发中。在进一步通知之前,数据库更新可能需要清除应用数据。

功能

核心功能

  • 通过 NFC 读取角色数据并查看角色属性
  • 将角色写回手表
  • 对角色使用道具(特殊任务、计时器等)
  • 角色仓库管理
  • 冒险任务系统——完成任务可获得新道具
  • 图鉴系统——读取新角色时自动更新,可查看进化条件和当前冒险阶段
  • 数据库导入/导出

推送通知(新功能)

基于 UnifiedPush 协议的推送通知系统,在计时器到期时通知用户:

  • 冒险任务完成提醒
  • 角色进化倒计时提醒
  • 特殊任务到期提醒
  • BE 训练计时提醒
  • BE 道具效果到期提醒

需要自部署推送服务器(项目包含 Ktor 服务端)和 UnifiedPush 分发器(如 ntfy)。

使用方法

1. 获取 VB Arena APK

从可信来源下载最新版 VB Arena APK。如果下载的是 XAPK 格式:

  1. 将 XAPK 重命名为 ZIP 并解压
  2. 找到 com.bandai.vitalbraceletarena.apk 文件并保存备用

2. 安装 VBHelper

Releases 下载最新的 APK 并安装。

在当前开发阶段,更新时可能需要先卸载旧版本。如果安装后闪退,请清除应用数据和存储。

3. 导入密钥

密钥用于与手表通信。在主界面点击齿轮图标然后选择「Import secrets」选择之前获取的 VB Arena APK 文件。

4. 导入卡片

由于版权限制,应用不包含角色和素材数据。你需要使用自己的 DiM/BEm 卡片:

  1. 使用 DiM Card Tool 将卡片数据导出到电脑
  2. 将导出的文件传输到手机
  3. 在应用中点击「Import card」选择对应的 BIN 文件

如果未导入对应卡片就读取手表中的角色,该角色数据将被删除。

5. 设置推送通知(可选)

部署推送服务器

项目包含一个 Ktor 服务端,用于调度计时器和发送推送通知。

Docker 部署(推荐):

cd server
docker compose up -d

手动运行:

JAVA_HOME=/path/to/jdk17 ./gradlew :server:buildFatJar
java -jar server/build/libs/server-all.jar

服务器默认监听 0.0.0.0:8080

配置应用

  1. 在手机上安装 UnifiedPush 分发器(如 ntfy
  2. 打开 VBHelper → 设置 → Notifications
  3. 设置推送服务器地址(如 http://your-server:8080
  4. 启用推送通知
  5. 使用「Test Notification」验证配置

构建

前置条件

  • JDK 17
  • Android SDKcompileSdk 36
  • vb-nfc-reader 0.2.0-SNAPSHOT 和 vb-dim-reader 2.1.0 需安装到 mavenLocal

构建应用

JAVA_HOME=/path/to/jdk17 ./gradlew :app:assembleDebug

构建服务端

JAVA_HOME=/path/to/jdk17 ./gradlew :server:buildFatJar

计划功能

  • 在线对战——由 lightheel 开发中
  • VitalWear 兼容——由 cfogrady 开发中
  • 多语言支持——尚未开始
  • 数据库备份/恢复

致谢

  • nacabaro — 项目原作者
  • cyanic — 帮助理解 VB 通信协议
  • cfogrady — 开发了 VB-DIM-Readerlib-vb-nfc
  • lightheel — 开发在线对战组件(服务端和客户端)
  • shvstrz — 应用图标设计

许可证

本项目基于 MIT 许可证 开源。

Copyright (c) 2026 cytrogen