vjc9wrh9r9-boop

zhenguojian-win-macos

This repo repackages the well-known Flutter short-drama source by yu-lao, completes the macOS project and CI builds, and ships dual build variants (single-source Hongguojian and multi-source Zhen Guo Jian) with LAN watch-list sync.

build-20
Published at
6d ago
12
Stars
466
Download
Synced at
1d ago

Latest release

build-20Oct 22, 2026, 07:59 AM
Downloads slow? Switch the source anytime above

README

Overview

The source code comes from the well-known yu-lao; the maintainer only repackages and tests it, with a disclaimer stating plainly that availability is not guaranteed and the repo may vanish anytime. This port repackages that Flutter short-drama source (originally named Short Drama Library APP), currently at 0.2.51+57, and completes the officially missing macOS platform project and automated builds. The app relies on no self-hosted service — source requests, parsing, downloads, and playback all happen on-device; since 0.2.68, Hongguo stream fetching uses the multi_video_model signed protocol (login-free), ported from the GPL-3.0 Go rewrite jackotom/hongguo-drama.

One codebase, two builds: single-source Hongguojian and multi-source Zhen Guo Jian.

Item Detail
Positioning Flutter multi-platform short-drama app (Android / Windows / iOS / Android TV)
Stack Flutter 3.47.4 + Go 1.24 native source core (FFI)
Dual variants Hongguojian (Hongguo only) / Zhen Guo Jian (--all-sources)
Playback core media_kit / libmpv, merging and export via FFmpegKit min-gpl
Build outputs Android APK, Windows ZIP, unsigned iOS package, auto-published by CI

Dual Builds and Sources

  • Hongguojian: default build with only the Hongguo source, no password needed
  • Zhen Guo Jian: built with --all-sources; Hongguo, Hanxiaoquan, Guipian, and Qingkong visible by default, plus Huangdou, Juguo, Yeguo, Diguo, Huangguo Video, Huangguo AI, and legacy Huangguo behind a password lock
  • New sources: this baseline adds Hanxiaoquan (Korean dramas, films, variety, anime via MacCMS template) and Guipian (ghost films, TV series, anime via MacCMS site)
  • Build defines identity: versions cannot be switched in-app; titles, launcher names, window titles, and distribution file names follow the build flag, and the Hongguo build never touches other sources' old tasks
  • Upgrade compatibility: both builds keep the original Android/iOS app identity and data directory, upgrade over each other with the same signature, and preserve watch lists, history, user permissions, and download records across switches

LAN Linking

Two devices on the same LAN connect directly to sync watch lists or resume playback without an account server:

  • Discovery: service type _zgj-link._tcp (DNS-SD / mDNS), merging multi-NIC addresses by device ID; first pairing records the certificate fingerprint and later connections verify it
  • Manual sync: two-way merge by default, with overwrite-remote or overwrite-local options and a preview before execution
  • Auto sync: sends only changed entries and deletion marks, with progress pushed roughly every 10 seconds during playback; conflicts keep candidates for per-item resolution

Build and Regression

  1. python3 scripts/build_android.py builds Hongguojian, adding --all-sources builds Zhen Guo Jian; Windows uses scripts/build_windows.ps1, iOS uses scripts/build_ios.py
  2. Pushing main or a v tag triggers GitHub Actions to build three-arch APKs, Windows ZIP, and unsigned iOS packages, auto-publishing a Release when all succeed (tag app-v version)
  3. Checks cover unittest, dart analyze, flutter test, and go test -race; Android device regression runs flutter drive against a local test media server

Sources are native Go providers (native/core/provider_*.go); adding one requires wiring provider_huangguo, provider_media, app_runtime, and registering a SourceSite in lib/models.dart. Note that Go's RE2 regex lacks lookahead — parse multi-route playlists with explicit string truncation instead.

Release history

Sort