Package gocui allows creating console user interfaces.
Highlighted features:
Minimalist API.
Views (the windows in the GUI) implement the interface io.ReadWriter.
Support for overlapping views.
The GUI can be modified at runtime (concurrent-safe).
Global and view-level keybindings.
Mouse support.
Colored text.
Customizable edition mode.
Easy to build reusable widgets, complex layouts.
This is an implementation of go-datastore that is backed by DynamoDB.
ddbds includes support for optimized prefix queries. When you setup your table's key schema correctly and register it with ddbds, then incoming queries that match the schema will be converted into DynamoDB queries instead of table scans, enabling high performance, ordered, high-cardinality prefix queries.
JSON Patch implementation for Go as specified in RFC 6902 from the IETF.
JSON Patch allows you to generate JSON that describes changes you want to make to a document, so you don't have to send the whole doc. JSON Patch format is supported by HTTP PATCH method, allowing for standards based partial updates via REST APIs.
go-reuseport enables listening and dialing from the same TCP or UDP port. This means that SO_REUSEADDR and SO_REUSEPORT socket options may be set. This is particularly important when attempting to do TCP NAT hole-punching, which requires a process to both Listen and Dial on the same TCP port. go-reuseport provides some utilities around enabling this behaviour on various operating systems.
go-libdht is a generic toolbox designed for the implementation and experimentation of Distributed Hash Tables (DHT) in Go. It establishes foundational types and interfaces applicable across a broad spectrum of DHTs, especially those sharing a similar topology. By offering reusable components like keys and routing tables, go-libdht streamlines the DHT implementation process. Using go-libdht, developers can seamlessly craft their own DHTs using the provided modular components.
Package proxyproto implements Proxy Protocol (v1 and v2) parser and writer, as per specification: @urlhttps://www.haproxy.org/download/2.3/doc/proxy-protocol.txt. It is to be used in one of or both proxy clients and proxy servers that need to support said protocol. Both protocol versions, 1 (text-based) and 2 (binary-based) are supported. TLV parsers extensions coming with this library support AWS, Azure and GCP.
Fast IP to CIDR block(s) lookup using trie in Golang, inspired by IPv4 route lookup Linux. Possible use cases include detecting if a IP address is from published cloud provider CIDR blocks (e.g. 52.95.110.1 is contained in published AWS Route53 CIDR 52.95.110.0/24), IP routing rules, etc.
Package netlink provides a simple library for netlink. Netlink is the interface a user-space program in linux uses to communicate with the kernel. It can be used to add and remove interfaces, set up ip addresses and routes, and confiugre ipsec. Netlink communication requires elevated privileges, so in most cases this code needs to be run as root. The low level primitives for netlink are contained in the nl subpackage. This package attempts to provide a high-level interface that is loosly modeled on the iproute2 cli.
This package provides a pure Go Kerberos library. It features:
Kerberos libraries for custom integration
Parsing Keytab files
Parsing krb5.conf files
Parsing client credentials cache files such as /tmp/krb5cc_$(id -u $(whoami))
On the client side, it provides a client that can authenticate to an SPNEGO Kerberos authenticated web service, and the ability to change client's password.
On the server side, the library provides a HTTP handler wrapper implements SPNEGO Kerberos authentication, as well as a HTTP handler wrapper decodes Microsoft AD PAC authorization data.
This package implements a SOCKS5. SOCKS (Secure Sockets) is used to route traffic between a client and server through an intermediate proxy layer. This can be used to bypass firewalls or NATs.
Features:
support socks5 server
support TCP/UDP and IPv4/IPv6
unit tests
"No Auth" mode
user/password authentication optional user addr limit
support for the CONNECT command
support for the ASSOCIATE command
rules to do granular filtering of commands
custom DNS resolution
custom goroutine pool
buffer pool design and optional custom buffer pool
custom logger
This package implements functionality of mapping files into memory. It tries to provide a simple interface, but doesn't go out of its way to abstract away every little platform detail.
This specifically means:
forked processes may or may not inherit mappings
a file's timestamp may or may not be updated by writes through mappings
specifying a size larger than the file's actual size can increase the file's size
if the mapped file is being modified by another process while your program's running, don't expect consistent results between platforms
It's an alternative fork of https://github.com/edsrzf/mmap-go
Package btcec implements elliptic curve cryptography needed for working with Bitcoin (secp256k1 only for now). It is designed so that it may be used with the standard crypto/ecdsa packages provided with Go. A comprehensive suite of test is provided to ensure proper functionality. Package btcec was originally based on work from ThePiachu which is licensed under the same terms as Go, but it has significantly diverged since then. The btcsuite developers original is licensed under the liberal ISC license.
Although this package was primarily written for btcd, it has intentionally been designed so it can be used as a standalone package for any projects needing to use secp256k1 elliptic curve cryptography.
This package is an implementation of Git's wildmatch.c-style pattern matching.
go-github is a Go client library for accessing the GitHub API v3.
go-github is a Go client library for accessing the GitHub API v3.
go-github is a Go client library for accessing the GitHub API v3.
Terminal utilities for golang
Package squirrel provides a fluent SQL generator.
Blackfriday is a Markdown processor in Go.
A Golang library to verify Minisign signatures.
Package fasttemplate implements simple and fast template library.
ANSI escape sequence parser and definitions
Package linkheader provides functions for parsing HTTP Link headers.
Go library for the TOML configuration language