All Projects → dreadl0ck → golang-libs

dreadl0ck / golang-libs

Licence: other
List of awesome golang repositories and useful resources for development

Programming Languages

shell
77523 projects

Golang Libraries

This is my personal list of awesome golang repositories and useful resources for development.

Index

General

Library Collections

Debugging

  • godebug - A cross-platform debugger for Go
  • delve - Debugger for the Go programming language

Web Frameworks

  • lrserver - LiveReload server for Go
  • devd - A local webserver for developers
  • caddy - Fast, cross-platform HTTP/2 web server with automatic HTTPS
  • echo - High performance, minimalist Go web framework
  • hugo - A Fast and Flexible Static Site Generator built with love
  • iris - The fastest web framework for Go in (THIS) Earth. HTTP/2 Ready-To-GO
  • macaron - High productive and modular web framework
  • peach - web server for multi-language, real-time synchronization and searchable documentation
  • beego - open-source, high-performance web framework

Networking

  • emitter-io - High-performance, distributed, and secure publish-subscribe platform built with MQTT.
  • ngrok - Introspected tunnels to localhost
  • doorman - Global Distributed Client Side Rate Limiting
  • meshbird - Distributed private networking
  • serve2d - Protocol detecting server
  • frp - A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet.
  • wuzz - Interactive cli tool for HTTP inspection
  • syncthing - Open Source Continuous File Synchronization
  • hey - HTTP load generator, ApacheBench (ab) replacement, formerly known as rakyll/boom
  • httprouter - A high performance HTTP request router that scales well
  • gorequest - GoRequest -- Simplified HTTP client
  • go-httpclient - Advanced HTTP client for golang
  • gopacket - Provides packet processing capabilities for Go
  • tentacool - REST API to manage Linux networking via netlink
  • grapes - easy way to distribute commands over ssh
  • yamux - Golang connection multiplexing library
  • teleport - Modern SSH server for clusters and teams
  • cors - Go net/http configurable handler to handle CORS requests

Virtualization

  • rkt - pod-native container engine for Linux. It is composable, secure, and built on standards
  • docker - open-source application container engine
  • runc - CLI tool for spawning and running containers according to the OCI specification
  • drone - Continuous Delivery platform built on Docker

JavaScript

  • otto - A JavaScript interpreter
  • go-duktape - Duktape JavaScript engine bindings for Go
  • gopherjs - A compiler from Go to JavaScript for running Go code in a browser
  • jquery - GopherJS Bindings for jQuery

UI

  • trayhost - Cross-platform Go library to place an icon in the host operating system's taskbar
  • systray - Cross platfrom Go library to place an icon and menu in the notification area
  • gxui - An experimental Go cross platform UI library
  • gosx-notifier - Framework for sending desktop notifications to OSX 10.8 or higher
  • expvarmon - TermUI based monitor for Go apps using expvars (/debug/vars). Quickest way to monitor your Go app(s).
  • ui - Platform-native GUI library for Go

Terminal

  • borg - Search and save shell snippets without leaving your terminal
  • termobx-go - Pure Go termbox implementation
  • gocui - Minimalist Go package aimed at creating Console User Interfaces
  • pb - Console progress bar for Golang
  • rgbterm - RGB colors for your terminal
  • uniplot - Makes histograms and barcharts in the terminal
  • readpass - read passwords from the console safely
  • readline - Readline is a pure go(golang) implementation for GNU-Readline kind library
  • go.linenoise - Linenoise is a lightweight readline library.

Fun

Bluetooth

  • goble - Bluetooth Low Energy for Go

