Veyra is a short-drama aggregation player consisting of an Android client and a self-hosted Node backend, supporting Hongguo and Huangguo dramas, private-mode authentication, and downloads merged on phone or NAS.
- v0.13.68
- Published at
- 4d ago
- 13
- Stars
- 242
- Download
- Synced at
- 16h ago
Latest release
v0.13.68Oct 15, 2026, 01:06 PMREADME
Project Overview
Veyra is a short-drama aggregation player with two parts: an Android client (APK) and a self-hosted Node.js backend (Docker image). It supports online playback of Hongguo and Huangguo dramas, private-mode authentication, proxy fallback, and downloads merged on the phone or NAS. The backend address is entered by the user on the login page, with no private domains built in. The phone-side merge engine is a self-ported ffmpeg through the NDK with hand-written JNI, and the repo ships a prebuilt shared library so no local toolchain is needed.
| Item | Value |
|---|---|
| Platform | Android client + Docker backend |
| Stack | Java, Kotlin, C (JNI), Node.js |
| Backend port | 8888 (configurable via PORT) |
| License | GPL-3.0 |
Both the client and the backend stay in your hands — how you watch and where you download is up to you.
Key Features
- Multi-source playback: stream Hongguo and Huangguo dramas; the backend address is user-supplied with no private domains built in
- Account system: registration and login are controlled dynamically from the backend WebUI, and accounts are device-independent
- Private mode: unlock with a backend OTP; authenticate once and it follows the account, admins skip it
- Proxy fallback: configure a proxy port for Huangguo; when the proxy fails, traffic is forwarded through the backend, leaving Hongguo untouched
- Phone download and merge: 10 concurrent downloads normalized and merged into a single file locally, with automatic fallback to segmented files on merge failure
- NAS download and merge: admins can download episodes to the NAS; the backend decrypts and merges with ffmpeg for directly playable output
- WebUI admin console: user list, role switching, user deletion, and registration toggle, protected by the admin password
Target Audience
- NAS owners
- Docker deployment enthusiasts
- Short-drama viewers
- Users who value data ownership
Quick Start
- Deploy the backend with Docker Compose on a NAS or any Docker host; the port defaults to
8888, and you must changeADMIN_PASSWORD - If pulling images is slow, download
veyra-backend.tarfrom Releases, copy it to the NAS, and import withdocker load -i - Install the APK and enter your own backend address on the login page (for example
http://192.168.x.x:8888) - Public mode plays Hongguo directly; enter the backend OTP in Settings for private mode
- Pick episodes on the detail page and download to the phone (merged locally) or to the NAS (admins)
Core Advantages
- Data ownership: the backend is fully self-hosted, so accounts, tasks, and downloads live on your own server
- Self-built merge engine: NDK-ported ffmpeg with hand-written JNI handles decryption, normalization, and merging, semantically aligned with the backend downloader
- Dual-destination downloads: regular users download to the phone locally, while admins can also download to the NAS
System Requirements
| Item | Requirement |
|---|---|
| Client | Android, arm64-v8a (prebuilt libffconcat.so bundled) |
| Backend | Any Docker host (NAS, server) |
| Port | 8888 (configurable via the PORT environment variable) |
| Build | Android SDK and signing keys (only for building the APK yourself) |
Notes
- Content copyright: content belongs to its sources; this project only provides the technical implementation and must not be used for illegal purposes
- Admin password: always change the default
ADMIN_PASSWORDafter deploying the backend - Offline import: when Docker Hub is unreachable, prefer the
veyra-backend.tarattached to Releases for offline import - Proxy for Huangguo only: the proxy fallback setting applies to Huangguo only and does not affect Hongguo playback