Profile
Back to NewsBack
GitHub Trending 24 min
Reader Mode
antonio-orionus/Arroxy: Free open-source YouTube and 2000+ sites downloader for Windows, macOS, and Linux. Download 4K, 60fps, HDR, Dolby audio, Shorts, playlists, channels, MP3, and subtitles with no ads. Built-in YouTube browser for members-only an

antonio-orionus/Arroxy: Free open-source YouTube and 2000+ sites downloader for Windows, macOS, and Linux. Download 4K, 60fps, HDR, Dolby audio, Shorts, playlists, channels, MP3, and subtitles with no ads. Built-in YouTube browser for members-only an

8 hours ago

Arroxy mascot

Arroxy — Free Open-Source YouTube (+ 2000 sites) Downloader with a Built-in Browser, for Windows, macOS & Linux

Built-in browser · Members-only & age-restricted · 4K · 60fps · HDR · Dolby audio · Part of a video · Playlists · Shorts · MP3 · Subtitles · SponsorBlock · +2000 sites

Read in: Afaan Oromoo · Bahasa Indonesia · Deutsch · English · Español · Français · Italiano · Kiswahili · O'zbekcha · Polski · Português · Tiếng Việt · Türkçe · አማርኛ · العربية · اردو · پښتو · فارسی · বাংলা · हिन्दी · ไทย · မြန်မာဘာသာ · ខ្មែរ · Ελληνικά · Русский · Српски · Українська · 中文 · 日本語 · 한국어 · 繁體中文

Release</a> Build</a> Website</a> !License !Platforms !Languages

Download videos, Shorts, music, channels, podcasts, or audio tracks from YouTube and 2000+ supported sites — up to 8K HDR at 60 fps, as MP3 / AAC / Opus, or just the part you need. Browse YouTube or any other site inside Arroxy in the Explore tab and download the video, playlist, or channel you're on; sign in there to download private, members-only, and age-restricted videos your account can watch. Runs locally on Windows, macOS, and Linux. No ads, no bloat, no upsells.

↓ Install Latest Release  ·  Website  ·  Windows first launch · macOS first launch · Linux first launch

Join the Discord Community</a>

Arroxy — Explore tab browsing YouTube, with the Download button for the active profile

If Arroxy saves you time, a ⭐ helps others find it.

What is Arroxy? Arroxy is a free, open-source desktop GUI that downloads videos, audio, playlists, and subtitles from YouTube and 2000+ other yt-dlp-supported sites. It runs on Windows 10/11, macOS 13+ (Intel + Apple Silicon), and Linux (AppImage, Flatpak, tar.gz). GPLv3 licensed. No ads, no usage limits. Distributed via Winget, Scoop, Homebrew Cask, Flatpak, AppImage, and direct download.
> Key difference: a built-in browser. Most free YouTube downloaders are thin yt-dlp wrappers: a URL box and a format menu, with no browser of their own. Arroxy has one, the Explore tab. You browse YouTube or any other site inside the app and download the video, playlist, or channel you're on, or right-click any link. You sign in once in Explore, and Arroxy downloads private, members-only, and age-restricted videos your account can watch, plus your Watch Later and Liked lists, with no cookie export. Sign in to other sites there too, and their downloads use that sign-in when they need it. It retries with that sign-in when YouTube asks you to confirm you're not a bot. Its built-in browser also gets the token YouTube expects before a download, so YouTube doesn't cut a download down to fewer formats. A URL-box wrapper hits all of these limits. Details: Why Arroxy.
> _Last updated: 2026-10-20._

Contents

- Windows first launch - macOS first launch - Why you may see a warning - Linux first launch - Verify your download (SHA256)

✨ Features

Arroxy — Explore tab browsing a video page, with the Download button for the active profile
New Explore
Browse YouTube or any other site inside Arroxy and download the page you're on with your active profile
Arroxy — Explore first-run screen recommending a secondary account
New Explore's first screen
A quick look at Explore, and why a secondary account is the safer sign-in
Arroxy — Downloads with a link preparing, a failed link offering Sign in in Explore, and a playlist waiting for a choice
New Downloads tells you what needs you
Links prepare in the background; a failed one offers its fix, a long playlist waits for your choice
Arroxy — Part of a video: a range bar with start and end times, chapter chips and an exact-cut option
New Download just part of a video
Pick a start and end, or a chapter — Arroxy saves only that range
Arroxy — Format screen for an 8K HDR 60 fps video: AV1 and VP9 in HDR10 and SDR, H.264 up to 1080p, Dolby, AAC and Opus audio
New 8K HDR at 60 fps
Every resolution, codec and HDR stream a video offers, side by side
Arroxy — Profile editor with file type, resolution, subtitles, destination, filename template and output options
New Profile editor
Tune a profile: file type, resolution, subtitles, destination, filename template and more
Arroxy — the main screen in dark and light, with the Aurora glass style on top and the Minimal solid style below
Dark or light, glass or solid
Four looks to choose from: glass panels over a moving sky or quiet solid surfaces, each in dark and light
Arroxy global download hotkey — Ctrl+Shift+D on Windows and Linux, Cmd+Shift+D on macOS, sending the copied link straight into the download queue
Global download hotkey
Copy a link anywhere, press once — it lands in the queue and starts downloading
Arroxy — Per-item playlist profiles
Per-item playlist profiles
Give each video its own profile — archive some in 4K, grab the rest as MP3
Arroxy — Quick Download home
Quick Download home
Paste a URL and pull it instantly with your active profile
Arroxy — Download profiles
Reusable download profiles
Save format, quality, and output presets — reuse per download
Arroxy — Multi-language audio
Multi-language audio tracks
Pick the exact audio language a video ships
Arroxy — Surround / Dolby audio
Surround / Dolby audio
5.1 and Dolby tracks detected and preserved
Arroxy — Bulk URL mode
Bulk URL mode
Paste a list, auto-dedupe, queue them all at once
Arroxy — Parallel download queue
Parallel download queue
Several downloads at once with live progress

🧭 Explore: browse the web inside Arroxy

  • Explore tab — browse YouTube or any other site inside Arroxy and download what you find without copying links. Download · your profile queues the video, playlist, or channel you're looking at; the arrow next to it switches profiles, and the wand opens the step-by-step download for picking formats, subtitles, and more
  • Right-click to download — right-click any video, playlist, or channel link in Explore to download it with your profile, pick another profile from Download with, open the step-by-step download, or copy the link. No need to open each video first
  • Compact layout — one click in Explore's toolbar moves Arroxy's tabs into it and gives the page more room
  • Address bar — type to search YouTube, or enter any web address to open that site
  • Downloads that need an account — sign in once in Explore and Arroxy can download private and members-only videos your account can watch, age-restricted videos if the account is age-verified, and your Watch Later and Liked lists. Sign in to other sites there too, and their downloads use that sign-in when they need it. Arroxy still downloads signed out first and only uses your Explore sign-in when a download fails in a way an account can fix. When YouTube asks you to confirm you're not a bot, Arroxy also tries your Explore sign-in
  • Use a secondary account — Explore's first screen explains why: downloading with an account carries some risk of that account being restricted. Sign out of Explore from Settings whenever you want to forget your sign-ins
  • Ad blocker — off by default. One click on the shield in Explore's toolbar blocks ads and trackers on its pages, without affecting downloads. YouTube may push back on ad blockers for signed-in accounts

🎞️ Quality & formats

  • Up to 8K (4320p), 4K UHD (2160p), 1440p, 1080p, 720p, 480p, 360p
  • High frame rate and HDR preserved as-is — 60 fps, HDR10
  • Audio — export audio-only as MP3, M4A/AAC, Opus, or WAV. In interactive downloads, pick the source's native surround/Dolby tracks (AC-3, E-AC-3, 5.1, DRC) when available, or set a global Prefer surround / Dolby default
  • Profiles with a goal — Best picture (AV1 · VP9) or Smart TV (MP4 · H.264), saved as Auto, MP4, MKV, or WebM without re-encoding. HDR is Auto (only when your screen can show it), SDR, or HDR
  • Every codec at every resolution — the step-by-step download lists AV1, VP9 and H.264 side by side at each resolution, so you can pick the one your TV or editor plays
  • Know what a stream really is — sizes YouTube upscaled with AI, AI-dubbed audio languages, enhanced-bitrate streams, 360° videos and damaged or watermarked copies are marked. Profiles skip AI-upscaled streams unless you allow them

🛡️ Privacy & control

  • 100% local processing — downloads go straight from YouTube to your disk
  • Open source — every line auditable, GPLv3 licensed
  • Files saved straight to the folder you choose

⚡ Workflow

  • Global download hotkey — copy a link in any app and press Ctrl+Shift+D (Cmd+Shift+D on macOS); Arroxy queues it with your active profile without opening the window, and a notification confirms it. On by default, rebindable
  • Flexible start modes — choose a guided single download, playlist/channel picker, bulk URL paste, Quick Download with saved defaults, or browse and download from Explore
  • Central download queue — every single, playlist, bulk, or quick job lands in one place for progress, pause, resume, cancel, retry, and priority control
  • Clipboard watch — copy a video link and it fills the URL field when you come back to Arroxy, with Undo if you didn't mean it. While Arroxy is busy, the link waits until you are back on the URL tab (turn it off in Settings)
  • Auto-clean URLs — strips tracking params (si, pp, utm_*, fbclid, gclid) and unwraps youtube.com/redirect links
  • Tray mode — closing the window keeps downloads running in the background
  • 31 languages — auto-detects system locale, switchable any time
  • Playlist sync — re-scan a playlist against a local folder to skip already-downloaded videos; generates an .m3u playlist file updated as each video downloads
  • Speed and pacing controls — cap download bandwidth, set how many parts of a video download at once, and add request delays with presets (Off · Balanced · Careful · Custom)
  • Filename templates — name downloads your way with {title}, {uploader}, {id}, {date}, {resolution}, and {playlist_index}, globally or per download profile
  • Downloads at once and automatic retry — choose how many queued downloads run at the same time, and let Arroxy retry a download that hit a network or server problem, waiting longer before each attempt
  • Per-item playlist profiles — assign each video in a playlist its own download profile instead of one setting for the whole list, so a single pass can archive some at full quality and grab the rest as MP3
  • Quick Download works in the background — the link shows up in Downloads right away and prepares there, a note with View confirms it, and the URL field clears for the next link. Start as many as you like while earlier ones prepare
  • Downloads tells you what needs you — if Arroxy can't read a link, its row says why and offers the fix: Retry, turn on cookies, or sign in in Explore. With cookies off, Sign in with Explore retries it for you once you're signed in. A playlist longer than your load limit waits on its row for you to pick all of it, the first ones, or a review. The Downloads tab counts the rows waiting for you
  • Download just part of a video — pick a start and end, or a chapter, on the Format screen and Arroxy saves only that range, named with the range after the video id. Cuts land on the nearest keyframe; turn on exact cut to re-encode instead
  • Remove finished downloads — optional: a finished download leaves the list 5 seconds later. Its files stay on disk, and failed downloads stay listed
  • Size and Missing in Downloads — a sortable Size column shows how much space each download takes, and Missing flags files moved or deleted outside Arroxy
  • Aurora or Minimal, dark or light — glass panels over a moving sky, or quiet solid surfaces; switch from the footer. Computers without graphics acceleration get Minimal automatically
  • Mac menu bar — on macOS, open Settings (Cmd+,), set the download speed limit, switch style and theme, and open logs or save a diagnostics file from the menu bar
  • Change a profile from any download — tweak a download, then update the profile it started from (with a preview of what changes) or save the settings as a new profile. Switching profile asks whether to keep your edits

