Need help with gobinaries?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

tj
635 Stars 17 Forks MIT License 22 Commits 19 Opened issues

Description

Golang binaries compiled on-demand for your system

Services available

!
?

Need anything else?

Contributors list

No Data

Go Binaries

Go Binaries is an on-demand binary server, allowing non-Go users to quickly install tools written in Go without installing

go
itself, and removing the burden of cross-compiling and uploading dozens of binaries for every command-line you write.

On-demand Go binary example

Usage

Install

PKG
with optional semver
VERSION
.
curl -sf https://gobinaries.com/[@VERSION] | sh

Install

PKG
with optional semver
VERSION
to the given directory
PREFIX
. By default
/usr/local/bin
is used.
curl -sf https://gobinaries.com/[@VERSION] | PREFIX=/tmp sh

The

github.com
path prefix is optional.

Examples

Install the

hey
HTTP benchmarking tool:
curl -sf https://gobinaries.com/rakyll/hey | sh

Install the

wuzz
HTTP client:
curl -sf https://gobinaries.com/asciimoo/wuzz | sh

Install the latest version of

staticgen
:
curl -sf https://gobinaries.com/tj/staticgen/cmd/staticgen | sh

Install the latest

1.x
major version of
staticgen
:
curl -sf https://gobinaries.com/tj/staticgen/cmd/[email protected] | sh

Install the

v1.0.0
version of
triage
:
curl -sf https://gobinaries.com/tj/triage/cmd/[email protected] | sh

Semver support

The following semver patterns are supported:

  • Exact version:
    v1.2.3
    ,
    1.2.3
  • Wildcards:
    v1.x
    ,
    v1.2.x
    ,
    1.x
    ,
    1.2.x
  • Wildcards (implicit):
    v1
    ,
    v1.2
    ,
    1.2
  • Leading
    v
    is optional, regardless of the Git tag

How does it work?

Take for example you want to install @rakyll's fantastic HTTP benchmarking tool hey, to install the latest release you would run:

curl -sf https://gobinaries.com/rakyll/hey | sh

This request fetches the latest tag from GitHub and responds with a shell script which performs a second request, populated with the resolved version and architecture as shown here:

https://gobinaries.com/binary/github.com/rakyll/hey?os=darwin&arch=amd64&version=v0.1.3

The response of this request is a Golang binary compiled for the requested os, architecture, and package version. The result is cached in a CDN for subsequent requests.

Limitations

  • The Go package must compile in under 100 seconds (CDN limitation)
  • The Go package must have at least one Git tag

FAQ

What's wrong with go-get? Using go-get for installation is fine if you're a Go user, however, if you're creating programs which are designed to be used by a wider audience it's unlikely they will have Go installed.
Which version of Go is used? Currently Go 1.13.x via the official golang:1.13 Docker image.

GoDoc

Sponsors

Sponsors

This project is sponsored by CTO.ai, making it easy for development teams to create and share workflow automations without leaving the command line.

And my GitHub sponsors:

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.