LinuxCommandLibrary

eget

Download files from the internet

TLDR

Download a prebuilt binary for the current system from a repository on GitHub

$ eget [zyedidia/micro]
copy

Download from a URL
$ eget [https://go.dev/dl/go1.17.5.linux-amd64.tar.gz]
copy

Specify the location to place the downloaded files
$ eget [zyedidia/micro] --to [path/to/directory]
copy

Specify a Git tag instead of using the latest version
$ eget [zyedidia/micro] [[-t|--tag]] [v2.0.10]
copy

Install the latest pre-release instead of the latest stable version
$ eget [zyedidia/micro] --pre-release
copy

Only download the asset, skipping extraction
$ eget [zyedidia/micro] [[-d|--download-only]]
copy

Only download if there is a newer release then the currently downloaded version
$ eget [zyedidia/micro] --upgrade-only
copy

SYNOPSIS

eget [OPTIONS] <OWNER/REPO> [<ASSET>]

PARAMETERS

-a, --asset GLOB
    Asset name glob pattern to match

-f, --filename NAME
    Save file as this name (default: asset name)

-o, --output DIR
    Output directory (default: current ".")

-r, --release TAG
    Specific release tag (default: latest)

--arch ARCH
    Override architecture (default: runtime, e.g., amd64)

--os OS
    Override OS (default: runtime, e.g., linux)

--url
    Print asset URL only, skip download

-H, --header NAME=VALUE
    Extra HTTP headers (e.g., for auth tokens)

DESCRIPTION

eget is a simple, Go-based CLI tool that automates fetching binary assets from GitHub release pages. It eliminates manual browsing by querying the GitHub API, matching assets to your OS and architecture (auto-detected via GOOS/GOARCH), and downloading the best fit.

Specify an owner/repo like zed-industries/zed, optionally filter by release tag, asset glob, or override platform. If no asset name is given, it intelligently selects one matching *-{os}-*-{arch}*. Supports saving to custom directories/filenames and printing URLs only.

Ideal for shell scripts, CI pipelines, or one-off installs—e.g., self-bootstrapping binaries. No auth needed for public repos; add headers for private ones. Fast, single-binary distribution makes it portable across Linux, macOS, Windows.

CAVEATS

Public repos only by default; private require GitHub token via -H Authorization: token.... No progress bar on small files. Assumes GitHub API availability.

EXAMPLES

eget zed-industries/zed
eget -r v0.1.0 zed-industries/zed 'zed-*-linux-amd64.tar.bz2'
eget --url zigtools/zig zig-linux-x86_64.tar.xz

INSTALLATION

go install github.com/zed-industries/eget@latest
Or eget zed-industries/eget

HISTORY

Created in 2021 by Daniel Mills (@drmills) for Zed editor project. Gained traction via Go ecosystem; install via go install or self-fetch from zed-industries/eget. Actively maintained.

SEE ALSO

curl(1), wget(1), gh(1)

Copied to clipboard