Skip to content

Releases: ooni/probe-engine

v0.22.0

12 Jan 21:26
v0.22.0
8b78daa
Compare
Choose a tag to compare

Highlights

  • significantly improved QUIC implementation

  • significantly improved DNSCheck

  • introduced new run experiment that takes in input a list of experiments to run along with their options as a JSONL

Packages

  • pod 'oonimkall', :podspec => 'https://dl.bintray.com/ooni/ios/oonimkall-2021.01.12-235353.podspec'

  • implementation 'org.ooni:oonimkall:2021.01.12-235628'

Improvements

  • miniooni: add informed consent

  • run: a new experiment that takes in input a JSON describing what to do (for now only dnscheck is supported)

  • apitool: a tool to fetch measurements from OONI API

  • dnscheck: defer measurements to protect from residual censorship

  • dnscheck: allow to customize the measurement by adding several options

  • dnscheck: specifically allow one to provide valid IP addresses for the target domain

  • locationlookup: better top-level API to perform location-lookup

  • netx/quic: implement error wrapping

  • netx/quic: implement saving low-level events

  • probeservices: implement API to check whether a report ID exists

  • probeservices: implement measurement_meta API

API changes

  • inputloader: InputRequired has been split into InputStrictlyRequired and InputOrQueryTestLists

  • experiment: removed CloseReport functionality that is no longer necessary

  • model/measurement.go: removed unused OOID field

  • probeservices: hide actual report structure

  • probeservices: remove deprecated test list APIs

Updates

  • Dependencies

  • User-Agent header used for measuring

  • Bundled certificates

Bug Fixes

  • dnscheck: make sure the total runtime depends on the number of inputs

  • riseupvpn: make progress count monotonically by adding support for that in urlgetter

  • urlgetter: allow to configure TLS version for DNS servers

  • urlgetter: allow to specify maximum runtime for a single measurement

  • inputloader: fail if passed an empty file

  • miniooni: allow to randomize the input test list

  • miniooni: only print home directory and user IP in debug mode

  • netx/archival: do not register QUIC connections inside tcp_connect

v0.22.0-alpha.6

11 Jan 18:50
v0.22.0-alpha.6
59a9162
Compare
Choose a tag to compare
v0.22.0-alpha.6 Pre-release
Pre-release
ooni/probe-engine 0.22.0-alpha.6

v0.22.0-alpha.5

07 Jan 16:40
v0.22.0-alpha.5
Compare
Choose a tag to compare
v0.22.0-alpha.5 Pre-release
Pre-release
ooni/probe-engine v0.22.0-alpha.5

v0.22.0-alpha.4

07 Jan 16:40
v0.22.0-alpha.4
fc21252
Compare
Choose a tag to compare
v0.22.0-alpha.4 Pre-release
Pre-release
ooni/probe-engine v0.22.0-alpha.4

v0.22.0-alpha.3

07 Jan 16:39
v0.22.0-alpha.3
e8bacc6
Compare
Choose a tag to compare
v0.22.0-alpha.3 Pre-release
Pre-release
ooni/probe-engine 0.22.0-alpha.3

v0.22.0-alpha.2

07 Jan 16:39
v0.22.0-alpha.2
92197fc
Compare
Choose a tag to compare
v0.22.0-alpha.2 Pre-release
Pre-release
ooni/probe-engine v0.22.0-alpha.2

v0.22.0-alpha.1

26 Dec 08:28
v0.22.0-alpha.1
4f21abc
Compare
Choose a tag to compare
v0.22.0-alpha.1 Pre-release
Pre-release
ooni/probe-engine v0.22.0-alpha.1

v0.21.0

07 Dec 10:15
v0.21.0
Compare
Choose a tag to compare

Packages

  • ios: pod 'oonimkall', :podspec => 'https://dl.bintray.com/ooni/ios/oonimkall-2020.12.07-102038.podspec'

  • android: implementation 'org.ooni:oonimkall:2020.12.07-102305'

Improvements

  • all: run CodeQL security scanner on master and pull requests

  • all: reduce code coverage flapping

  • oohelper, oohelperd: write Web Connectivity test helper server and client (currently still in beta)

  • experiment, session: move generation of summary keys from probe-cli to probe-engine

  • dnscheck, urlgetter: write spec

  • urlgetter: do not use session's tunnel (fixes: running riseupvpn after psiphon)

  • experimentbuilder: add generic options parser where the type is inferred from the value (moved here from libminiooni)

  • quic: use context for dialing

  • quic/http3: use our CA bundle and allow setting the SNI when dialing

  • inputloader: new API to load inputs from several sources (extracted from libminiooni)

  • inputprocessor: new API to process inputs and run measurements (also extracted from libminiooni)

  • saver: new API to save measurements (also extracted from libminiooni)

  • submitter: new API to submit measurements (also extracted from libminiooni)

API changes

  • experiment, session: remove privacy settings: we now upload ASN and CC unconditionally and we never upload the IP

  • dash, ndt7: remove support for running experiment using a tunnel

  • model: remove OnDataUsage callbacks (which has been deprecated for months now)

  • oonimkall: remove all legacy settings and options and require settings.version == 1

  • testlists: remove this API (which has been deprecated for months now)

  • version.go: moved to version/version.go so it can be linked by oohelped without linking the whole set of dependencies

Updates

  • Dependencies

  • User-Agent header used for measuring

  • Bundled certificates

Bug Fixes

  • jafar: do not emit noisy output when waiving possibly non-existing rules

  • whatsapp: correctly quote dots in regular expression

  • mlablocatev2: correctly quote dots in regular expression

  • geolocate: fix stun timeout which was insanely long

  • oonimkall: adjust progress to max_runtime when we have a max_runtime

v0.20.2

17 Nov 16:56
v0.20.2
Compare
Choose a tag to compare

Packages

  • ios: pod 'oonimkall', :podspec => 'https://dl.bintray.com/ooni/ios/oonimkall-2020.11.17-150838.podspec'

  • android: implementation 'org.ooni:oonimkall:2020.11.17-151713'

Bug Fixes

  • fix(geolocate/stun): better using default RTO. This trades a 100 second timeout for a 10 second timeout when using STUN.

v0.20.1

13 Nov 14:28
v0.20.1
Compare
Choose a tag to compare

Packages

  • ios: pod 'oonimkall', :podspec => 'https://dl.bintray.com/ooni/ios/oonimkall-2020.11.13-125651.podspec'

  • android: implementation 'org.ooni:oonimkall:2020.11.13-130158'

Bug Fixes

  • oonimkall: make progress relative to max runtime when we have a max runtime, like MK used to do.