SaptarshiSarkar12 / Drifty

Drifty is an Open-Source Interactive File Downloader System built with Java
https://saptarshisarkar12.github.io/Drifty/
Apache License 2.0
179 stars 129 forks source link
cli collaborate desktop-application filedownloader github github-pages graalvm gui hacktoberfest java javafx jetbrains nextjs open-for-contribution open-source open-source-project utility

Drifty Banner with App Icon

Release Version License Total No. Of Downloads of Drifty

Build Workflow Status GitHub Pages Deployment Status

GitHub Stargazers for Drifty Follow us on Twitter Discord Server

About 🔥

Demo 🎥

See the video below to know how to use the application. For any help, you can open an issue.

For Batch Downloading via Drifty CLI, the path to a YAML file has to be provided to it. It should have the following structure :

links: ["", ""] # [REQUIRED] - Links to the files to be downloaded
# Below parameters are OPTIONAL
fileNames: [""] # Will be auto-retrieved if not provided
# If the directory is not provided, the files will be downloaded in the default downloads folder.
directory: [""] # Use 'directory' when all the files to be downloaded in the same folder.
directories: [""] # Use 'directories' when the download folder is different for each of the files

Drifty GUI

https://github.com/SaptarshiSarkar12/Drifty/assets/105960032/aa7ea548-f312-4345-a053-d3ee13e67c8e

Drifty CLI

https://github.com/SaptarshiSarkar12/Drifty/assets/105960032/8a32ca07-1922-4c21-895d-44164bec9d76

Tech Stack 🛠️

The Application Drifty is built using the following technologies :

The Website of Drifty is built using the following technologies :

Join the Drifty Testing Program 🚀

Drifty is released in 4 phases, namely Alpha, Beta, Release Candidate, and Stable. If you want to test the unstable (Alpha or Beta) or the mostly stable versions (Release Candidate), you can download the executables for the respective phases from the Drifty website or try the Docker images for the respective phases.
If you find any issues during the testing period, please open an issue or join our Discord Server to share your feedback.

Quickstart 🚀🚀

For Users :

Using Drifty Application executable 📦

  1. Visit the Drifty website

    Homepage of Drifty Website

  2. Click on Download

    Download Button in Drifty Website pointed out

  3. Choose the Application Type from the dropdown menu (Default option is GUI). To download Drifty CLI, select CLI and to download Drifty GUI, select GUI. Then, click on the Download Now button based on your Operating System (Windows, Linux, macOS). For Windows user, there is an MSI file available for Drifty GUI. You can click on the Prefer the msi? text to download the latest MSI file 🎉. If you want to test the unstable (Alpha or Beta) or the mostly stable versions (Release Candidate), you can click on the download button of the respective phase.

    Download Webpage of Drifty

  4. Navigate to the Downloads folder and execute the downloaded file. If you are installing Drifty GUI, complete the steps in the macOS or Windows MSI installer wizard that appears on your screen.

  5. Check out the Demo section for examples of how to use the application.

  6. If you like the project, please leave a star on GitHub.

  7. For any issues or feature requests, you can join our Discord Server and share your feedback.

Using Drifty Application via Docker 🐋

[!TIP]

  • To download files to a specific local directory, you need to mount that directory as a volume for Drifty. For example, if you want to download the file to your home/username/Downloads directory, then, you need to use the volume flag -v /home/username/Downloads:/root/Downloads with the docker command.
  • You can also mount -v /home/username/.drifty:/root/.drifty to enable the docker container to store Drifty's data in your local directory, which will make Drifty initialize much faster 🚀⚡.
  • For Linux, we recommend using Docker Engine directly instead of running images with Docker Desktop. To do this, add sudo before the docker commands.
  • If you want to try unstable (Alpha or Beta) [Alpha releases are not available as of now] or the mostly stable versions (Release Candidate), you need to use the respective docker image tags. For example, to use the Beta version of Drifty, you need to use the docker image tag beta like ghcr.io/saptarshisarkar12/drifty-cli:beta or ghcr.io/saptarshisarkar12/drifty-gui:beta.

[!IMPORTANT]

  • To run Drifty GUI docker image, you need to do the following 👇
    • For Linux and Windows, please run xhost +local:docker before running the GUI docker image.
    • For macOS, please follow these instructions.
  1. Pull the Docker image for Drifty using the below command -
    For Drifty CLI,
    docker pull ghcr.io/saptarshisarkar12/drifty-cli:master

    For Drifty GUI,

    docker pull ghcr.io/saptarshisarkar12/drifty-gui:master
  2. Run the docker image using the below command -
    For Drifty CLI,
    docker run ghcr.io/saptarshisarkar12/drifty-cli:master

    For Drifty GUI,

    docker run -e DISPLAY=$DISPLAY --net=host -v /tmp/.X11-unix:/tmp/.X11-unix ghcr.io/saptarshisarkar12/drifty-gui:master
  3. Drifty will open, and you can now use it 🎉!

For Contributors :

  1. Go to the project link on GitHub, fork this repository and clone your fork into your local directory by running this command in your terminal.
    git clone git@github.com:SaptarshiSarkar12/Drifty.git

    Clone Drifty

  2. Open an issue ❕ describing the changes you want to make.

  3. Make the changes in an IDE (preferably Intellij Idea) and open a Pull Request. Ensure that you have linked the issue to the Pull Request.
  4. The Pull Request will be reviewed by the maintainers and merged if approved. ✔

  5. Leave a star ⭐ on GitHub if you liked the project.
  6. You may join our Discord Server to discuss on the changes that you want to bring.

Using Docker 🐋 for Development 🛠️

[!IMPORTANT]
For Linux and Windows, please run xhost +local:docker before running the GUI docker image.
For macOS, please follow these instructions to run Drifty GUI docker image.

  1. To start Drifty GUI and Drifty CLI with your modified source code, run docker compose run gui and docker compose run cli respectively.
  2. The Drifty app will show up on the screen, and you can test it 🎉!

Safety warning ⚠️ while Downloading ⬇️

image

It is because Microsoft Defender could not verify it is safe as it is not commonly downloaded. Feel free to proceed with the following steps:

Report the file as safe ✔️

You can also provide your feedback to Microsoft Defender by reporting it to be Safe, by following the below steps:

Safety warning ⚠️ while Installing

Contributing to the project 🤝

Stats 📊

Repo analysis

Support 🙏

Please leave a star ⭐ on this project to support us.

Thanks to all the contributors ❤️

Contributors' gallery at a glance