Skip to content

thedevsaddam/dl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

06ea8c8 · Nov 8, 2021

History

39 Commits
Nov 3, 2021
Oct 29, 2021
Nov 3, 2021
Nov 3, 2021
Nov 3, 2021
Oct 29, 2021
Nov 8, 2021
Nov 5, 2021
Oct 29, 2021
Nov 3, 2021
Nov 8, 2021
Oct 29, 2021
Oct 29, 2021
Oct 29, 2021
Nov 3, 2021
Nov 3, 2021
Oct 30, 2021
Oct 29, 2021
Nov 8, 2021
Nov 8, 2021
Nov 3, 2021
Oct 29, 2021
Oct 29, 2021

Repository files navigation

DL

Command-line file downloader tool

Usage

$ dl -u https://www.url.com/foo.ext

Example screenshots

Installation on Mac/Linux

curl https://raw.githubusercontent.com/thedevsaddam/dl/main/install.sh -o install.sh \
&& chmod +x install.sh \
&& ./install.sh \
&& rm install.sh

Uninstallation

curl https://raw.githubusercontent.com/thedevsaddam/dl/main/uninstall.sh -o uninstall.sh \
&& chmod +x uninstall.sh \
&& ./uninstall.sh \
&& rm uninstall.sh

Windows

For windows download the binary and set environment variable so that you can access the binary from terminal

Download Binary

Download options

$ dl -u https://www.url.com/foo.ext
# or with concurrency
$ dl -u https://www.url.com/foo.ext -c 10
# with debug mode enabled (if you are curious!)
$ dl -u https://www.url.com/foo.ext -c 10 -d
# with custom output file name
$ dl -u https://www.url.com/foo.ext -c 10 -d -n bar.ext

Configurations

Setup destination directory

# set current directory path as destination directory
$ dl config -p .
# or set other directory
$ dl config -p $HOME/Downloads

Note: If you have destination directory set then all files automatically will be saved there. If you want to override on the fly then use -p . flag to download in the current directory. By default the destination directory value is empty that means the file will be downloaded in the current directory.

Setup sub-directory/extensions

Note: If destination directory is not set then the sub-directory/extensions will NOT WORK

# set sub-directory based on extensions
# this will create a "binary" diectory inside root directory. 
# all downloads with .exe, .dmg extensions will be stored there
$ dl config -s "binary:.exe,.dmg"

Setup concurrency

# default concurrency is 5, you can set default value by passing -c flag in config
$ dl config -c 10

Default configurations

config.json
{
	"auto_update":true,
	"directory":"",
	"concurrency":5,
	"sub_dir_map":{
		"audio":[
			".aif",
			".cda",
			".mid",
			".midi",
			".mp3",
			".mpa",
			".ogg",
			".wav",
			".wma",
			".wpl"
		],
		"document":[
			".xls",
			".xlsm",
			".xlsx",
			".ods",
			".doc",
			".odt",
			".pdf",
			".rtf",
			".tex",
			".txt",
			".wpd",
			".md"
		],
		"image":[
			".ai",
			".bmp",
			".ico",
			".jpeg",
			".jpg",
			".png",
			".ps",
			".psd",
			".svg",
			".tif",
			".tiff"
		],
		"video":[
			".3g2",
			".3gp",
			".avi",
			".flv",
			".h264",
			".m4v",
			".mkv",
			".mov",
			".mp4",
			".mpg",
			".mpeg",
			".rm",
			".swf",
			".vob",
			".wmv"
		]
	}
}

Contribution

Your suggestions will be more than appreciated. Read the contribution guide here

See all contributors

License

The dl is an open-source software licensed under the MIT License.