All Projects → tj → Gobinaries

tj / Gobinaries

Licence: mit
Golang binaries compiled on-demand for your system

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Gobinaries

gomakegen
Utility for generating makefiles for Golang applications
Stars: ✭ 16 (-97.62%)
Mutual labels:  golang-tools
go2nix
Reproducible builds and development environment for Go
Stars: ✭ 88 (-86.9%)
Mutual labels:  golang-tools
Go Playground
Better Go Playground powered by React and Monaco editor
Stars: ✭ 354 (-47.32%)
Mutual labels:  golang-tools
n3dr
Nexus3 Disaster Recovery (N3DR) is a tool that is capable of downloading all artifacts from a Nexus3 server and to migrate them to another Nexus3 server. Note that some repository formats are not supported at the moment.
Stars: ✭ 110 (-83.63%)
Mutual labels:  golang-tools
golintui
A simple terminal UI for Go linters
Stars: ✭ 73 (-89.14%)
Mutual labels:  golang-tools
Golang Tutorials
Go Tutorials - Let's get our hands really dirty by writing a lot of Golang code
Stars: ✭ 277 (-58.78%)
Mutual labels:  golang-tools
gotests-vim
Vim plugin for https://github.com/cweill/gotests
Stars: ✭ 129 (-80.8%)
Mutual labels:  golang-tools
Gowrap
GoWrap is a command line tool for generating decorators for Go interfaces
Stars: ✭ 464 (-30.95%)
Mutual labels:  golang-tools
terraform-provider-kubeadm
A Terraform provider/provisioner for deploying Kubernetes with kubeadm
Stars: ✭ 60 (-91.07%)
Mutual labels:  golang-tools
Govalidate
Validates your Go installation and dependencies.
Stars: ✭ 334 (-50.3%)
Mutual labels:  golang-tools
go-masker
Simple utility of creating a mask for sensitive information
Stars: ✭ 54 (-91.96%)
Mutual labels:  golang-tools
goblin
一款适用于红蓝对抗中的仿真钓鱼系统
Stars: ✭ 844 (+25.6%)
Mutual labels:  golang-tools
Go Callvis
Visualize call graph of a Go program using Graphviz
Stars: ✭ 3,692 (+449.4%)
Mutual labels:  golang-tools
GoCurrency
Simple currency converter. Insert an amount, what currency to convert from and what currency to convert to.
Stars: ✭ 29 (-95.68%)
Mutual labels:  golang-tools
Tsukae
🧑‍💻📊 Show off your most used shell commands
Stars: ✭ 345 (-48.66%)
Mutual labels:  golang-tools
brockly
A Visual Go code generator
Stars: ✭ 55 (-91.82%)
Mutual labels:  golang-tools
Goreporter
A Golang tool that does static analysis, unit testing, code review and generate code quality report.
Stars: ✭ 2,943 (+337.95%)
Mutual labels:  golang-tools
Richgo
Enrich `go test` outputs with text decorations.
Stars: ✭ 544 (-19.05%)
Mutual labels:  golang-tools
Iox
Tool for port forwarding & intranet proxy
Stars: ✭ 411 (-38.84%)
Mutual labels:  golang-tools
Gotests
Automatically generate Go test boilerplate from your source code.
Stars: ✭ 3,597 (+435.27%)
Mutual labels:  golang-tools

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/<PKG>[@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/<PKG>[@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:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].