# Packages
Package bytecounter contains code to track the number of bytes sent and received by a probe.
Package checkincache contains an on-disk cache for check-in responses.
No description provided by the author
No description provided by the author
Package engine contains the engine API.
Package enginelocate implements IP lookup, resolver lookup, and geolocation.
Package enginenetx contains engine-specific network-extensions.
Package engineresolver contains the resolver used by the OONI engine.
Package erroror contains code to represent an error or a value.
No description provided by the author
Package experimentconfig contains code to manage experiments configuration.
Package experimentname contains code to manipulate experiment names.
No description provided by the author
Package flagx contains extensions for the standard library flag package.
Package fsx contains io/fs extensions.
Package geoipx contains code to use the embedded MaxMind-like databases.
Package httpclientx contains extensions to more easily invoke HTTP APIs.
Package hujsonx contains github.com/tailscale/hujson extensions.
Package humanize is like dustin/go-humanize.
Package idnax contains IDNA extensions.
Package inputparser contains code to parse experiments input.
Package kvstore implements model.KeyValueStore.
No description provided by the author
No description provided by the author
Package logmodel contains the core log model.
Package logx contains logging extensions.
Package measurexlite contains measurement extensions.
Package memoryless helps repeated calls to a function be distributed across time in a memoryless fashion.
Package minipipeline implements a minimal data processing pipeline used to analyze local measurements collected by OONI Probe.
Package mlablocatev2 implements m-lab locate services API v2.
Package mocks contains mocks for implementing unit tests.
Package model contains the shared interfaces and data structures.
Package must contains functions that panic on error.
Package netemx contains code to run integration tests using [github.com/ooni/netem].
Package netxlite contains network extensions.
No description provided by the author
Package oonirun contains code to run OONI experiments.
Package optional contains safer code to handle optional values.
Package platform allows you to obtain the platform name.
Package probeservices contains code to contact OONI probe services.
Package progress contains utilities to emit progress.
Package ptx contains code to use pluggable transports.
Package randx contains math/rand extensions.
Package reflectx contains [reflect] extensions.
Package registry contains a registry of all the available experiments.
Package runtimex contains runtime extensions.
No description provided by the author
Package shellx helps to write shell-like Go code.
Package strcasex converts strings to various cases.
Package stuninput contains stun targets as well as code to format such targets according to various conventions.
Package targetloading contains common code to load richer-input targets.
Package testingproxy contains shared test cases for the proxies.
Package testingquic allows to retrieve the domain and endpoint to use for all the integration tests that use QUIC.
Package testingsock5 is a netem-aware fork of https://github.com/armon/go-socks5.
Package testingx contains code useful for testing.
Package throttling wraps connections to measure throttling.
Package torlogs contains code to read tor logs.
Package tunnel allows to create tunnels to speak with OONI backends and other services.
No description provided by the author
Package urlx contains URL extensions.
Package version contains version information.
Package webconnectivityalgo contains Web Connectivity algorithms.
Package webconnectivityqa contains code to perform Web Connectivity QA.
Package x contains highly experimental packages.