Skip to content
BurntToastersPublic

Latest commit

 

History

629 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ROSI

ROSI is a cross-platform GUI for yt-dlp, built with Tauri V2.

ROSI ROSI ROSI ROSI

ROSI-v   ROSI-4   ROSI-4

See ARCHITECTURE.md and build-setup.md.

ROSI 5

ROSI 5 moves from Electron to Tauri V2 with a Rust backend. It uses the system webview, so installers and memory use are much smaller.

  • ROSI 5 is a new app: the app identifier is now run.rosie.rosi, so the v4 updater cannot install it directly. v4.4.0 and later offer an in-app upgrade that installs ROSI 5, removes v4, and imports v4's settings, queue, lifetime stats, and download activity on first launch. v4's data folder is kept. Versions before v4.4.0 must update to v4.4.0 first.
  • The in-app upgrade from v4 to v5 is only available on macOS 26. ROSI 5 itself runs on macOS 15 or later (Apple went from macOS 15 to macOS 26), so on macOS 15 install ROSI 5 manually. The in-app upgrade also needs Windows 10 version 2004 (build 19041) or later. On other systems, install ROSI 5 manually.
  • The in-app updater has stable and beta channels (Settings > Update channel). auto follows the installed version.
  • Linux ships an x64 AppImage and a sideloaded Flatpak. DEB and RPM packages are no longer built or published. Linux ARM64 is not supported in v5; the build wiring remains available for future development. The Flatpak bundles Node.js for yt-dlp's YouTube JavaScript runtime, so it does not need Deno on the host.

System requirements

  • macOS 15 or later (universal build for Intel and Apple silicon). The bundled FFmpeg is built for macOS 15.
  • Windows 10 version 2004 (build 19041) or later, on x64 or ARM64, with the Microsoft Edge WebView2 runtime (installed automatically when missing).
  • Linux x64 with WebKitGTK 4.1 (Ubuntu 24.04+, Debian 13+, Fedora 43+, or a compatible distribution).

LICENSES

  • ROSI includes the official yt-dlp binary, which on its own uses the Unlicense; the standalone binary bundles third-party packages. Read THIRD-PARTY-NOTICES for more.
  • The licenses view in the app lists every npm package and Rust crate compiled into ROSI, plus the exact bundled yt-dlp and FFmpeg notices.
  • Please also read the license for the source of this project (excluding third-party binaries and packages).

Requirements

Official ROSI builds bundle FFmpeg per platform and architecture. When building from source, place FFmpeg binaries in resources/ffmpeg/<platform>/<arch>/ (or run npm run get:ffmpeg) before packaging. See resources/ffmpeg/README.md for the required layout. You can optionally set a custom FFmpeg path in Settings to override the bundled binary.

The Microsoft Store build uses the same codebase: npm run build:msstore builds an MSIX bundle with the Store channel, which hides the in-app updater. See the Microsoft Store section of build-setup.md.

Build ROSI from source

  1. Download the source of a release (non-release sources may contain unfixed issues) and unzip it somewhere convenient.
  2. Install Node.js (with npm 12) and Rust, plus the platform prerequisites in build-setup.md.
  3. npm install
  4. Development: npm run tauri:dev (uses non-functional FFmpeg stubs when FFmpeg is not present; point Settings > FFmpeg path at a local FFmpeg to convert).
  5. Packaged builds:
    • Windows: npm run build:win
    • macOS: npm run build:mac:universal, then npm run build:mac:zip
    • Linux x64: npm run build:linux (or npm run build:linux:x64)
    • Linux ARM64 (native ARM64 hardware only): npm run build:linux:arm64
    • Flatpak: npm run flatpak:bundle

Release builds refuse FFmpeg stubs.

Testing

npm run test:all runs type checking, lint, formatting, policy validators, Vitest, Clippy, Rust tests, and the WebdriverIO E2E suite against the real app and bundled yt-dlp sidecar. npm run test:e2e runs only the E2E suite and writes a reproducible evidence report to e2e/artifacts/e2e-report-<platform>-<arch>.json.

Releases

Releases follow the same destructive, VM-based pipeline as Zinnia. See build-setup.md and docs/RELEASE-STABLE.md.

  • Beta: on each release VM run npm run b, then npm run release:win, npm run release:mac (or release:mac:ssh), or npm run release:linux:x64.
  • Stable: npm run r, then the same platform commands.
  • Beta signing publishes latest-*-beta-*.json onto the latest stable release so beta clients update immediately. After the draft is complete, run npm run release:verify:draft, then npm run release:publish and npm run release:verify:published.

ROSI LTS Version

There is an LTS version of the previous stable full release of ROSI (v3.x.x) at ➡️ROSI-LTS's Repo.

This is mainly for people who prefer the previous look of ROSI, or have an issue with a newly released major version. The LTS version only provides yt-dlp updates and minor bug fixes.

Need help with something?

If there is an issue with the program, feel free to create a GitHub Issue! For other issues/general contact, please go to https://help.rosie.run/contact.

Releases

Sponsor this project

Packages

Used by

Contributors

Languages