Security

  • syzkaller - syzkaller is an unsupervised, coverage-guided Linux system call fuzzer
  • mylg - Network Diagnostic Tool
  • go-scp - Go programming language secure coding practices guide
  • hyperfox - HTTP/HTTPs MITM proxy and traffic recorder with on-the-fly TLS cert generation
  • memguard - A pure Go library for handling sensitive values in memory
  • dissident- An encryption program that prioritises deniability
  • badactor - An in-memory application driven jailer
  • go-yara - Go bindings for YARA
  • passlib - Idiotproof golang password validation library inspired by Python's passlib
  • osxlockdown - Apple OS X tool to audit for, and remediate, security configuration settings
  • vuls - Vulnerability scanner for Linux/FreeBSD, agentless
  • clair - Vulnerability Static Analysis for Containers
  • onionscan - Tool for investigating the Dark Web
  • totp-ssh-fluxer - Take security by obscurity to the next level
  • EasyCert - EasyCert quickly generates web server TLS certificates that have been self-signed by a private certificate authority that it also creates.
  • OpenPortNotifier - Simple tool to monitor network changes over time and trigger alerts
  • NetShield - An Easy and Simple Anti-DDoS solution for VPS,Dedicated Servers and IoT devices - Beta

Logging

Load Testing

  • boom - HTTP(S) load generator, ApacheBench (ab) replacement
  • bombardier - Fast cross-platform HTTP benchmarking tool

Monitoring

  • prometheus - The Prometheus monitoring system and time series database
  • grafana - The tool for beautiful monitoring and metric analytics & dashboards for Graphite, InfluxDB & Prometheus & More
  • procfs - procfs provides functions to retrieve system, kernel and process metrics from the pseudo-filesystem proc

Scheduling

  • scheduler - Job scheduling made easy
  • go-cron - A simple Cron library for go that can execute closures or functions at varying intervals, from once a second to once a year on a specific date and time. Primarily for web applications and long running daemons
  • kala - Modern Job Scheduler
  • kargar - Concurent Task Runner
  • gonzo - File Processing Framework
  • goauto - package for building automation tools

Proxies

  • traefik - Træfɪk, a modern reverse proxy

Markdown

PDF

  • gopdf - A PDF document generator with high level support for text, drawing and images
  • fillpdf - Fill PDF forms

TLS

  • cfssl - Cloudflare's PKI and TLS toolkit
  • lego - Let's Encrypt client and ACME library

Testing

  • go-fuzz - Randomized testing for Go
  • go-check - Rich testing for the Go language
  • goconvey - Go testing in the browser. Integrates with go test. Write behavioral tests in Go
  • ginkgo - BDD Testing Framework for Go

Vendoring

  • godep - dependency tool for go
  • glide - Package Management for Golang
  • dep - Go dependency tool

Containers

  • spec - App Container Specification and Tooling
  • flannel - Network fabric for containers, designed for Kubernetes
  • dry - A Docker container manager for the terminal

Databases

  • bolt - An embedded key/value database for Go
  • god - A Go database
  • troussau - Networked and encrypted key-value database
  • cockroadDB - the open source, cloud-native SQL database
  • badger - Fastest key-value store in Go

Benchmarks

  • gocostmodel - Benchmarks of common basic operations for the Go language
  • GoSpeed - Go micro-benchmarks for calculating the speed of language constructs

Web

  • minify - Go minifiers for web formats
  • negroni - Idiomatic HTTP Middleware for Golang
  • filecache - A simple file cache implementation in Go
  • gowebapp - Basic MVC Web Application in Go
  • cachesrv - Caching version of srvwd
  • seaweedfs - simple and highly scalable distributed file system
  • oauth2_proxy - A reverse proxy that provides authentication with Google, Github or other provider

