Rebuild Danmaku Cosmos with your preferred defaults—without editing the plugin installed in IINA.
English · 简体中文 · 繁體中文 · 한국어 · 日本語
IINA-DanmakuCosmos-Patch is an unofficial, profile-driven patch builder for the Danmaku Cosmos IINA plugin.
All credit for the plugin being patched goes to karappo-yu and the Danmaku Cosmos contributors. This tool only automates a small set of downstream customizations; without the original Danmaku Cosmos project, there would be nothing here to patch.
verified upstream plugin + patch profile = new installable .iinaplgz
It downloads or accepts a clean upstream package, checks that the supported source code still matches, applies every patch in a temporary workspace, and atomically produces a new plugin package. It never edits the plugin currently installed in IINA.
Requires Python 3.11 or newer. No third-party Python packages are needed.
make doctor
make test
make buildThe result is dist/danmaku-cosmos-patched.iinaplgz. Open it with IINA and
approve the plugin import.
Use the included compact style:
make build PROFILE=profiles/compact.toml- comment opacity and font scale;
- stroke opacity and width;
- scrolling speed;
- CSS or default renderer;
- DandanPlay automatic network lookup;
- enabled state and comment limit.
Copy profiles/default.toml, edit the values, and pass the new file through
PROFILE=.... Invalid or unknown settings fail before an output package is
written.
Before adding support for a new release, run a compatibility-only check:
make check SOURCE=/path/to/danmaku-cosmos.iinaplgzThe patcher uses exact compatibility anchors. If upstream code changes, it stops with the affected file name instead of guessing or producing a partially patched package.
source.py download, checksum, and safe extraction
profile.py typed profile loading and validation
transforms.py focused patches for each upstream file
builder.py temporary workspace and atomic packaging
cli.py user-facing command line
See CONTRIBUTING.md for the development and release-readiness workflow.
Maintainers can create a versioned artifact plus SHA-256 file with:
make release VERSION=0.1.0 SOURCE=/path/to/danmaku-cosmos.iinaplgz- The installed IINA plugin is never modified.
- Builds happen in a disposable temporary directory.
- Downloaded supported releases are pinned by SHA-256.
- Archives are checked for unsafe paths before extraction.
- All patches must validate before transformed files are written.
- Video files and video-side danmaku XML files are out of scope.
This project is not affiliated with IINA or Danmaku Cosmos. Their names and source remain the property of their respective owners.