HTTP downloader LinuxSuRen
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
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.