Share Your Code.. Share your most unique piece of Go code.

This page summarizes the projects mentioned and recommended in the original post on /r/golang

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • lrpc

    Discontinued Simple, lightweight, multi-codec RPC library for Go.

  • lrpc: Simple RPC framework (used in ITD): https://gitea.arsenm.dev/Arsen6331/lrpc

  • errors

    Error module for Go (by primalskill)

  • Yet another error module I created at my company: https://github.com/primalskill/errors

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • krakend-ce

    KrakenD Community Edition: High-performance, stateless, declarative, API Gateway written in Go.

  • KrakenD and Lura https://github.com/krakendio/krakend-ce https://github.com/luraproject/lura

  • KrakenD

    Ultra performant API Gateway with middlewares. A project hosted at The Linux Foundation

  • KrakenD and Lura https://github.com/krakendio/krakend-ce https://github.com/luraproject/lura

  • simplefeatures

    Simple Features is a pure Go Implementation of the OpenGIS Simple Feature Access Specification

  • I'm the primary author of https://github.com/peterstace/simplefeatures. It's a library that provides types and algorithms that operate on 2D geometries.

  • geos

    Geometry Engine, Open Source

  • It has the same purpose as [libgeos](https://libgeos.org/) but is implemented in Go rather than in C/C++. The primary use case is to reduce CGO dependencies while working with Go!

  • dynaQ

    An extension for Go's sql package in the standard library to support dynamic queries directly from the database, as well as on individual database connections

  • I wouldn’t consider it idiomatic Go (and not something I recommend for use in production), but for fun, I built dynaQ (an abbreviation for dynamic querier) as a PoC of an extension to the database/sql core package erasing the need to model your DB results or use an ORM. There’s minimal reflection used to keep things performant, you can pass in an option whenever creating the new dynamic querier to auto-detect a time value from your database with a custom format (or take it’s default), and more.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • go-c2dmc

    A Go package for converting RGB and other color formats/colorspaces into DMC thread colors (DMC color name and floss number)

  • I also built go-c2dmc, a package utilizing the go-colorful library to compute the nearest-matching DMC thread (thread for sewing, cross stitching, etc.) color to RGB and other color-space values (such as LAB and HSV). I haven’t touched it in quite some time, but I’m also planning on adding the ability to select from pre-defined color pallets to match to, as well as creating custom color pallets to match to.

  • go-colorful

    A library for playing with colors in go (golang).

  • I also built go-c2dmc, a package utilizing the go-colorful library to compute the nearest-matching DMC thread (thread for sewing, cross stitching, etc.) color to RGB and other color-space values (such as LAB and HSV). I haven’t touched it in quite some time, but I’m also planning on adding the ability to select from pre-defined color pallets to match to, as well as creating custom color pallets to match to.

  • satsolver

    A simple boolean satisfiability solver that uses DPLL

  • I wanted to explore some computer science topics in my spare time so I wrote a boolean satisfiability solver: https://github.com/Harrison-Miller/satsolver

  • packetizer

    Generate Arbitrary Packets in Golang

  • A library I wrote to generate raw packets that you can send over the wire. Using it to build a pen testing tool. https://github.com/charles-d-burton/packetizer

  • new

    A helper function to create a pointer to a new object in Go 1.18+

  • env

    🔍 Load environment variables into a config struct (by go-simpler)

  • Yet another config loader I've built for 12factor apps: https://github.com/junk1tm/env

  • aio

    Read, Write and Play Audio using FFmpeg, FFprobe and FFplay. (by AlexEidt)

  • I made an FFmpeg CLI wrapper for Audio I/O and playback: https://github.com/AlexEidt/aio

  • groundup

  • errors

    Go stdlib errors package extension. (by tlog-dev)

  • I have errors too ) https://github.com/nikandfor/errors

  • loc

    fast runtime.Caller (by tlog-dev)

  • Fast and more convenient alternative to runtime.Caller https://github.com/nikandfor/loc

  • gofwd

    A cross-platform TCP port forwarder with Duo 2FA and Geo-IP integration

  • most unique: gofwd - A cross-platform TCP port forwarder with Duo 2FA and Geo-IP integration

  • geodist

    Golang package to compute the distance between two geographic latitude, longitude coordinates

  • most popular: geodist - package to compute the distance between two geographic latitude, longitude coordinates

  • FuncFrog

    Stream api (kind of) implementation for go, other useful functions and packages to use go in a functional way

  • Java Stream API - like library for Go (it also provides fast parallel slice sort) https://github.com/koss-null/lambda

  • go-srpc

    Simple streaming RPC for Golang.

  • simple streaming RPC https://github.com/hsfzxjy/go-srpc

  • pipe

    Versatile channel transformers for Golang. (by hsfzxjy)

  • versatile channel transformers https://github.com/hsfzxjy/pipe

  • dgo

    Efficient, error-free and high-level library for Dart <-> Go interops. (by hsfzxjy)

  • library for Go and Dart interop, still under construction :) https://github.com/hsfzxjy/dgo

  • itd

    A daemon that interacts with the InfiniTime firmware for PineTime. Currently the most feature-complete companion for Linux.

  • lure

    The community repository missing from your Linux distro

  • pcre

    Pure-Go port of the PCRE2 regular expression engine.

  • I

    Make CLIs into GUIs in the Acme editor

  • https://github.com/hherman1/I makes arbitrary CLIs into functional TUIs by integrating with the Acme editor

  • vertex

    Serverless GraphQL API Gateway

  • harlock

    A small language with first-class support for hex/elf binary data manipulation

  • errbox

    Package errbox provides errors with stack trace, which can also be groupped (boxed) and processed later.

  • stringdedup

    String deduplication package for Go

  • pebble

  • goGetJS

    a tool for extracting, searching, and saving JavaScript files (with optional headless browser)

  • ghost

    Discontinued Use ghost for passive recon: get the Wayback Machine history for a URL, search for term(s) or regular expression matches, save all archived links, save an archived robots.txt and sitemap.xml, run a whois lookup, and get IP addresses, all without touching the target. (by davemolk)

  • go-simpex

    A simpler and faster alternative to regexp

  • I created a simpler and faster alternative to regexp, called simpex: https://github.com/tobiassjosten/go-simpex

  • inigo

    simple go ini parser (by husseinamine)

  • A simple .ini (config file) parser (ik this is not that unique) https://github.com/shawarmaje/ini.go

  • fibratus

    A modern tool for Windows kernel exploration and tracing with a focus on security

  • CPython bindings to spawn a full-fledged Python interpreter and permit interaction with the PVM. https://github.com/rabbitstack/fibratus/blob/master/pkg/filament/filament.go

  • go-typescript

    Compile and run Typescript code natively in Go

  • A pure-Go wrapper around Goja (also pure Go) that allows you to transpile and execute Typescript code. It even has support for AMD-style Javascript modules. https://github.com/clarkmcc/go-typescript

  • spidy

    Domain names collector - Crawl websites and collect domain names along with their availability status. (by twiny)

  • 1 - Expired domain scrapper => https://github.com/twiny/spidy 2 - A sample & efficient web crawler => https://github.com/twiny/wbot 3 - A mini blockchain scanner => https://github.com/twiny/blockscan 4 - A Snake Game => https://github.com/twiny/snaky

  • wbot

    A simple & efficient web crawler.

  • 1 - Expired domain scrapper => https://github.com/twiny/spidy 2 - A sample & efficient web crawler => https://github.com/twiny/wbot 3 - A mini blockchain scanner => https://github.com/twiny/blockscan 4 - A Snake Game => https://github.com/twiny/snaky

  • blockscan

    a mini blockchain scanner

  • 1 - Expired domain scrapper => https://github.com/twiny/spidy 2 - A sample & efficient web crawler => https://github.com/twiny/wbot 3 - A mini blockchain scanner => https://github.com/twiny/blockscan 4 - A Snake Game => https://github.com/twiny/snaky

  • snaky

    snake game implementation using 2d array in Go

  • 1 - Expired domain scrapper => https://github.com/twiny/spidy 2 - A sample & efficient web crawler => https://github.com/twiny/wbot 3 - A mini blockchain scanner => https://github.com/twiny/blockscan 4 - A Snake Game => https://github.com/twiny/snaky

  • ytcast

    cast YouTube videos to your smart TV from command-line

  • full-house

    A simple web based Planning Poker implementation.

  • delayq

    DelayQ is a Go library that provides a performant, reliable, distributed delay-queue using Redis.

  • most useful: https://github.com/spy16/delayq (used in production as the backbone for a distributed crontab system with 50 million active schedules)

  • slurp

    Slurp is a highly customisable LISP toolkit for Go applications. 💻 (by spy16)

  • Coolest: https://github.com/spy16/slurp (a lisp scripting layer for Go. I went through Clojure compiler codebase for this one)

  • file-type-stream-go

    Detect file types–extensions and mime–using magic numbers

  • file-type-stream-go detects the file type by reading a file (from an io.Reader stream). Port of the file-type library from JS.

  • go-validator

  • go-validator another validator library, also designed to work as a GraphQL directive.

  • rss-bot

    Telegram bot for RSS feeds

  • rss-bot subscribe to RSS feeds and get notifications via telegram

  • prvt

    🔐 Personal, end-to-end encrypted storage that works through your browser

  • prvt Personal, encrypted storage (which can be accessed through a browser)

  • unlocker

    Discontinued ⚠️ Replaced by ItalyPaleAle/Revaulter! -- Wrap and unwrap keys using a key vault with admin consent (by ItalyPaleAle)

  • unlocker allows wrapping/unwrapping keys with a key stored in Azure Key Vault and authenticating via Azure AD. I am using this to unlock the encrypted drives in my sever at boot, so I don’t have to store the plain-text keys in the server.

  • TiddlyWiki

    A self-contained JavaScript wiki for the browser, Node.js, AWS Lambda etc.

  • widdly uses AWS Lambda and DynamoDB (as storage) for serving TiddlyWiki content.

  • access-key-rotator

    A PoC how to rotate your IAM access keys and store them in Github secrets

  • access-key-rotator rotates IAM keys for AWS and pushes them to Github (to be used as secret in a Github action). Currently only AWS+Github are supported, however, I have planned to add GCP/Azure and GitLab as well.

  • widdly

    Fork from https://gitlab.com/opennota/widdly + DynamoDB support + Serverless version (by dorneanu)

  • widdly uses AWS Lambda and DynamoDB (as storage) for serving TiddlyWiki content.

  • mail-checker

    Domain Email Record Extractor (by gospacedev)

  • devcert

    Generate self-signed, trusted certificates for local development. (by primalskill)

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts