aandrew-me / ytDownloader

A modern GUI App for downloading Videos and Audios from hundreds of sites
https://ytdn.netlify.app/
GNU General Public License v3.0
924 stars 85 forks source link
appimage downloader electron electron-app ffmpeg flatpak gui javascript linux linux-app macos nodejs snap ubuntu video windows youtube youtube-dl youtube-downloader ytdownloader

ytDownloader

Flathub GitHub downloads GitHub release (latest by date) Flathub AUR version Snapcraft Chocolatey Version

A modern GUI video and audio downloader supporting hundreds of sites

Get it from the Snap Store Get AppImage AUR Chocolatey

Features πŸš€

βœ… Light/Dark mode

βœ… Supports hundreds of sites including Youtube, Facebook, Instagram, Tiktok, Twitter and so on.

βœ… Advanced options like Range Selection

βœ… Download playlists

βœ… Available on Linux, Windows & macOS

βœ… Fast download speeds

βœ… And of-course no trackers or ads

Screenshots

ytdownloader_dark ytdownloader_light

Installation

Windows πŸͺŸ

Linux has several options available - Flatpak, AppImage, Snap and AUR. Flatpak is recommended. For arm processors, download from flathub.

macOS 🍎

Since the app is not signed, when you will try to open the app, macOS will not allow you to open it. So you will need to follow some steps to open it.

  1. Click on System Preferences on your Mac Dock.
  2. Choose Security & Privacy
  3. The app will be shown there. Click on Open

On macOs 14.5 Sonoma you need to open terminal and add it by hand:

sudo xattr -r -d com.apple.quarantine /Applications/YTDownloader.app 

You will also need to have Python 3.8 or greater installed

Internationalization (Localization) 🌍

Translations into other languages would be highly appreciated. If you want to help translating the app to other languages, you can join from here. Open a new issue and that language will be added to Crowdin. Please don't make pull requests with json files, instead use Crowdin.

Crowdin

βœ… Available languages

Name Status
Arabic βœ”οΈ
English βœ”οΈ
Simplified Chinese βœ”οΈ
Finnish βœ”οΈ
French βœ”οΈ
German βœ”οΈ
Greek βœ”οΈ
Hungarian βœ”οΈ
Italian βœ”οΈ
Japanese βœ”οΈ
Persian βœ”οΈ
Polish βœ”οΈ
Portuguese (Brazil) βœ”οΈ
Russian βœ”οΈ
Spanish βœ”οΈ
Turkish βœ”οΈ
Ukrainian βœ”οΈ
Vietnamese βœ”οΈ

Thanks to nxjosephofficial, LINUX-SAUNA, Proxycon, albanobattistella, TheBlueQuasar, MrQuerter, KotoWhiskas, AndrΓ©, haggen88, XfedeX, Jok3r, TitouanReal, soredake, yoi, HowlingWerewolf, Kum, Mohammed Bakry, Huang Bingfeng and others for helping.

Used technologies

For building or running from source code

Nodejs (along with npm) needs to be installed.

Required commands to get started.

git clone https://github.com/aandrew-me/ytDownloader.git
cd ytDownloader
npm i

To run with Electron :

npm start

You need to download ffmpeg and put it in the root directory of the project. If you don't need to build for arm processor, you can download ffmpeg by executing any of the files - linux.sh / mac.sh / windows.sh depending on the platform. Otherwise you need to download ffmpeg from here for windows/linux and from here for mac (not tested)

To build for Linux (It will create packages as specified in package.json). The builds are stored in release folder.

npm run linux

To build for Windows

npm run windows

To build for macOS

npm run mac

If you only want to build for one format, you can do

npx electron-builder -l appimage

It will just create a linux appimage build.