HTTP downloader logo

HTTP downloader LinuxSuRen

Use this command to install HTTP downloader:
winget install --id=LinuxSuRen.HTTPdownloader -e

A download tool that is baked for the GitHub release assets.

HTTP Downloader is a specialized download tool designed to streamline the process of downloading assets from GitHub releases. It offers a straightforward and efficient way to manage downloads directly from GitHub repositories.

Key Features:

  • Parallel Downloads: Download multiple files simultaneously for faster access to your required assets.
  • Resume Capable: Restart interrupted downloads without starting over, ensuring reliable completion even with unstable connections.
  • Automatic Extraction: Automatically extract downloaded archives (e.g., ZIP or TAR) to save time and effort.

Audience & Benefit:
Ideal for developers, DevOps engineers, and anyone frequently interacting with GitHub releases, HTTP Downloader simplifies the process of obtaining project dependencies or tools. Its automation features reduce manual intervention, while its reliability ensures seamless asset retrieval. The tool can be installed via winget, making it easy to integrate into your workflow.

README

Gitpod ready-to-code Codacy Badge Codacy Badge codecov Contributors GitHub release GitHub All Releases LinuxSuRen/open-source-best-practice

Get started

hd is a HTTP download tool.

Install it via: brew install linuxsuren/linuxsuren/hd

Or download it directly (for Linux):

curl https://linuxsuren.github.io/tools/install.sh|bash

Or download it via proxy:

curl https://gitee.com/linuxsuren/tools/raw/master/install-zh.sh|bash

for Windows users (you might need to add this program into the Windows Defence exclude list):

winget install 'HTTP downloader'

Want to go through the code? GitPod definitely can help you.

Usage

Download

hd get https://github.com/jenkins-zh/jenkins-cli/releases/latest/download/mde-linux-amd64.tar.gz --thread 6

Or use a simple way instead of typing the whole URL:

hd get mde

Or you might want to download a pre-released binary package from GitHub:

hd get --pre ks

Install

You can also install a package from GitHub:

#!title: Install mde with specific threads
hd install mde -t 6

or install by a category name:

hd install --category security

Search

hd can download or install via the format of $org/$repo. If you find that it's not working. It might because of there's no record in hd-home. You're welcome to help us to maintain it.

When you first run it, please init via: hd fetch

then you can search it by a keyword: hd search jenkins

Use multi-stage builds

Do you want to download tools in the Docker builds? It's pretty easy. Please see the following example:

FROM ghcr.io/linuxsuren/hd:v0.0.42 as downloader
RUN hd install kubesphere-sigs/ks@v0.0.50

FROM alpine:3.10
COPY --from=downloader /usr/local/bin/ks /usr/local/bin/ks
CMD ["ks"]

As a library

You can import it from github.com/linuxsuren/http-downloader/pkg/installer, then put the following code to your CLI. It can help you to download desired tools:

is := installer.Installer{
    Provider: "github",
}
if err = is.CheckDepAndInstall(map[string]string{
    "ks": "linuxsuren/ks",
    "kk": "kubekey",
}); err != nil {
    return
}

Install other services

It supports to install other services, for example: bitbucket.

hd install bitbucket

Features

  • go library for HTTP
  • multi-thread
  • continuously (TODO)
  • GitHub release asset friendly

Release

This project can be released via linuxsuren-versions.

Visitor Count

Versions
0.0.89
0.0.84
0.0.83
0.0.76
0.0.70
0.0.67
0.0.64
0.0.60
0.0.58
0.0.57
Website
License