This package implements functionality based on ideas and concepts from Philipp Winter's ScrambleSuit protocol. The notable differences between ScrambleSuit and obfs4:
the handshake always does a full key exchange (no such thing as a Session Ticket Handshake)
the handshake uses the Tor Project's ntor handshake with public keys obfuscated via the Elligator 2 mapping
the link layer encryption uses NaCl secret boxes (Poly1305/XSalsa20)
Hjson is a syntax extension to JSON. It is intended to be used like a user interface for humans, to read and edit before passing the JSON data to the machine.
This package is a simple Go library that provides retry functionality for functions that may fail. It includes various customizable retry strategies, such as fixed delay, backoff delay, and random delay.
This package provides realpath, a Go module that when provided with a valid relative path / alias path, it will return you with a string of its real absolute path in the system.
This package is a simple Go library that provides retry functionality for functions that may fail. It includes various customizable retry strategies, such as fixed delay, backoff delay, and random delay.
combinator generates a slice of all possible value combinations for any given struct and a set of its potential member values. This can be used to generate extensive test matrixes among other things.
This is a simple adapter to plug in cockroachdb/pebble as a backend anywhere that accepts a go-datastore.
This package parses date strings without knowing the format in advance. It uses a scanner to read bytes and use a state machine to find format. It is much faster than shotgun based parse methods.
This package provides a Go package to intelligently and flexibly pool among multiple hosts from your Go application. Host selection can operate in round robin or epsilon greedy mode, and unresponsive hosts are avoided.
Package fastdiv implements fast division, modulus and divisibility checks for divisors known only at runtime based on paper: Faster Remainder by Direct Computation: Applications to Compilers and Software Libraries.
Groupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases. It provides a data loading mechanism with caching and de-duplication that works across a set of peer processes.
This package contains Go bindings and sample code for Hyper-V sockets and virtio sockets.
Porter2 implements the english Porter2 stemmer. It is written completely using finite state machines to do suffix comparison, rather than the string-based or tree-based approaches.
slog-multi provides advanced composition patterns for Go's structured logging (slog). It enables you to build sophisticated logging workflows by combining multiple handlers with different strategies for distribution, routing, transformation, and error handling.
Package colour provides Quake-style colour formatting for Unix terminals. The package level functions can be used to write to stdout (or strings or other files). If stdout is not a terminal, colour formatting will be stripped.
Tools to create and manage shared memory (POSIX Shared memory) across all Unix variants. Pure Go, no external dependencies. Implements Go versions of shm_open() and shm_unlink() that interoperate with the libc versions.
Notify is a Go library for interacting with the DBus notification service defined by freedesktop.org at https://developer.gnome.org/notification-spec/. Notify can deliver desktop notifications over DBus, ala how libnotify does it.
GopherJS compiles Go code (@urlhttps://golang.org/,golang.org) to pure JavaScript code. Its main purpose is to give you the opportunity to write front-end code in Go which will still run in all browsers.
This library supports the parsing and verification as well as the generation and signing of JWTs. Current supported signing algorithms are HMAC SHA, RSA, RSA-PSS, and ECDSA, though hooks are present for adding your own.
Package otter contains in-memory caching functionality. It aims to address the shortcomings of its predecessors and incorporates design principles from high-performance libraries in other languages (such as Caffeine).
@urlhttps://esbuild.github.io/,Website | @urlhttps://esbuild.github.io/getting-started/,Getting started | @urlhttps://esbuild.github.io/api/,Documentation | @urlhttps://esbuild.github.io/plugins/,Plugins | @urlhttps://esbuild.github.io/faq/,FAQ.
clock is a small library for mocking time in Go. It provides an interface around the standard library's time package so that the application can use the realtime clock while tests can use the mock clock.
Package templatecheck checks Go templates for problems. It can detect many errors that are normally caught only during execution. Use templatecheck in tests to find template errors early, and along template execution paths that might only rarely be reached.