mrkeyoor.com_
Tue 01 Sept 17:41 UTC
Self-Hostedevaluationupdated 31 Aug 2026

zyfun review

zyfun is a Chinese-first desktop media player for movies, live TV, playlists, and user-supplied streaming sources. The repository README is in Chinese and links an external English translation; the app solves playback and source management, but it deliberately does not include a media catalog.

+4 / 1dstars / 7d
Verdict

Our zyfun run installed 2,095 packages and used 2,058 MB, but it built in 39 seconds and all 71 tests passed. Use it if you already possess legal, compatible source lists and want a Chinese-first desktop player that keeps them in one place. Skip it if you expect a ready-made catalog, need small developer installs, or cannot resolve the README's extra use restrictions with your organization.

We ran it

Lab card: what happened when we ran zyfunScreenshot of zyfun (github.com/Hiram-Wong/zyfun)
Install✓ · 62s2095 packages · 2058 MB
Build✓ · 39s
Tests✓ · 15s71 passed · 0 failed of 71 (vitest)
Repo865 files~188,784 lines of source · 13.2 MB · 2 CI workflows · tests dir

Answers from our run

Does zyfun build from source?

Dependencies installed in 62 seconds (2095 packages), and the build succeeded in 39 seconds. We cloned commit ffba0e2 into a clean Debian container with 3 CPUs and no project-specific setup.

Do zyfun's tests pass?

Yes: 71 of 71 passed when we ran the project's own test command (vitest). Some failures need services or credentials a bare container does not have.

Who should not use zyfun?

Anyone expecting films or channels after installation: the maintainer said in issue #525 that zyfun will not bundle or provide data sources.

What are the alternatives to zyfun?

Stremio Web, Jellyfin, Kodi. Our zyfun run installed 2,095 packages and used 2,058 MB, but it built in 39 seconds and all 71 tests passed.

Setup3/571 tests passed, but the install used 2,058 MB
Docs3/5Detailed Chinese README; English is a linked translation
Community4/58,826 stars and user issues active through 2026-08-21
Maturity4/5v3.4.7 is shipped and all 71 lab tests passed

Who it’s for

Chinese-speaking users who already maintain compatible movie, IPTV, or parser sources.
Desktop users who want one Electron app across Windows, macOS, and Linux.
Developers prepared to work in a large Vue, Electron, TypeScript, and Rust monorepo.
Viewers who need several player engines and understand the legality of every source they import.

Who it’s NOT for

Anyone expecting films or channels after installation: the maintainer said in issue #525 that zyfun will not bundle or provide data sources.
Commercial teams that need unambiguous reuse terms: the repository is AGPL-3.0, while the README also says personal study only, uninstall within 24 hours, and no commercial use.
Users who need old source exports to import without cleanup: open issue #538 reports both an older source and a freshly exported source failing validation.
People on older Macs: the README sets macOS 12 as the minimum, and issue #399 reports versions after 3.3.8 no longer installing on macOS 10.15.
Developers with tight storage budgets: our install added 2,095 packages and occupied 2,058 MB before packaging a desktop release.

Setup reality

Our sandbox installed commit ffba0e2 in 62 seconds, adding 2,095 packages and using 2,058 MB on disk. The build succeeded in 39 seconds. Vitest then passed all 71 tests in 15 seconds, with 0 failures. The monorepo had 865 files, about 188,784 source lines, and two CI workflows.

Source development asks for the Node range in package.json, pnpm 11.8.0, Rust, Corepack, and a copied .env file. The app itself starts without a bundled catalog; users must supply compatible film, IPTV, parser, or channel data. WebDAV and AI features add their own endpoints and credentials.

The README supports Windows 10 or newer, macOS 12 or newer, and Linux packages. Its Linux troubleshooting names libfuse2, libnss3-1d, libxss1, and libXScrnSaver, and suggests --no-sandbox for root-run AppImages plus xhost + for one GPU error. Those workarounds deserve security review before use.

The maintainer provides zero media sources

The maintainer said on 2026-05-05 that zyfun would not bundle or provide data sources. That decision defines the product. zyfun can organize movie APIs, IPTV playlists, live channels, parser endpoints, WebDAV data, and several adapter formats, but a new install is a player with no catalog. Users must find, create, and assess every source themselves. The README also says the project stores and distributes no media.

This separation can suit someone who already has a legal playlist or service endpoint. It is frustrating for a person expecting a Netflix-style application after downloading the desktop build. Issue #525 came from exactly that mismatch: the reporter could not use the app without a source file, and the maintainer closed the request rather than adding defaults. Source discovery is outside zyfun's scope, not a missing onboarding screen.

A 2,058 MB install buys several playback paths

