OONI Probe CLI v3.17.0
Highlights
New Features
✨ ✨ ✨ New Experiments
portfiltering
: new experiment for measuring port blockingechcheck
: new experiment for measuring Encrypted Client Hello blockingtlsmiddlebox
: new experiment implementing iterative network tracing for TLSwebconnectivity
: update LTE implementation to v0.5.20webconnectivity
andoohelperd
: optionally allow client to request for HTTP/3 measurements
✨ ✨ ✨ Proxy improvements
ooniprobe
: add the--proxy
command line flag which works likeminiooni --proxy
miniooni
andooniprobe
: add support for the--proxy torsf:///
, which uses snowflake over torminiooni
: add--snowflake-rendezvous
CLI flag to specify the snowflake rendezvous policy
✨ ✨ ✨ OONI Run v2 improvements
miniooni
: read OONI Run v2 descriptors form the filesystem withminiooni oonirun -f FILE
✨ ✨ ✨ Misc improvements
geoipx
: use ASN+Country database generated using ooni/historical-geoiphttpapi
: new API allowing to fallback when multiple endpoints are availablemeasurexlite
: add refraction-networking/utls supportprobeservices
: support compressed check-in API responsesbuildtool
: new Go based build tool with unit testing of the build flags passed to compilersbuildtool
: rewrite Android build to compile tor, libevent, openssl, and zlib with hardened compiler flagsooniprobe
andminiooni
: add support for A/B testing webconnectivity versus webconnectivity LTEmodel
: expose build information asannotations
inside measurements
API changes
- ❗ [API BREAK]
oonimkall
: drop deprecated APIs - ❗ [API BREAK]
oonimkall
: renameCheckInConfigWebConnectivity
'sAdd
method toAddCategory
- ❗ [ABI BREAK]
model
: useudp
rather thanquic
as the protocol (see #946 for details)
Bug Fixes
- 🐛
psiphon
: make sure we include a config when building for Linux - 🐛
signal
: update the embedded signal CA - 🐛
webconnectivity
: increase robustness by trying to use all available TH before giving up - 🐛
whatsapp
: stop measuring http://web.whatsapp.com/ to avoid false positives - 🐛
geolocate
: make sure we use the session resolver for consistency - 🐛
measurexlite
: emit theresolve_start
andresolve_done
events - 🐛
model
: mark optional fields as optional and sync up with ooni/spec's data formats - 🐛
model
: improve measurements scrubbing - 🐛
netxlite
: make sure we wrap DNS decoding errors - 🐛
scrubber
: merge improvements from the snowflake codebase - 🐛
webconnectivity
LTE: don't fetch webpages from127.0.0.1
and::1
- 🐛
oohelperd
andnextlite
: use cached cert pools - 🐛
getaddrinfo
: make sure we always emit a canonicalCNAME
Maintenance
- 🚧
telegram
: stop measuring http://web.telegram.org/ to avoid potential false positives - 🚧
.github/workflows
: automatically generate several github workflows files - 🚧
all
: use go1.19.6 and update dependencies - 🚧
QA
: simplify quality assurance scripts and focus on web connectivity only - 🚧
MONOREPO
: merge monorepo-like scripts to facilitate integration testing - 🚧
ooniprobe
: make database code abstract to facilitate subsequent refactoring - 🚧
internal
: change way in which we provide arguments to OONI experiments - 🚧
probeservices
: start using thehttpapi
package - 🚧
probeservices
: remove support for deprecated APIs - 🚧
httpx
: deprecate in favour ofhttpapi
- 🚧
model
: reintroducenetxlite
's underlying network functionality - 🚧
internal
: finish refactoringinternal/engine
subpackages by moving them intointernal
- 🚧
dash
: migrate to m-lab locate services v2
What's Changed Since v3.17.0-beta.1
- 🚧 all: update to go1.19.6
- 🚧 oohelperd: introduce request flag to enable QUIC
Full Changelog: v3.17.0-beta.1...v3.17.0
What's Changed Since v3.16.7
Full Changelog: v3.16.7...v3.17.0