YouTube WASM plugin for Vortex.
- Videos, playlists, channels, YouTube Shorts
- Quality selection (360p to 4320p / 8K)
- Video formats: MP4, WEBM, MKV
- Audio-only: M4A, MP3, OGG, OPUS, WAV
- Subtitles (auto-generated + manual), SRT/VTT
- Thumbnails and metadata extraction
yt-dlpinstalled and available onPATH(host-side).- Vortex plugin host ≥ 0.1.0.
rustup target add wasm32-wasip1
cargo build --releaseThe resulting WASM binary is at target/wasm32-wasip1/release/vortex_mod_youtube.wasm.
The Vortex plugin loader enforces two rules (see
src-tauri/src/adapters/driven/plugin/manifest.rs for the exact validation):
- The plugin directory name must match the
namefield inplugin.toml. - The directory must contain exactly one
.wasmfile — the filename itself is not pinned, sovortex_mod_youtube.wasmandvortex-mod-youtube.wasmare both accepted as long as there is only one of them.
Cargo produces target/wasm32-wasip1/release/vortex_mod_youtube.wasm
(underscores — Cargo's default crate-name-to-artifact mapping). The
instructions below rename it to match the directory purely as a convention;
you may leave the underscore form if you prefer.
mkdir -p ~/.config/vortex/plugins/vortex-mod-youtube
cp plugin.toml ~/.config/vortex/plugins/vortex-mod-youtube/
cp target/wasm32-wasip1/release/vortex_mod_youtube.wasm \
~/.config/vortex/plugins/vortex-mod-youtube/vortex-mod-youtube.wasmFinal layout:
~/.config/vortex/plugins/vortex-mod-youtube/
├── plugin.toml
└── vortex-mod-youtube.wasm
cargo test --target x86_64-unknown-linux-gnuPure logic modules (url_matcher, metadata, quality_manager) are native-testable without WASM runtime.