The jwz package provides an implementation of the email threading algorithm originally designed for use in Netscape Mail 2.0 and 3.0 for Golang.
Package mmap allows mapping files into memory. It tries to provide a simple, reasonably portable interface, but doesn't go out of its way to abstract away every little platform detail. This specifically means:
zerossl
implements the ZeroSSL REST API.
The REST API is distinct from the ACME endpoint, which is a standardized way of obtaining certificates.
This is a development helper program that generates a Golang interface by inspecting the structure methods of an existing .go
file. The primary use case is to generate interfaces for gomock, so that gomock can generate mocks from those interfaces.
This repo is the home for all of the public go code produced by SDF. In addition to various tools and services, this repository is the SDK from which you may develop your own applications that integrate with the stellar network.
Package testza is a full-featured testing framework for Go. It integrates with the default test runner, so you can use it with the standard go test
tool. Testza contains easy to use methods, like assertions, output capturing, mocking, and much more.
The netlink package provides a simple netlink library for Go. 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 IP addresses and routes, and configure IPsec.
Package httpcache
provides a http.RoundTripper
implementation that works as a mostly RFC 7234 compliant cache for HTTP responses. It is only suitable for use as a "private" cache (i.e. for a web-browser or an API-client and not for a shared proxy).
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.
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.
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 is a Go port of the exponential backoff algorithm from Google's HTTP Client Library for Java.
Exponential backoff is an algorithm that uses feedback to multiplicatively decrease the rate of some process, in order to gradually find an acceptable rate. The retries exponentially increase and stop increasing when a certain threshold is met.
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.
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.
go-github is a Go client library for accessing the GitHub API v3.