📝 Subtitles & post-processing

  • Subtitles in SRT, VTT, or ASS — manual or auto-generated, in any available language
  • Save next to the video, embed into .mkv, or organize into a Subtitles/ subfolder
  • Subtitles-only batches — paste a list of URLs or open a playlist, pick Subtitles, and get only the caption files for every video
  • SponsorBlock — skip or chapter-mark sponsors, intros, outros, self-promos
  • Embedded metadata — title, upload date, channel, description, thumbnail, and chapter markers written into the file

🌐 YouTube + 2000 sites

  • YouTube, in full — Videos, Shorts, Channels, Playlists, YouTube Music, and Podcasts handled as first-class sources
  • 2000+ other sites via yt-dlp — Twitch, TikTok, Dailymotion, VK, SoundCloud, Bandcamp, Bilibili, archive.org, Streamable, and many more
  • Audio-only and subtitles work across every supported site, not just YouTube
  • If a site changes, yt-dlp ships fixes weekly and Arroxy auto-updates the binary on launch

📥 Install and first launch

Windows

winget install AntonioOrionus.Arroxy

macOS

brew install --cask antonio-orionus/arroxy/arroxy

Linux

AppImage:

curl -fsSL https://raw.githubusercontent.com/antonio-orionus/Arroxy/main/scripts/install.sh | sh -s -- --appimage

Flatpak:

curl -fsSL https://raw.githubusercontent.com/antonio-orionus/Arroxy/main/scripts/install.sh | sh -s -- --flatpak

Builds are x86_64 only. No curl? Swap curl -fsSL for wget -qO-.

| Platform | Direct download | | --- | --- | | Windows | Windows Setup</a> Windows Portable</a> | | macOS | macOS Apple Silicon</a> macOS Intel</a> | | Linux | Linux AppImage</a> Linux Flatpak</a> Linux tar.gz</a> | | Verify | SHA256 Checksums</a> |

All release assets →

🪟 Windows first launch

On first launch you may see "Windows protected your PC" or "Unknown publisher." This applies to both Arroxy-win-x64-Setup.exe and Arroxy-win-x64-Portable.exe. Arroxy is free and open-source and the Windows builds are not code-signed with a paid certificate, which is why SmartScreen flags them. It does not automatically mean Arroxy is unsafe. To continue:

SmartScreen SmartScreen dialog after expanding More info, showing the

  1. Click More info.
  2. Click Run anyway.

If Windows Defender flags or removes the file

Defender heuristics sometimes flag unsigned NSIS installers and Electron portables as suspicious. If Defender quarantines Arroxy-win-x64-Setup.exe or Arroxy-win-x64-Portable.exe, restore it from Windows Security → Virus & threat protection → Protection history, then add the Arroxy executable as an allowed item under Manage settings → Add or remove exclusions. As with SmartScreen, the trigger is the missing publisher signature, not detected malware.

Only download Arroxy from the official GitHub Releases page. If you got the file from another website or someone sent it to you, delete it and download a fresh copy from the official source. The source code is public, so you can inspect it or build Arroxy yourself if you prefer.

Prefer Scoop? scoop bucket add arroxy https://github.com/antonio-orionus/scoop-bucket && scoop install arroxy

🍎 macOS first launch

Arroxy's macOS builds are ad-hoc signed but not notarized by Apple, so Gatekeeper blocks the first launch with "Arroxy.app" Not Opened — Apple could not verify "Arroxy.app" is free of malware. That means macOS cannot check the app with Apple, not that anything is wrong with the files. Installing with Homebrew avoids this dialog entirely. If you used the DMG, one Terminal command clears it:

macOS dialog saying Arroxy.app is damaged and cannot be opened

  1. Drag Arroxy.app from the mounted DMG into /Applications.
  2. Open Terminal and run these two commands:
xattr -dr com.apple.quarantine /Applications/Arroxy.app
open /Applications/Arroxy.app

The first command removes the quarantine attribute macOS attached when the file was downloaded; the second launches the app. You normally do not need sudo, because the copy in /Applications belongs to you — add it only if you get a permissions error.

