Code Monkey home page Code Monkey logo

drifty's Introduction

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 ๐Ÿ”ฅ

  • Drifty is an open-source interactive File Downloader system built using Java.
  • It is both available in Command-line Interface (CLI) and Graphical User Interface (GUI) mode.

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

GUI.mp4

Drifty CLI

CLI.mp4

Tech Stack

The Application Drifty is built using the following technologies :

  • Java - A programming language for building machine independent applications.

The Website of Drifty is built using the following technologies :

  • Next.js - A JavaScript framework for building server-rendered React applications.
  • Tailwind CSS - A utility-first CSS framework.

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. ๐ŸŽ‰

    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 ๐Ÿ‹

Important

  • 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.
  • 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 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 [email protected]: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:

  • Click on the three dots.
  • Click on keep.

image

  • Click Show More.
  • Click Keep anyway.

image

  • Now it is downloaded, you can proceed.๐ŸŽ‰

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:

  • Click on three dots.
  • Click on Report this file as safe instead of clicking on Keep.

image

  • It will take you to Report a download page. You can provide your feedback there.๐Ÿ˜„

Safety warning โš ๏ธ while Installing

  • For Windows, click on More Info and then Run Anyway as present in the screen below:
    Windows Defender - More Info screen Windows Defender - Run Anyway screen
  • For macOS, click on OK and run sudo spctl --master-disable in your terminal to allow running unsigned apps. Try running Drifty again.
    gatekeeper

Contributing to the project

  • We welcome ๐Ÿค your contributions to this Open-Source project.
  • Please check the Contributing Guidelines and the Roadmaps for ways to get involved.
  • You can also open an issue to report a bug ๐Ÿ›, request a feature ๐Ÿ’ก, or suggest an improvement ๐Ÿ“ˆ.
  • Please follow this project's Code Of Conduct to maintain a respectful and inclusive environment.
  • Please note that this project uses Semantic Versioning for its releases.
  • Join our Discord Server to stay updated on this project and chat ๐Ÿ’ฌ with the maintainer and the other contributors.

Stats ๐Ÿ“Š

Repo analysis

Support ๐Ÿ™

Please leave a star โญ on this project to support us.

Thanks to all the contributors โค๏ธ

Contributors' gallery at a glance

drifty's People

Contributors

saptarshisarkar12 avatar easyg0ing1 avatar dependabot[bot] avatar anurag-bharati avatar naveen13-06 avatar im-techno avatar redet-g avatar poshi1865 avatar kb-s avatar bharathkalyans avatar shashwat0227 avatar akshatjaiswal5 avatar iryanraushan avatar divyanshiet avatar thexahmed00 avatar khushigarg1 avatar waxer59 avatar bhumika-1-3 avatar akash190104 avatar anshulsoni4 avatar sujalsamai avatar dependabot-preview[bot] avatar itshypon avatar amans369 avatar m9m avatar sreevyshnavi02 avatar nitesh232 avatar bosesj avatar pargat-dhanjal avatar krishnansh5 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.