Skip to content

OONI Probe CLI v3.17.0

Compare
Choose a tag to compare
@github-actions github-actions released this 20 Feb 06:54
v3.17.0

Highlights

New Features

✨ ✨ ✨ New Experiments

✨ ✨ ✨ Proxy improvements

  • ooniprobe: add the --proxy command line flag which works like miniooni --proxy
  • miniooni and ooniprobe: add support for the --proxy torsf:///, which uses snowflake over tor
  • miniooni: add --snowflake-rendezvous CLI flag to specify the snowflake rendezvous policy

✨ ✨ ✨ OONI Run v2 improvements

  • miniooni: read OONI Run v2 descriptors form the filesystem with miniooni oonirun -f FILE

✨ ✨ ✨ Misc improvements

  • geoipx: use ASN+Country database generated using ooni/historical-geoip
  • httpapi: new API allowing to fallback when multiple endpoints are available
  • measurexlite: add refraction-networking/utls support
  • probeservices: support compressed check-in API responses
  • buildtool: new Go based build tool with unit testing of the build flags passed to compilers
  • buildtool: rewrite Android build to compile tor, libevent, openssl, and zlib with hardened compiler flags
  • ooniprobe and miniooni: add support for A/B testing webconnectivity versus webconnectivity LTE
  • model: expose build information as annotations inside measurements

API changes

  • ❗ [API BREAK] oonimkall: drop deprecated APIs
  • ❗ [API BREAK] oonimkall: rename CheckInConfigWebConnectivity's Add method to AddCategory
  • ❗ [ABI BREAK] model: use udp rather than quic 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 the resolve_start and resolve_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 from 127.0.0.1 and ::1
  • 🐛 oohelperd and nextlite: use cached cert pools
  • 🐛 getaddrinfo: make sure we always emit a canonical CNAME

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 the httpapi package
  • 🚧 probeservices: remove support for deprecated APIs
  • 🚧 httpx: deprecate in favour of httpapi
  • 🚧 model: reintroduce netxlite's underlying network functionality
  • 🚧 internal: finish refactoring internal/engine subpackages by moving them into internal
  • 🚧 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

New Contributors