package
3.25.0-alpha
Repository: https://github.com/ooni/probe-cli.git
Documentation: pkg.go.dev

# Functions

ComputeTCPBlocking will return a copy of the input TCPConnect structure where we set the Blocking value depending on the control results.
Connects performs 0..N connects (either using TCP or TLS) to check whether the resolved endpoints are reachable.
Control performs the control request and returns the response.
DetermineBlocking returns the value of Summary.Blocking according to the expectations of OONI data consumers (nil|false|string).
DNSAnalysis compares the measurement and the control DNS results.
DNSLookup performs the DNS lookup part of Web Connectivity.
HTTPAnalysis performs follow-up analysis on the webconnectivity measurement by comparing the measurement test keys and the control.
HTTPBodyLengthChecks returns whether the measured body is reasonably long as much as the control body as well as the proportion between the two bodies.
HTTPGet performs the HTTP/HTTPS part of Web Connectivity.
HTTPGetMakeDNSCache constructs the DNSCache option for HTTPGet by combining domain and addresses into a single string.
HTTPHeadersMatch returns whether uncommon headers match between control and measurement, or nil if check is not applicable.
HTTPStatusCodeMatch returns whether the status code of the measurement matches the status code of the control, or nil if such comparison is actually not applicable.
HTTPTitleMatch returns whether the measurement and the control titles reasonably match, or nil if not applicable.
NewEndpointPort creates an EndpointPort from the given URL.
NewEndpoints creates a list of TCP/TLS endpoints to test from the target URL and the list of resolved IP addresses.
NewExperimentMeasurer creates a new ExperimentMeasurer.
Summarize computes the summary from the TestKeys.

# Constants

DNSExperimentTag is a tag indicating the DNS experiment.
DNSNameError is the error returned by the control on NXDOMAIN.
HTTPExperimentTag is a tag indicating the HTTP experiment.
we saw an error when connecting.
control failed for HTTP.
cannot access the control.
probe seems blocked by their DNS.
probe and control do not agree on HTTP features.
we saw an error when doing I/O.
we think error was during TLS handshake.
we don't know when the error happened.
this should never happen.
..
we noticed something in the DNS experiment.
..
success when using HTTP.
probe and control agree on NXDOMAIN.
success when using HTTPS.
TCPTLSExperimentTag is a tag indicating the connect experiment.

# Variables

DNSConsistent indicates that the measurement and the control have consistent DNS results.
DNSInconsistent indicates that the measurement and the control have inconsistent DNS results.
ErrInputIsNotAnURL indicates that the input is not an URL.
ErrNoInput indicates that no input was provided.
ErrUnsupportedInput indicates that the input URL scheme is unsupported.

# Structs

Config contains the experiment config.
ConnectsConfig contains the config for Connects.
ConnectsNoCallbacks suppresses the callbacks.
ConnectsResult contains the results of Connects.
DNSAnalysisResult contains the results of analysing comparing the measurement and the control DNS results.
DNSLookupConfig contains settings for the DNS lookup.
DNSLookupResult contains the result of the DNS lookup.
EndpointInfo describes a TCP/TLS endpoint.
EndpointPort is the port to be used by a TCP/TLS endpoint.
HTTPAnalysisResult contains the results of the analysis performed on the client.
HTTPGetConfig contains the config for HTTPGet.
HTTPGetResult contains the results of HTTPGet.
Measurer performs the measurement.
Summary contains the Web Connectivity summary.
SummaryKeys contains summary keys for this experiment.
TestKeys contains webconnectivity test keys.

# Type aliases

Redirect to types defined inside the model package.
Redirect to types defined inside the model package.
Redirect to types defined inside the model package.
Redirect to types defined inside the model package.
Redirect to types defined inside the model package.
EndpointsList is a list of EndpointInfo.