Important for translators: There's now a Weblate instance for Varia, please refer to the contributing page.
Download for Linux | Download for Windows | Browser Extension |
---|---|---|
β¬ Flathub | β¬ Installer | β Firefox |
β¬ Snap Store | β¬ Portable | β Chrome |
β¬ AUR (unofficial) |
Varia is a download manager for Linux and Windows that supports regular files as well as torrents and video/audio streams. It is a frontend for aria2 and yt-dlp.
The main way to get Varia that is supported by me is via Flathub.
flatpak install flathub io.github.giantpinkrobots.varia
This requires you to have Flatpak and the Flathub Flatpak repository installed on your system.
You can get Varia through the Snap Store. However, you will need to give it additional permissions through the terminal if you want to use the "Shutdown after Completion" feature:
sudo snap connect varia:shutdown
You can get Varia via the AUR as well, but it is unofficial and not handled by me.
You can find amd64 builds of Varia in the Releases section in both installer and portable forms. The installer version is recommended and it includes an auto updater function.
Download it for Firefox or Chrome.
There are two branches here: 'main' and 'next'. 'next' is where the feature developments for the next version happen.
The 'main' branch can be built with the instructions below. The 'next' branch may also be built with these instructions, but it's not guaranteed. If you want to build the 'next' branch, it can be built with GNOME Builder on Linux.
The easiest way of building Varia is to use GNOME Builder. Just clone this repository, and open the folder using Builder. Then, press run. This is the way I make Varia, and the 'next' branch can only be reliably built this way.
Varia is developed to be Flatpak-first, so it can be built with GNOME Builder with a single click on the Run button. You can also run it directly using flatpak-builder:
flatpak-builder --force-clean --install --user ./_build ./io.github.giantpinkrobots.varia.json && flatpak run io.github.giantpinkrobots.varia
To build Varia without Flatpak or GNOME Builder though, you'll need:
- meson
- python-setuptools
- Gtk4 and its development libraries
- Libadwaita
- gettext
- aria2 and the aria2p python package.
- yt-dlp python package
- FFmpeg (without GPL is okay)
- python-dbus-next
To install the ones besides aria2p on some Linux systems:
Ubuntu, Debian, Mint etc:
sudo apt install meson ninja-build aria2 python3-setuptools libgtk-4-dev libadwaita-1-0 gettext ffmpeg python3-dbus-next
Fedora, RHEL etc:
sudo dnf install meson ninja-build aria2 python3-setuptools gtk4-devel libadwaita gettext ffmpeg python3-dbus-next
Arch, EndeavourOS, Manjaro etc:
sudo pacman -S meson aria2 python-setuptools gtk4 libadwaita gettext ffmpeg python-dbus-next
To install aria2p and yt-dlp using pip (your distro probably doesn't have them in its repos - they're on the AUR for Arch):
pip install aria2p
pip install yt-dlp
Then, you can use meson commands to build Varia:
git clone https://github.com/giantpinkrobots/varia
cd varia
meson setup builddir
cd builddir
meson compile
sudo meson install
- Get MSYS2.
- Open the MSYS2 standard shell and update everything before continuing:
pacman -Syyu
- Either clone Varia inside the shell or copy the folder to your MSYS2 home folder and navigate into it:
cd varia
- Run the build script:
./build-for-windows.sh
Or with the updater function enabled: (it just creates an empty file in the dist directory named 'updater-function-enabled')
./build-for-windows.sh -u
Varia will be built into src/dist/variamain. Main executable is variamain.exe.
Please refer to the contributing guide page.
Varia is licensed under the Mozilla Public License 2.0.
But, it also relies on the following pieces of software and libraries:
- aria2
- yt-dlp
- FFmpeg
- OpenSSL
- aria2p
- GTK4
- Libadwaita
- Meson
- Python-appdirs
- Python-certifi
- Python-charset-normalizer
- Python-gettext
- Python-idna
- Python-loguru
- Python-requests
- Python-setuptools
- Python-urllib3
- Python-websocket-client
- python-dbus-next
The licenses of all of these pieces of software can be found in the dependencies_information directory.
The name "Varia" comes from the aria2 software it is based on, and I added a "V" to make it "Varia". In the Metroid series of games, there is a special suit you eventually get named a "Varia Suit" with its main feature being allowing Samus to withstand extreme temperatures. I spent some time thinking about how to connect the Varia Suit to my app, but couldn't, soooo... I think it just sounds cool.