Mousetrap is a tiny library that answers a single question.
mousetrap is a tiny library that answers a single question.
Just a type for protocol strings. Nothing more.
A library to query JSON objects marshalled into map[string]interface
.
Implementation of multibase (self identifying base encodings) in Go.
This is a temporary dev fork of Go's @codegolang.org/x/crypto module, but only for @codessh development.
Package awsauth implements AWS request signing using Signed Signature Version 2, Signed Signature Version 3, and Signed Signature Version 4. Supports S3 and STS.
This package will pretty print a compact representation of a Go data structure. It can also produce a much more verbose, one-item-per-line representation suitable for computing diffs.
This package will pretty print a compact representation of a Go data structure. It can also produce a much more verbose, one-item-per-line representation suitable for computing diffs.
Package dataurl parses Data URL Schemes according to @urlhttps://rfc-editor.org/rfc/rfc2397.html,RFC 2397 (@urlhttp://tools.ietf.org/html/rfc2397,http://tools.ietf.org/html/rfc2397).
This is a Go reader for the MaxMind DB format. Although this can be used to read GeoLite2 and GeoIP2 databases, geoip2
provides a higher-level API for doing so.
This is a package extracted from go-ipfs
. Its purpose to be used to compare a set of keys based on a given metric. The primary metric used is XOR, as in kademlia.
go-libp2p-asn-util
is a Golang library to lookup the ASN for an IP address. It uses the IPv6 to ASN database downloaded from https://iptoasn.com/. Supports only IPv6 addresses for now.
Multiaddr is a standard way to represent addresses that does the following:
Support any standard network protocols.
Self-describe (include protocols).
Have a binary packed format.
Have a nice string representation.
Encapsulate well.
This package is shadowsocks
implementation in Go
Features:
SOCKS5 proxy
Support for Netfilter TCP redirect (IPv6 should work but not tested)
UDP tunneling (e.g. relay DNS packets)
TCP tunneling (e.g. benchmark with iperf3)
go-datastructures
is a collection of useful, performant, and thread-safe Go data structures.
It includes:
Augmented Tree - Interval tree for collision in n-dimensional ranges. Implemented via a red-black augmented tree.
Bitarray - Bitarray used to detect existence without having to resort to hashing with hashmaps. Requires entities have a uint64 unique identifier. Two implementations exist, regular and sparse.
Futures - A helpful tool to send a broadcast message to listeners.
Queue - Package contains both a normal and priority queue. Both implementations never block on send and grow as much as necessary.
Fibonacci Heap - A standard Fibonacci heap providing the usual operations. Can be useful in executing Dijkstra or Prim's algorithms in the theoretically minimal time.
Range Tree - Useful to determine if n-dimensional points fall within an n-dimensional range.
Set - Set implementation which accepts items of type
interface
and includes only a few methods.Threadsafe - A package that is meant to contain some commonly used items but in a threadsafe way.
AVL Tree - This is an example of a branch copy immutable Adelson-Velsky and Landis Balanced Binary Search Trees.
X-Fast Trie - An interesting design that treats integers as words and uses a trie structure to reduce time complexities by matching prefixes.
Y-Fast Trie - An extension of the X-Fast trie in which an X-Fast trie is combined with some other ordered data structure to reduce space consumption and improve CRUD types of operations.
Fast Integer Hashmap - A datastructure used for checking existence but without knowing the bounds of your data. If you have a limited small bounds, the bitarray package might be a better choice.
Skiplist - An ordered structure that provides amortized logarithmic operations but without the complication of rotations that are required by BSTs.
Sort - The sort package implements a multithreaded bucket sort that can be up to 3x faster than the native Golang sort package.
Numerics - Early work on some nonlinear optimization problems. The initial implementation allows a simple use case with either linear or nonlinear constraints.
B+ Tree - Initial implementation of a B+ tree. Delete method still needs added as well as some performance optimization.
Immutable B Tree - A btree based on two principles, immutability and concurrency.
Ctrie - A concurrent, lock-free hash array mapped trie with efficient non-blocking snapshots.
Dtrie - A persistent hash trie that dynamically expands or shrinks to provide efficient memory allocation.
Persistent List - A persistent, immutable linked list.
Simple Graph - A mutable, non-persistent undirected graph where parallel edges and self-loops are not permitted.
Package ed25519 implements the Ed25519 signature algorithm.
Package multicodec exposes the multicodec table as Go constants.
OpenTracing-Go is a Go implementation of the OpenTracing API.
Pfilter is a Go package for filtering packets into multiple virtual connections from a single physical connection.
Package temperrcatcher
provides a TempErrCatcher
object, which implements simple error-retrying functionality.
Jibber Jabber is a GoLang Library that can be used to detect an operating system's current language.
package highlighting is a extension for the goldmark(http://github.com/yuin/goldmark).