Apple Silicon vs Intel: on an M-series Mac (M1 / M2 / M3 / M4), download the arm64 DMG. On Intel Macs, download the x64 DMG. Running the wrong build still works via Rosetta but is noticeably slower.

macOS builds are produced via CI on Apple Silicon and Intel runners. If you hit issues, please open an issue — feedback from macOS users actively shapes the macOS testing cycle.

⚠️ Why you may see a warning

Arroxy is open-source and GPLv3-licensed. The Windows and macOS builds are not code-signed — Apple Developer ID and Windows EV code-signing certificates each cost hundreds of dollars per year, which an indie project pays out of pocket. Without those signatures, Windows SmartScreen and macOS Gatekeeper will warn you on first launch. The warnings mean your OS doesn't recognize the publisher — they don't mean Arroxy is malware.

Three ways to verify Arroxy yourself, in increasing rigor:

🐧 Linux first launch

AppImages run directly — no installation. You just need to mark the file as executable.

File manager: right-click the .AppImage → Properties → Permissions → enable Allow executing file as program, then double-click.

Terminal:

chmod +x Arroxy-linux-x64.AppImage
./Arroxy-linux-x64.AppImage

If launch still fails, run it without mounting — no FUSE package needed:

./Arroxy-linux-x64.AppImage --appimage-extract-and-run

Optional desktop integration: install AppImageLauncher once, and any AppImage you double-click gets registered into your launcher menu automatically — no manual .desktop file needed.

Plain tarball (no FUSE, no install):

The .tar.gz build is the same app without the AppImage wrapper — extract it anywhere and run it. No installer and no FUSE package needed.

tar xzf Arroxy-linux-x64.tar.gz
./Arroxy-linux-x64/arroxy

The Linux downloads on the release page are x86_64 only. On ARM64 machines (Raspberry Pi, Asahi Linux) the Flatpak still installs, then fails at launch with bwrap: execvp ldconfig: Exec format error.

🔐 Verify your download (SHA256)

Every release publishes a SHA256SUMS file alongside the binaries. To check that your download wasn't corrupted or tampered with in transit, hash your file locally and match the line in SHA256SUMS. Open the latest release page → Assets → download SHA256SUMS.

Windows (PowerShell or Command Prompt):

certutil -hashfile Arroxy-win-x64-Setup.exe SHA256

macOS (Terminal):

shasum -a 256 Arroxy-mac-arm64.dmg

Linux (Terminal):

sha256sum Arroxy-linux-x64.AppImage

Want a third-party malware scan? Upload the file at VirusTotal. A handful of generic-heuristic flags from minor engines is normal for unsigned Electron apps; widespread detections from major engines would be a real concern.

📦 Windows: Installer vs Portable

| | NSIS Installer | Portable .exe | | ------------- | :----------------------: | :---------------------: | | Installation required | Yes | No — run from anywhere | | Auto-updates | ✅ in-app | ❌ manual download | | Startup speed | ✅ faster | ⚠️ slower cold start | | Adds to Start Menu | ✅ | ❌ | | Easy uninstall | ✅ | ❌ delete the file |

Recommendation: use the NSIS installer for auto-updates and faster startup. Use the portable .exe for a no-install, no-registry option.


⚖️ Why Arroxy

A side-by-side comparison with the most common alternatives:

| | Arroxy | Typical free yt-dlp GUI | 4K Video Downloader | JDownloader | Y2Mate / online converters | Browser extensions | | ---------- | :----: | :---------------------: | :-----------------: | :---------: | :------------------------: | :----------------: | | Built-in browser (browse, sign in, download) | ✅ | ❌ | ⚠️ | ❌ | ❌ | N/A | | Private, members-only & age-restricted videos without exporting cookies | ✅ | ⚠️ | ⚠️ | ⚠️ | ❌ | ⚠️ | | Free, no premium tier | ✅ | ✅ | ⚠️ | ✅ | ⚠️ | ⚠️ | | Open source | ✅ | ✅ | ❌ | ❌ | ❌ | ⚠️ | | Local processing only | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | | No usage caps | ✅ | ✅ | ⚠️ | ✅ | 🚫 | ⚠️ | | Cross-platform desktop app | ✅ | ⚠️ | ✅ | ✅ | N/A | ❌ | | Subtitles + SponsorBlock | ✅ | ⚠️ | ⚠️ | ❌ | ❌ | ❌ |

