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|sh
Or download it via proxy:
curl -L https://ghproxy.com/https://github.com/linuxsuren/http-downloader/releases/latest/download/hd-linux-amd64.tar.gz | tar xzv hd
mv hd /usr/bin/hd
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/jcli-linux-amd64.tar.gz --thread 6
Or use a simple way instead of typing the whole URL:
hd get jcli
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:
hd install jcli -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.