-
v0.1.0
StableAll checks were successfulBuild, Deploy & Release / build-deploy (push) Successful in 1m43sreleased this
2026-05-16 02:44:29 +00:00 | 1 commits to main since this releaseyt-dlp.wasm v0.1.0 — initial release
Pure-Rust WebAssembly YouTube extractor. Compiled with wasm-pack
--target web; runs entirely client-side in a modern browser.Highlights
- YouTube extractor calls InnerTube directly with the ANDROID client
context (no HTML scraping, no SABR). Returns plain per-format URLs
all the way up to 4K (2160p) with full videoDetails, captions, and
thumbnails — no signature cipher and no n-param transform needed. - Unified Format / Subtitle / VideoInfo schema matching yt-dlp's
info_dict subset. - CORS proxy plumbing via window.fetch_with_proxy (GET) and
window.fetch_post_with_proxy (POST). Proxy URL is runtime-
configurable from the host page. - Stub extractors in place for X/Twitter, TikTok, and Instagram.
Bundle (yt_dlp_wasm-v0.1.0.zip)
- yt_dlp_wasm.js — wasm-bindgen JS glue (ES module)
- yt_dlp_wasm_bg.wasm — the compiled module
- yt_dlp_wasm.d.ts — TypeScript definitions
- yt_dlp_wasm_bg.wasm.d.ts — wasm-bindgen type stubs
- package.json — npm-style metadata
Usage
import init, { extract, supported_sites } from './yt_dlp_wasm.js';
await init();
const info = await extract('https://www.youtube.com/watch?v=...', /* useProxy */ true);Host page must define window.fetch_with_proxy and
window.fetch_post_with_proxy — see index.html in the source tree for
a reference implementation.Note on YouTube version drift
YouTube enforces a minimum ANDROID clientVersion. v0.1.0 ships with
20.10.38. When YouTube tightens this again, bump
ANDROID_CLIENT_VERSION in src/extractor/youtube.rs to whatever
yt-dlp's _DEFAULT_CLIENTS currently uses.Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
yt_dlp_wasm-v0.1.0.zip
0 downloads ·
2026-05-16 02:47:18 +00:00 · 429 KiB
- YouTube extractor calls InnerTube directly with the ANDROID client