zyfun is an Electron and Vue application with more inside than its simple interface suggests. It handles on-demand video, live playlists, viewing history, configurable request headers, search, playback progress, WebDAV sync, and multiple player modes. The source schema recognizes several T1 through T4 adapter types. Our checkout contained about 188,784 source lines across 865 files, including separate crypto and VLC workspaces.

That breadth carries risk at the source boundary. An imported configuration can name remote APIs, playlists, parsers, headers, and scripts. zyfun cannot tell you whether a third-party source has permission to distribute a stream or whether a custom endpoint deserves your cookies and headers. Keep source lists under your control, inspect changes before importing them, and avoid treating a working stream as proof that its operator is trustworthy.

What happened when we ran it

Our sandbox installed commit ffba0e2 in 62 seconds, pulling 2,095 packages and consuming 2,058 MB on disk. The build finished successfully in 39 seconds. We used the lab-node:22 image in an unprivileged Debian container with 3 CPUs, 8 GB of RAM, and no secrets. The source checkout itself occupied 13.2 MB.

Vitest passed all 71 tests in 15 seconds, with 0 failures. The repository had a tests directory, two CI workflow files, and pnpm workspaces, but no Dockerfile. Those are good source-level results. They do not test whether an arbitrary IPTV provider responds, whether a particular protected stream plays, or whether packaged Electron builds behave on all three desktop operating systems.

The development guide asks contributors to install Rust, enable Corepack, use the pinned pnpm version, copy .env.example, and choose an operating-system build command. package.json narrows Node to 24.11.1 through 24.15.x and pins pnpm 11.8.0. The successful 101 seconds of install and build time does not include downloading or signing Windows, macOS, and Linux release artifacts.

v3.4.7 changes stored data and asks for a backup

Release v3.4.7 was published on 2026-06-07. Its notes cover request headers for individual live channels, HLS ad-removal changes, media type detection, player fixes, and an RSA worker. They also warn that database fields changed, JSON parsing moved to JSON5, backend routes and parameters changed, and users should back up before the database change. That is an upgrade with migration consequences, not a cosmetic player update.

Open issue #538 reports that an older source could not be imported and that a newly added, exported, then re-imported source returned 'No valid data to import.' Issue #546 describes search failing after sources were imported because no valid search source was enabled. These reports do not prove every import or search is broken. They show why an operator should export a backup and test it on the target version before replacing a working installation.

Chinese documentation covers far more than the English view

The main README is Chinese and links translations for English plus 20 other languages. It contains platform paths, package links, Linux error remedies, and a long annotated data structure. An English development guide covers pnpm, Node, Rust, environment setup, tests, and packaging. The translated product overview is useful for orientation, but issue templates, release notes, and most user support remain Chinese.

This is a reasonable project for a Chinese-speaking user and a steeper support environment for everyone else. Terms such as source type, parser, sniffing mode, danmaku, and search mode affect real configuration behavior. Machine translation can explain the nouns while missing a version-specific warning in a comment. English-only teams should test one complete import, playback, search, backup, and restore cycle before adopting it.

Twenty-eight open items show users are active after the last push

GitHub reported 8,826 stars and 28 combined open issues and pull requests. The last push was 2026-06-25, while the newest open user report arrived on 2026-08-21. That pattern is quieter than daily development but not abandonment: users were still reporting playback, search, source-import, and progress-skip behavior after v3.4.7.

Jellyfin is the safer choice for a media library you own and want to serve to several devices. Kodi fits a living-room computer with local files and established extensions. Stremio Web is closer when an account and add-on ecosystem are acceptable. zyfun makes sense in the narrower case where you already understand its source formats. The passing 71-test run supports a trial, while the 2,058 MB dependency tree and source migration reports argue for testing it away from your only configuration.

Alternatives

ProjectWhat it isPick it when
Stremio Web gh↗A streaming interface built around Stremio accounts and an add-on catalog.pick this instead when an established add-on model is easier than maintaining zyfun source files.
Jellyfin gh↗A self-hosted media server and API for libraries you control.pick this instead when your own media collection and multi-device server access are the main job.
KodiA long-running media center for local libraries, network shares, and extensions.pick this instead when living-room playback and a mature extension system matter more than zyfun's source schema.

What people are saying

  1. [github-trending] Hiram-Wong/zyfun

Sources

  1. zyfun README
  2. zyfun repository metadata
  3. zyfun v3.4.7 release notes
  4. zyfun development guide
  5. Issue 525: request for a default source
  6. Issue 538: source import failure
  7. Issue 546: search source error
  8. Issue 399: macOS 10.15 compatibility

More self-hosted reviews

v2 · OpenShell · wigolo · Mindwtr · club-3090 · reclip · the whole board →