grd

Crates.iogrd
lib.rsgrd
version0.2.4
created_at2026-01-17 05:51:26.389526+00
updated_at2026-01-18 15:40:36.660258+00
descriptionA command-line tool to download and install binaries from GitHub releases.
homepagehttps://github.com/lucidfrontier45/grd
repositoryhttps://github.com/lucidfrontier45/grd
max_upload_size
id2050018
size649,183
杜世橋 Du Shiqiao (lucidfrontier45)

documentation

README

Logo

GitHub Release Downloader

A command-line tool to download and install binaries from GitHub releases.

Installation

From crates.io

If published on crates.io:

cargo install grd

From source

Ensure you have Rust installed, then:

cargo install --path .

Prebuilt binaries

Download from releases.

Usage

Download the latest release of a repository:

grd owner/repo

Download a specific version:

grd owner/repo --tag v1.0.0

List available versions:

grd owner/repo --list

Specify destination directory:

grd owner/repo --destination /usr/local/bin

Set a custom memory limit (e.g., 50MB):

grd owner/repo --memory-limit 52428800

Memory Usage

  • Downloads smaller than the memory limit are loaded entirely into RAM for processing.
  • Larger downloads use temporary files to avoid excessive memory consumption.
  • The default limit is 100MB, but can be adjusted with --memory-limit.

Options

  • repo: GitHub repository (owner/repo)
  • --tag: Specific version tag (defaults to latest)
  • --list: List available releases
  • --destination: Destination directory (default: current directory)
  • --bin-name: Override executable name
  • --first: Select first matching asset without prompting
  • --exclude: Comma-separated words to exclude from asset matching
  • --no-decompress: Save downloaded file without decompressing/extracting it
  • --memory-limit: Memory limit in bytes; downloads larger than this use temp files (default: 104857600, i.e., 100MB)

Building

cargo clippy
cargo test
cargo build --release
Commit count: 18

cargo fmt