Skip to content

Smart File Downloader [SFD] is a Concurrent File Downloader runs on terminal

License

Notifications You must be signed in to change notification settings

Aryagorjipour/SFD

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SFD (Smart File Downloader)

License GitHub Workflow Status GitHub tag (latest by date)

A command-line application written in Go that allows users to download multiple files concurrently with features like pausing, resuming, and canceling downloads.

Features

  • Concurrent Downloads: Download multiple files simultaneously using goroutines.
  • Progress Tracking: Real-time display of download progress for each file.
  • Pause/Resume: Ability to pause and resume individual downloads.
  • Cancel Downloads: Option to cancel ongoing downloads.
  • Configurable: Customize download directory and maximum concurrent downloads via configuration.

Installation

  1. Clone the Repository:

    git clone https://github.com/Aryagorjipour/SFD.git
    cd SFD
  2. Build the Application:

    ./scripts/build.sh

    The executable will be located at ./bin/downloader.

Usage

./bin/downloader [download_directory]
  • Example:
    ./bin/downloader ./my_downloads
  • Commands

    • Download a file:
    download <URL>
    • List all downloads:
    list
    • Pause a download:
    pause <ID>
    • Resume a download:
    resume <ID>
    • Cancel a download:
    cancel <ID>
    • Exit the application:
     exit

Configuration

Modify the configs/config.yaml file to customize settings:

download_directory: "./downloads"
max_concurrent_downloads: 5

Testing

Run tests using the following command:

go test ./tests/...

Contributing

Contributions are welcome! Please open an issue or submit a pull request for any improvements or bug fixes.

License

MIT License © 2024 Aryagorjipour

About

Smart File Downloader [SFD] is a Concurrent File Downloader runs on terminal

Topics

Resources

License

Stars

Watchers

Forks