ProjectsOONI Coverage

OONI Nettest Quick Reference

OONI (Open Observatory of Network Interference) defines its network tests, or nettests, in the nettests directory of ooni/spec. The directory holds 41 specifications, a fair share of which are no longer in use. When picking a nettest or making sense of data you already have, checking which ones still produce measurements is quicker than reading every specification.

At anoni.net, a community based in Taiwan, we have condensed all 41 into reference tables, noting each one's upstream status, whether public data still exists, and which ones show up in Taiwan. The fields their output shares are defined separately in data-formats.

Status column definitions

Spec status comes from the _status_ marker at the top of each specification. The marker is one of current, experimental or obsolete, and reflects how the upstream project positions that nettest.

Data in circulation is an empirical check. As a snapshot on the day of writing (2026-08-04), we surveyed each nettest's most recent public measurements through the OONI API.

Taiwan comes from the S3 public dataset. We spot-checked five time slots on 2026-08-03 and listed the nettest directories that appeared under Taiwan.

Gaps between status markers and actual data

Status markers and actual data disagree in two directions:

  • Marked current with no data to be found: tlsmiddlebox, portfiltering and captiveportal.
  • Marked experimental with data every day: dnscheck, echcheck, openvpn, stunreachability and vanilla_tor among others, at volumes comparable to some current nettests.

An experimental marker concerns only the maturity of the specification itself, with no bearing on data volume. To judge whether a nettest suits your analysis, query the API for data rather than relying on the status marker.

Nettests by purpose

Grouped by what they observe, with details in the tables that follow:

  • Website blocking detection: web_connectivity
  • Middleboxes and interference techniques: http_header_field_manipulation, http_invalid_request_line, sni_blocking, echcheck
  • Messaging app reachability: telegram, whatsapp, signal, facebook_messenger
  • Circumvention tool availability: tor, vanilla_tor, torsf, psiphon, riseupvpn, openvpn
  • DNS behaviour: dnscheck, dnsping
  • Connection performance: ndt, dash, stunreachability, quicping

Nettests still producing data

Every nettest below had public measurements available on the day of writing. These are also the nettests you will meet most often in OONI data.

Nettest What it measures Spec status Taiwan
web_connectivity Website reachability and block verdicts, by far the largest nettest by volume current yes
tor Reachability of Tor directory authorities and bridges current yes
vanilla_tor Whether unobfuscated Tor can bootstrap a connection experimental yes
torsf Tor over the Snowflake pluggable transport experimental no
telegram Reachability of Telegram web and its data centre endpoints current yes
whatsapp Reachability of WhatsApp endpoints and its registration service current yes
signal Reachability of Signal service endpoints current yes
facebook_messenger Reachability of Facebook Messenger endpoints current yes
dnscheck Behaviour of a given DNS resolver, covering encrypted queries (DoH, DoT) experimental yes
dnsping Latency and response behaviour of DNS queries experimental no
echcheck Support for and interference with Encrypted Client Hello (ECH) experimental yes
http_header_field_manipulation Whether middleboxes tamper with HTTP headers current yes
http_invalid_request_line How middleboxes react to malformed request lines, used to detect transparent proxies current yes
openvpn Whether an OpenVPN handshake completes experimental yes
psiphon Whether the Psiphon circumvention tool can establish a connection current yes
riseupvpn Reachability of the RiseupVPN service current yes
stunreachability Reachability of STUN servers, which affects WebRTC calls experimental yes
ndt Connection speed and performance diagnostics current yes
dash Video streaming playback quality current yes
browser_web Loading pages with a real browser engine experimental no

Abbreviations in the table

  • DoH, DoT: DNS queries wrapped in HTTPS or TLS, so query contents do not cross the network in plaintext. See Encrypted DNS.
  • ECH (Encrypted Client Hello): the first message of a TLS handshake normally carries the destination domain in plaintext, and ECH encrypts that field.
  • SNI (Server Name Indication): the destination domain sent in plaintext during a TLS handshake, frequently used as the basis for blocking decisions.
  • STUN: a protocol that helps a device discover its own public IP and port, used when WebRTC calls set up a connection.
  • QUIC: a UDP-based transport protocol that HTTP/3 is built on.

Nettests with only occasional data

Nettest What it measures Spec status Most recent
quicping Reachability of the QUIC protocol experimental 2026-07-30
sni_blocking Blocking targeted at the TLS SNI field experimental 2026-07-20

Nettests with no public data

The API returns no public measurements for the seven nettests below. Their specifications remain in the upstream repository, for reference when designing a new nettest or a research method.

Nettest What it measures Spec status
tlsmiddlebox Middlebox behaviour along a TLS connection path current
portfiltering Whether specific ports are filtered current
captiveportal Whether the network requires a login to get out current
urlgetter A general-purpose fetching component reused by other nettests experimental
tcpping Round-trip latency at the TCP layer experimental
tlsping Round-trip latency of a TLS handshake experimental
simplequicping A simplified QUIC latency measurement experimental

Historical nettests marked obsolete

Twelve specifications are marked obsolete upstream. Most of their functionality was absorbed into web_connectivity or retired as measurement methods evolved. Their records can still turn up in historical data, but there is no reason to adopt them for new observation work.

Nettest Specification
bridgeT ts-001
DNS Consistency ts-002
HTTP Requests ts-003
HTTP Host ts-004
DNS Spoof ts-005
TCP Connect ts-008
Multi Protocol Traceroute ts-009
Bridge Reachability ts-011
DNS Injection ts-012
Lantern ts-013
Meek Fronted Requests ts-014
OpenVPN Client Test (legacy) ts-016

Duplicate ts-016 number and the legacy OpenVPN specification

Upstream has two specifications numbered ts-016: ts-016-openvpn.md, marked obsolete in the table above, and ts-016-vanilla-tor.md, marked experimental. The current OpenVPN specification is ts-040-openvpn.md, so take care not to cite the old one.

Nettests observed in Taiwan

In a spot check of five time slots on 2026-08-03, 17 nettests appeared under Taiwan (written here in the API's underscore form): web_connectivity, tor, vanilla_tor, telegram, whatsapp, signal, facebook_messenger, dnscheck, echcheck, http_header_field_manipulation, http_invalid_request_line, openvpn, psiphon, riseupvpn, stunreachability, ndt, dash.

Directory names on S3 are written differently from the test name field (test_name). Directory names carry no underscores (webconnectivity, vanillator, facebookmessenger), while API queries need the underscore form (web_connectivity, vanilla_tor, facebook_messenger). For the retrieval path in detail, see ASN Observation Data Retrieval and Analysis.

Taiwan's observations concentrate on web_connectivity, with small sample sizes for everything else. For widening local coverage, tor and dnscheck sit closest to our existing themes.

If OONI itself is new to you, start with What is OONI?. To run a specific nettest, choose which nettests to enable in the settings of OONI Probe on desktop or mobile. To invite others to measure a fixed list of URLs, create a shareable link with OONI Run v2. The link ID we currently maintain is 10328.