⚠️ = partly, or only on a paid tier. 4K Video Downloader's in-app sign-in for private videos is a paid feature; most free yt-dlp GUIs only accept a cookies file or read your web browser's cookies.

Arroxy is built for one thing: a clean local file, whether you paste a URL or find the video in Explore. No upsells, no data collection.

🧭 What a plain yt-dlp wrapper can't do: the Explore tab

Most free YouTube downloaders are a URL box on top of yt-dlp. Arroxy uses yt-dlp too, but it also has Explore, a browser built into the app that opens YouTube or any other site. Explore gets past limits that a URL box can't:

  • Videos that need an account, without exporting cookies — private, members-only, and age-restricted videos (on an age-verified account), plus your Watch Later and Liked lists, and videos behind a sign-in on other sites. A plain wrapper needs a cookies.txt export or must read your web browser's cookies, which Chrome on Windows now blocks. In Arroxy you sign in once in Explore and it does the rest
  • "Sign in to confirm you're not a bot" — when YouTube asks this, Arroxy tries the download again with your Explore sign-in instead of failing
  • YouTube's download token — Arroxy's built-in browser gets the token YouTube expects before a download. Without it, YouTube can serve fewer formats and lower quality than you asked for
  • No copying links — find a video, playlist, or channel in Explore and download it with one click, or right-click any link on the page
  • Ad blocker when you want it — one click on the shield blocks ads and trackers on Explore's pages

🔒 Privacy

Downloads are fetched directly via yt-dlp from YouTube to the folder you pick — nothing routed through a third-party server. Watch history, download history, URLs, and file contents stay on your device.

No telemetry — just one anonymous heartbeat a day: app version, OS, language, install channel, country and roughly how long ago Arroxy was installed, so we can count active and new users. No IDs, URLs, video titles, file paths or account info. You can turn it off in Settings.

Explore keeps its own sign-ins, separate from your browser, and Arroxy never reads or fills in a sign-in form — you type into the site's own page. Downloads run signed out; only when one fails in a way an account can fix does Arroxy read the sign-in fresh, keep it in a temporary file for that download, and delete the file afterwards. Signing out of Explore in Settings forgets them.


❓ FAQ

Is it really free?

Yes — GPLv3 licensed, no premium tier, no feature gating.

How is Arroxy different from other yt-dlp GUIs?

Most free yt-dlp GUIs are wrappers that only take a link. Arroxy adds Explore, a browser built into the app that opens YouTube or any other site: you browse and download without copying links, and you sign in there once to download private, members-only, and age-restricted videos and your Watch Later and Liked lists, with no cookie export. Arroxy uses that sign-in when YouTube asks you to confirm you're not a bot, and its built-in browser gets YouTube's download token so downloads don't fall back to fewer formats. See Why Arroxy.

What video qualities can I download?

Anything YouTube serves: 8K (4320p), 4K UHD (2160p), 1440p, 1080p, 720p, 480p, 360p, plus audio-only. 60 fps and HDR streams are preserved as-is, and the step-by-step download lets you pick AV1, VP9 or H.264 at each resolution.

Can I extract just the audio as MP3?

Yes. Pick audio-only in the format menu and choose MP3, M4A/AAC, Opus, or WAV.

How do I download videos that need a YouTube account?

Sign in once in the Explore tab. Arroxy can then download private and members-only videos your account can watch, age-restricted videos if the account is age-verified, and your Watch Later and Liked lists. It uses the sign-in only when a download fails in a way an account can fix; everything else downloads as before. This is the Explore sign-in choice, listed first and marked Recommended in the cookie settings, and Arroxy picks it for you the first time you open Explore. yt-dlp's wiki notes that signed-in automation can flag a Google account, so a secondary account is the safer choice.