Miscellaneuos

  • gotomic - Non blocking data structures for Go
  • 2goarray - A simple utility to encode a file (or any other data) into a Go byte array.
  • golang-set - A simple set type for the Go language.
  • raw - A simple library for working with raw Go struct data
  • durafmt - Better time duration formatting in Go
  • go-selfupdate - Enable your Golang applications to self update
  • open-golang - Open a file, directory, or URI using the OS's default application for that object type. Optionally, you can specify an application to use.
  • gox - A dead simple, no frills Go cross compile tool
  • apm - APM is a process manager for Golang applications
  • textsecure - TextSecure client package for Go
  • textsecure-qml - TextSecure UI in Go and QML
  • mitosis - mitosis allows Go applications to easily fork themselves while preserving arbitrary application state and inherit file descriptors.
  • sudolikeaboss - Get 1password access from iterm2
  • biogo - biogo is a bioinformatics library for Go
  • mobile - Go on Mobile
  • stow - Simple object persistence with boltdb
  • boltstore - Session store using Bolt
  • scs - Session management for Go 1.7+
  • wiki - A tiny wiki using Goji, BoltDB and Blackfriday
  • gopsutil - psutil for golang
  • gabs - Handle Dynamic JSON
  • afero - A FileSystem Abstraction System for Go
  • go-coreutils - A cross-platform port of GNU's coreutils to Go
  • gomail - The best way to send emails in Go

Go Code Inspection

  • go-package-store - Go Package Store displays updates for the Go packages in your GOPATH.
  • inspect - small Go package that makes it easy to inspect information about Go source code.
  • errcheck - errcheck checks that you checked errors.
  • gometalinter - Concurrently run Go lint tools and normalise their output

Commandline tools

  • dexec - Command line interface for running code in many languages via Docker
  • httpstat - It's like curl -v, with colors
  • micro - A modern and intuitive terminal-based text editor
  • cobra - A Commander for modern Go CLI interactions
  • gotty - Share your terminal as a web application
  • sloc - Simple Count Lines Of Code
  • wttr.in - The right way to check the weather

Encoding

  • msgpack - MessagePack encoding for Golang
  • protobuf - Go support for Google's protocol buffers

Disassembly

  • gapstone - Go binding for the capstone disassembly library

Exif

  • exif - Golang (Go) bindings for libexif
  • goexif - Decode embedded EXIF meta data from image files

Git

  • gogs - Gogs is a painless self-hosted Git service
  • gittea - A fork of Gogs, entirely community driven

Websockets

  • go-socket - A realtime application framework
  • glue - Robust Go and Javascript Socket Library
  • sacrificial-socket - A Go websocket library with an API similar to Socket.IO

Bindata

  • go.rice - Go package that makes working with resources such as html,js,css,images,templates, etc very easy.
  • go-bindata - A small utility which generates Go code from any file. Useful for embedding binary data in a Go program.
  • go-bindata-assetfs - Serves embedded files from jteeuwen/go-bindata with net/http
  • statics - Embeds static resources into go files for single binary compilation + works with http.FileSystem + symlinks

Bindings

  • go-vlc - Go bindings for libVLC
  • yubigo - Yubigo is a Yubikey client API library that provides an easy way to integrate the Yubico Yubikey into your existing Go-based user authentication infrastructure.
  • coinbase_api - Go interface to the Coinbase API.
  • govix - VMware VIX API for Go
  • qml - QML support for the Go language

Images

  • imageproxy - A caching, resizing image proxy
  • resize - Pure golang image resizing
  • go-nude - Nudity detection with Go

SVG

  • svgo - Library for SVG generation

Audio

  • waveform - Go package capable of generating waveform images from audio streams

MIDI

Synths

  • sigourney - A modular audio synthesizer
  • goop - An audio synthesizer in Go

Hardware

  • go-hardware - A directory of hardware related libs, tools, and tutorials for Go

Maschine Learning

  • bayesian - Naive Bayesian Classification for Golang
  • cloudforest - Ensembles of decision trees in go/golang
  • gobrain - Neural Networks written in go
  • neat - NEAT (NeuroEvolution of Augmenting Topologies) implemented in Go
  • go-neural - Neural network implementation on golang
  • mxnet - Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, Javascript and more

Contact

Something is missing here?

Submit a pull request or contact me: dreadl0ck [at] protonmail [dot] ch

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v2

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
=sBwF
-----END PGP PUBLIC KEY BLOCK-----
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].