https://github.com/tj/gobinaries
Golang binaries compiled on-demand for your system
https://github.com/tj/gobinaries
cross-compilation golang golang-tools
Last synced: 10 months ago
JSON representation
Golang binaries compiled on-demand for your system
- Host: GitHub
- URL: https://github.com/tj/gobinaries
- Owner: tj
- License: mit
- Created: 2019-12-31T12:35:18.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2021-11-08T19:59:29.000Z (over 4 years ago)
- Last Synced: 2025-04-12T17:46:28.768Z (11 months ago)
- Topics: cross-compilation, golang, golang-tools
- Language: Go
- Homepage: https://gobinaries.com/
- Size: 211 KB
- Stars: 822
- Watchers: 8
- Forks: 32
- Open Issues: 25
-
Metadata Files:
- Readme: Readme.md
- Changelog: History.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- go-awesome - gobinaries - 不用安装Go就能编译安装Go编写的程序 (开源类库 / 构建编译)
- go-awesome - gobinaries - Compile and install programs written in Go without installing Go (Open source library / Build And Compile)
- awesome-github-star - gobinaries - demand for your system | tj | 779 | (Go)
- awesome-repositories - tj/gobinaries - Golang binaries compiled on-demand for your system (Go)
README
# Go Binaries
[Go Binaries](https://gobinaries.com/) 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.

## 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:
```sh
curl -sf https://gobinaries.com/rakyll/hey | sh
```
Install the `wuzz` HTTP client:
```sh
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/staticgen@1.x | sh
```
Install the `v1.0.0` version of `triage`:
```
curl -sf https://gobinaries.com/tj/triage/cmd/triage@1.0.0 | 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](https://gobinaries.com/rakyll/hey), to install the latest release you would run:
```sh
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.
---
[](https://godoc.org/github.com/tj/bins)



## Sponsors
## Sponsors
This project is sponsored by [CTO.ai](https://cto.ai/), making it easy for development teams to create and share workflow automations without leaving the command line.
[](https://cto.ai/)
And my [GitHub sponsors](https://github.com/sponsors/tj):
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/0)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/1)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/2)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/3)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/4)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/5)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/6)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/7)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/8)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/9)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/10)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/11)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/12)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/13)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/14)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/15)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/16)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/17)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/18)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/19)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/20)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/21)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/22)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/23)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/24)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/25)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/26)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/27)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/28)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/29)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/30)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/31)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/32)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/33)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/34)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/35)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/36)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/37)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/38)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/39)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/40)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/41)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/42)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/43)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/44)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/45)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/46)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/47)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/48)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/49)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/50)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/51)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/52)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/53)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/54)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/55)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/56)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/57)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/58)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/59)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/60)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/61)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/62)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/63)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/64)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/65)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/66)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/67)
[
](https://sponsors-api-u2fftug6kq-uc.a.run.app/sponsor/profile/68)