Will it keep working when YouTube changes something?

yt-dlp is updated automatically on launch, and Arroxy ships fixes promptly when YouTube changes something. When YouTube asks you to confirm you're not a bot, Arroxy also tries your Explore sign-in if you've signed in there, and cookies from a file or your browser are available in the cookie settings.

What languages is Arroxy available in?

31 languages, out of the box: Afaan Oromoo · Bahasa Indonesia · Deutsch · English · Español · Français · Italiano · Kiswahili · O'zbekcha · Polski · Português · Tiếng Việt · Türkçe · አማርኛ · العربية · اردو · پښتو · فارسی · বাংলা · हिन्दी · ไทย · မြန်မာဘာသာ · ខ្មែរ · Ελληνικά · Русский · Српски · Українська · 中文 · 日本語 · 한국어 · 繁體中文. Arroxy auto-detects your operating system's language on first launch and you can switch at any time from the language picker in the toolbar. Runtime locale JSON lives in src/shared/i18n/locales/, and translator-facing PO catalogs live in i18n/locales/ — open a PR on GitHub to contribute.

Do I need to install anything else?

No. yt-dlp, ffmpeg and ffprobe are downloaded automatically on first launch and cached on your machine. After that, no extra setup is needed.

Can I download playlists or whole channels?

Yes — both. Paste a playlist URL or a channel URL (e.g. youtube.com/@handle, /channel/UC…, /c/Name, /user/Old); choose how many entries to scan, then queue the whole list or pick specific videos. Date-range filters are coming soon.

macOS says "the app is damaged" — what do I do?

That's macOS Gatekeeper blocking an unsigned app, not actual damage. See macOS first launch for the Terminal commands that clear quarantine and launch Arroxy.

Is downloading YouTube videos legal?

For personal, private use it is generally accepted in most jurisdictions. You are responsible for complying with YouTube's Terms of Service and your local copyright laws.


🗺️ Roadmap

Still planned — roughly in priority order:

| Feature | Description | | ---------------- | ---------------- | | Playlist & channel filters | Date-range filters when enumerating a playlist or channel | | YouTube audio track preferences | Set an app-wide spoken-language track preference, with per-profile overrides when YouTube offers multiple audio tracks | | Stronger retry recovery | A new retry path for downloads interrupted by unreliable or problematic internet connections | | Full download manager drawer | Turn the queue drawer into a fuller manager, including changing destination folders for queued items | | Scheduled downloads | Start a queue at a set time (overnight runs) | | AUR package | Install on Arch Linux and Omarchy with yay -S arroxy-bin |

Have a feature in mind? Open a request — community input shapes priority.


💖 Support Arroxy

Arroxy is free and GPLv3-licensed — no ads, no telemetry, no paid tier. If it saves you time, you can support development with Bitcoin, Tron or Ethereum: the addresses are in DONATE.md, which is the only official source for them. Arroxy will never send you an address by email or direct message. Starring the repo, reporting bugs, and improving translations help just as much.

Bitcoin donation address Tron donation address Ethereum donation address


🛠️ Built with

Stack

  • Electron — cross-platform desktop shell
  • React 19 + TypeScript — UI
  • Tailwind CSS v4 — styling
  • Zustand — state management
  • yt-dlp + ffmpeg — download and mux engine (both fetched at runtime: yt-dlp kept up to date, ffmpeg/ffprobe installed once and kept across updates)
  • Vite + electron-vite — build tooling
  • Vitest + Playwright — unit and end-to-end tests

Build from source

Prerequisites — all platforms

| Tool | Version | Install | | ------- | ------- | ------- | | Git | any | git-scm.com | | Node.js | 24.21.0 | mise install or .node-version | | Bun | 1.4.2 | mise install or package.json packageManager |

Recommended: install mise, then run mise install in the checkout. Without mise, manually activate Node.js from .node-version and Bun from package.json before bun run bootstrap.

Windows

powershell -c "irm bun.sh/install.ps1 | iex"

