Skip to content

A desktop app to easily download media files hosted on popular websites.

License

Notifications You must be signed in to change notification settings

vegidio/umd-app

Repository files navigation

Universal Media Downloader (UMD)

Universal Media Downloader (UMD)
UMD is an app to easily download media files hosted on popular websites.
It supports the following sites:

🖼️ Usage

There are 2 ways to use this app: using the GUI or the CLI.

The GUI is the easiest way to use the app, with an intuitive interface that allows you to download media files with just a few clicks. The CLI is more advanced and allows you to download media files in a more automated way.

Both versions are available for Windows, macOS, and Linux. Download the correct version that matches your computer architecture and operating system from the latest release and follow the instructions below:

GUI

UMD - GUI

  1. Enter a URL of the website where the media is hosted and then click on the Query button. If the URL belongs to a website supported by UMD, it will query the website and show the media files in the list below.
    • Mark the checkbox Deep if you want to perform a deep search. This will expand the search in the unknown URLs in an attempt to find more media files.
    • You can limit the number of files that will be queried by entering a number in the Limit field.
  2. Select the media files that you want to download by clicking on the checkbox next to the file name, or click on the checkboxes to automatically select all images and/or videos.
  3. Click on the button Browse to select the directory where you want the files to be saved and then click on the Download button to start the download.

CLI

UMD - CLI

Run the command below in the terminal:

$ umd-dl -d ~/Downloads/UMD <url>

Where:

  • -d (optional): the directory where you want the files to be saved; default is the current directory.
  • -l (optional): the maximum number of files to download; default is 99.999 files.
  • <url> (mandatory): the URL of the website where the media is hosted (Attention: it's important that the URL is the last parameter).

For the full list of parameters, type umd-dl --help in the terminal.

💡 Features

Remove duplicates

This application will automatically delete all files that are identical.

💣 Troubleshooting

"App Is Damaged..." (Unidentified Developer)

For a couple of years now, Apple has required developers to join their "Developer Program" to gain the pretentious status of an identified developer 😛.

Translating to non-BS language, this means that if you’re not registered with Apple (i.e., paying the fee), you can’t freely distribute macOS software. Apps from unidentified developers will display a message saying the app is damaged and can’t be opened.

To bypass this, open the Terminal and run the command below, replacing <path-to-app> with the correct path to where you’ve installed the app:

$ xattr -d com.apple.quarantine <path-to-app>

Download is taking too long

Some websites, like Coomer/Kemono, use techniques to block tools from scraping their content. UMD, however, includes countermeasures to bypass these restrictions. This process can make the downloads take longer than usual.

Unfortunately, there’s no way to speed up this process, so please be patient and allow the app to complete its work.

🛠️ Build

Dependencies

In order to build this project you will need the following dependencies installed in your computer:

If you want to build the GUI you will also need:

Compiling

With all the dependencies installed, in the project's root folder run the command:

$ task <interface> os=<operating-system> arch=<architecture>

Where:

  • <interface>: can be cli or gui.
  • <operating-system>: can be windows, darwin (macOS), or linux.
  • <architecture>: can be amd64 or arm64.

For example, if I wanted to build a GUI version of the app for Windows, on architecture AMD64, I would run the command:

$ task gui os=windows arch=amd64

📈 Telemetry

This app collects information about the data that you're downloading to help me track bugs and improve the general stability of the software.

No identifiable information about you or your computer is tracked. But if you still want to stop the telemetry, you can do that by adding the flag --no-telemetry in the CLI tool or the environment variable -e UMD_TELEMETRY=false when you run the Docker container.

📝 License

UMD is released under the MIT License. See LICENSE for details.

👨🏾‍💻 Author

Vinicius Egidio (vinicius.io)