Visual Studio Build Tools and Python may be needed for native rebuilds.

macOS

brew install mise
xcode-select --install

After cloning, run mise trust && mise install from the checkout. If your shell already uses fnm, nvm, or a Homebrew Bun, activate mise in ~/.zshrc so Arroxy gets Node.js 24.21.0 and Bun 1.4.2:

printf '

mise

if command -v mise >/dev/null 2>&1; then eval "$(mise activate zsh)" fi ' >> ~/.zshrc exec zsh

Linux (Ubuntu / Debian)

curl -fsSL https://bun.sh/install | bash

Build + Electron runtime deps

sudo apt install -y build-essential python3 tar libgtk-3-0 libnss3 libasound2t64

E2E tests only (Electron needs a display)

sudo apt install -y xvfb

Clone & run

git clone https://github.com/antonio-orionus/Arroxy
cd Arroxy
mise trust
mise install           # recommended; skip if you manually activated the pinned tools
bun run bootstrap
bun run doctor
bun run dev            # Electron app against the Vite renderer

Build a distributable

bun run build        # typecheck + compile
bun run dist         # package for current OS
bun run dist:win     # package Windows targets when run on a supported host
bun run bootstrap installs dependencies, rebuilds Electron app dependencies, verifies Electron, prepares embedded ffmpeg/ffprobe for development, and installs Playwright Chromium. Release builds manage yt-dlp, ffmpeg and ffprobe at runtime in your app data folder; none of them ship inside the installer.


🩺 Troubleshooting

🖥️ App won't open / no window appears

The Arroxy process starts but no window shows up. Most often this is a GPU driver hang during startup. Try, in order:

1. Check the log. It records startup, GPU info, and any crash. Path:

| Platform | Path | | -------- | -------------------------------- | | Windows | %APPDATA%\Arroxy\logs\main.log | | macOS | ~/Library/Logs/Arroxy/main.log | | Linux | ~/.config/Arroxy/logs/main.log |

2. Launch with hardware acceleration disabled. Open a terminal / Command Prompt and run the executable with a flag:

# Windows (Portable) — PowerShell, run from the folder containing the exe
.\Arroxy-win-x64-Portable.exe --disable-gpu

Windows (Portable) — Command Prompt (cmd.exe), from the same folder

Arroxy-win-x64-Portable.exe --disable-gpu

Windows (Installed) — works in both PowerShell and cmd.exe

"%LOCALAPPDATA%\Programs\Arroxy\Arroxy.exe" --disable-gpu

macOS

/Applications/Arroxy.app/Contents/MacOS/Arroxy --disable-gpu

Linux (AppImage)

./Arroxy-linux-x64.AppImage --disable-gpu

If that works, the GPU/driver is the cause. Make the change permanent (next step).

3. Persist the flag via argv.json. Create the file at:

| Platform | Path | | -------- | ------------------------------------------------ | | Windows | %APPDATA%\Arroxy\argv.json | | macOS | ~/Library/Application Support/Arroxy/argv.json | | Linux | ~/.config/Arroxy/argv.json |

With contents:

{ "disable-hardware-acceleration": true }

Arroxy reads this before opening any window, so it works even when the window never appeared.

4. Other flags worth trying (combine if needed): --disable-software-rasterizer, --disable-gpu-sandbox, --in-process-gpu.

5. Stale window position. If the window may be opening off-screen (multi-monitor change since last run), delete \window-state.json and relaunch.

6. Still stuck? Open an issue with your OS version and any output from running with --enable-logging --v=1. If the app window does open, attach the file from Settings → Save diagnostics file: it holds both logs and your app details, with your user folder name removed. Otherwise attach main.log.


📜 Terms of use

Arroxy is a tool for personal, private use only. You are solely responsible for ensuring your downloads comply with YouTube's Terms of Service and the copyright laws of your jurisdiction. Do not use Arroxy to download, reproduce, or distribute content you do not have the right to use. The developers are not liable for any misuse.

Star History

Star History Chart

GPLv3 · Made with care by @OrionusAI

Chat with me