Ecosyste.ms: OpenCollective

An open API service for software projects hosted on Open Collective.

github.com/ooni/probe-engine

Semi-automatic export of https://github.com/ooni/probe-cli internals
https://github.com/ooni/probe-engine

sniblocking: classify failures to produce a result (#391)

Since in OONI we typically use a three class system (i.e. accessible,
anomaly, or blocking), I ...

30ee2a6ee016e7b2cb28ffcc29473ec5b0f68e0d authored almost 5 years ago by Simone Basso <[email protected]>
sniblocking: cache recent results (#390)

Avoids requesting several times in a row for the control SNI, which
is frankly a waste of time ...

030e792f1e3857421eeec608239b83183b4e8f77 authored almost 5 years ago by Simone Basso <[email protected]>
sniblocking: use example.com as test helper (#389)

Part of https://github.com/ooni/probe-engine/issues/388

49e14127c84ff0532604f957d5a1f9e6e5f38a6f authored almost 5 years ago by Simone Basso <[email protected]>
testlists.go: use naming consistent with other files (#387)

Makes the documentation more beautiful.

Part of https://github.com/ooni/probe-engine/issues/302.

8b8c2ef22c0854d70a4bd5cde05a2c67c81c7390 authored almost 5 years ago by Simone Basso <[email protected]>
session.go: ensure we close idle connections (#386)

Part of https://github.com/ooni/probe-engine/issues/302

This is marked API CHANGE because now...

d50ef4f6b71d38fa38898a4083c4dae9a700e4c6 authored almost 5 years ago by Simone Basso <[email protected]>
[API CHANGE] remove session/session.go and experiment/experiment.go (#385)

As mentioned in https://github.com/ooni/probe-engine/issues/302, this split of the experiment an...

4426ef21a516d8d143d6f6ba98c083520bd143ac authored almost 5 years ago by Simone Basso <[email protected]>
Replace internal/httpx code with netx (#383)

This is part of https://github.com/ooni/probe-engine/issues/302.

I feel comfortable with remo...

9f9027be5f082a734d9e5a7ea22edb3baa63751b authored almost 5 years ago by Simone Basso <[email protected]>
netx: merge public API with internal (#382)

Closes https://github.com/ooni/probe-engine/issues/338, because I have
added code and unit test...

658a781e26679c977bd1fad077651efe655ff95c authored almost 5 years ago by Simone Basso <[email protected]>
netx: unify netx and httpx packages (#381)

Part of https://github.com/ooni/probe-engine/issues/302

54fd2870d428b67d6a3a1f627751c3e0d6060a22 authored almost 5 years ago by Simone Basso <[email protected]>
Vendor ooni/netx@4f8d645bce and use it (#380)

The vendoring has omitted files we don't care about. The source code is
not changed. The README...

d9d546ecd738346f74a424611e788df4c6c7cf45 authored almost 5 years ago by Simone Basso <[email protected]>
internal: remove the retrying dialer (#379)

This is part of https://github.com/ooni/probe-engine/issues/302

6740c6e84917ac8aa8123a9ea937e816acd73fa8 authored almost 5 years ago by Simone Basso <[email protected]>
Move httpx code into the internal package (#378)

b5df0f05a9c1a50e2349148e8a00475ce4698d28 authored almost 5 years ago by Simone Basso <[email protected]>
oonimkall: never omit mandatory event fields (#377)

Closes https://github.com/ooni/probe-engine/issues/348

a459b7778866b7d5ed1c39bbaf5870a758a1f270 authored almost 5 years ago by Simone Basso <[email protected]>
orchestra: register desktop clients with AS0 and ZZ (#375)

When registering, we don't need to lookup the country and the ASN. Desktop
clients only use orc...

8ba2a70c5fe8f97faca5a4b681eb15eedb413a43 authored almost 5 years ago by Simone Basso <[email protected]>
Require and use measurement-kit v0.10.11 (#374)

Also part of https://github.com/ooni/probe-engine/issues/334

ae59c0578995e64d7175267db53bf7bc8bccca31 authored almost 5 years ago by Simone Basso <[email protected]>
internal/resources: update assets to 20200225143707 (#373)

* internal/resources: update assets to 20200225143707

* mmdblookup.go: adapt to db-ip.com's d...

9ca368be19eaeab08ee31d67f62113b43aa26a0c authored almost 5 years ago by Simone Basso <[email protected]>
mkcgo: fail if we don't have the right MK version (#370)

f225a81842cabb186fb463de17a14248fac77677 authored almost 5 years ago by Simone Basso <[email protected]>
.github/workflows: add tests using MK (#369)

688498cf1c5486c24cf32f700e3ced689666d66e authored almost 5 years ago by Simone Basso <[email protected]>
iplookup: remove akamai IP lookup method (#368)

It seems we cannot access this service without using domain
fronting and we need to use the a24...

dd5be1b5ab5bb826c49e99e2d017dff60a5b5f97 authored almost 5 years ago by Simone Basso <[email protected]>
DESIGN.md: ref MK-to-probe-engine plan

a61e3805d8d1d1d39842e17031d84db363b152a0 authored almost 5 years ago by Simone Basso <[email protected]>
oonimkall: be liberal in the settings we accept (#364)

We were too strict and this means coding the Android app to
support MK and probe-engine at the ...

40c442be012339c364deda7a6c701031071a2ce5 authored almost 5 years ago by Simone Basso <[email protected]>
probe-engine: update direct and indirect dependencies (#361)

f7d3f381877376a589bf21831cf3ea83c4b21b1c authored almost 5 years ago by Simone Basso <[email protected]>
oonitemplates: remove code causing crash on x86/arm64 (#360)

The matter is better explained in the newly added code comment. I feel
okay removing the code, ...

4e3bde35aea41bbdaf5e656924a97c034bace33d authored almost 5 years ago by Simone Basso <[email protected]>
android: build AAR and setup continuous integration (#354)

See https://github.com/ooni/probe-engine/pull/354

f4dcad95f129898fd6a8f080c4ded292d86e801e authored almost 5 years ago by Simone Basso <[email protected]>
mobile: Go based replacement for MKAsyncTask (#347)

See https://github.com/ooni/probe-engine/pull/347

357cb1c074269a1d1875fe5f0c39f1cd0d65fd6b authored almost 5 years ago by Simone Basso <[email protected]>
experiment/example is interruptible (#346)

Developed as part of https://github.com/ooni/probe-engine/issues/339.

This is useful to have ...

3fc6d3ece9d52819ae1571df0cca595a73510905 authored almost 5 years ago by Simone Basso <[email protected]>
resources: create workdir if not existent (#345)

While there, make `resources` part of `internal` since it shouldn't be exposed.

While there, ...

4bfc19d03a7f6f593e17a85826daebd4bb0fdb39 authored almost 5 years ago by Simone Basso <[email protected]>
Allow compiling with CGO_ENABLED=1 and no measurement-kit (#344)

I want to build an `.aar` file that only includes experiments written in Go such that I can link...

1b63702b8efb4103a8f96cdec5835482542d0bcd authored almost 5 years ago by Simone Basso <[email protected]>
experiment.go: allow to jsonify measurement (#343)

60d2060e167b09ea2e897b270865dd4d233ff5e4 authored almost 5 years ago by Simone Basso <[email protected]>
newExperimentBuilder: use iancoleman/strcase for robustness (#342)

0994eec250b97e522f0e3182befc111d09388465 authored almost 5 years ago by Simone Basso <[email protected]>
task_cgo.go: allow compiling on ordinary Linux systems (#333)

582fca34e7c5915b45c77792d0fd458b4350c3cb authored almost 5 years ago by Simone Basso <[email protected]>
Use GitHub actions rather than Travis CI (#329)

6b8d04750152ec51e07db90ac3e39c0dd23ec56f authored almost 5 years ago by Simone Basso <[email protected]>
miniooni: submit and save also if measurement returns error (#324)

See https://github.com/ooni/probe-engine/issues/316

35930204b6911d96477006507254fa7b0b9f1f35 authored almost 5 years ago by Simone Basso <[email protected]>
go.mod go.sum: update dependencies before release (#323)

c08921f9134b18fd01e32cb72dc2d713c7d44ddb authored almost 5 years ago by Simone Basso <[email protected]>
Merge pull request #322 from ooni/issue/308

experiment: say data_format_version 0.2.0

f8998f0bc5f5d2189b927a756a61626db97681f2 authored almost 5 years ago by Simone Basso <[email protected]>
experiment: say data_format_version 0.2.0

This avoids confusing the pipeline. We use an annotation
to report the real data_format_version.

d86b524276e81e45281e3efd474977efd5b25aac authored almost 5 years ago by Simone Basso <[email protected]>
Merge pull request #319 from ooni/ja-pa-update-modules

dependencies: update bolt and goselect because of other arch support

14a2ecf062f2092a29736258e5ec0ed161bbcddd authored almost 5 years ago by Simone Basso <[email protected]>
run `go mod tidy`

b12deda8a6d461e188a8905073406e6cd40284bb authored almost 5 years ago by Simone Basso <[email protected]>
dependencies: update because of other arch

Signed-off-by: Jan Pavlinec <[email protected]>

78259d5492e5af56f1dd19326976ff11409a0056 authored almost 5 years ago by Jan Pavlinec <[email protected]>
assets.go: fetch URLs using https (#318)

<facepalm>

Related to #314

3d661a279c4454411adc24d0c5527963de0928b7 authored almost 5 years ago by Simone Basso <[email protected]>
experiment/tor: implement summary (#305)

Closes https://github.com/ooni/probe-engine/issues/304

Implements https://github.com/ooni/spe...

82d287d3fa553cede387f2b1e375464b03d40065 authored almost 5 years ago by Simone Basso <[email protected]>
Merge pull request #301 from ooni/issue/67

Start replacing ./httpx with github.com/ooni/netx

a9472dc7843d3853f6dc8611e61d0cb64f28484a authored almost 5 years ago by Simone Basso <[email protected]>
resolverlookup.go: stop using retryx

I did determine that it was enough to rely on the retry behaviour
of the default resolver, back ...

e993549bf9507f7f15025d337c4ff3467e877e13 authored almost 5 years ago by Simone Basso <[email protected]>
Stop using ./httpx in tests

We really don't need it there. We can use http.DefaultClient directly.

a794163cbe10d9a022b66abef38990160f4c4bad authored almost 5 years ago by Simone Basso <[email protected]>
jsonapi: make internal and write unit tests

We now have full coverage of this package.

57af943e624ad130ec1d194d48dfc7add0511622 authored almost 5 years ago by Simone Basso <[email protected]>
internal/fetch: make sure we have 100% of coverage

No big deal, except that we are not distracted by coverage not being
100% here so we can focus o...

224b1eb5ab7df7e4b408cbf549776374c64f2475 authored almost 5 years ago by Simone Basso <[email protected]>
move httpx/fetch => internal/fetch

As part of the work to fully migrate to netx, let's also dismantle
the httpx directory which we ...

e22cf70ceb80c51244070c43dc74cf98942d9d76 authored almost 5 years ago by Simone Basso <[email protected]>
Implement sni_blocking experiment (#298)

Closes #265

f70c8fccf46b5ea68dc26b327358836608e5c088 authored almost 5 years ago by Simone Basso <[email protected]>
tor: add support for or_port_dirauth (#295)

See https://github.com/ooni/sysadmin/commit/bf082ff0953d72bdf67773b2527716e50646908e

Part of ...

4d254f5b22b4d12e99c75750d24bb6d4e0544982 authored almost 5 years ago by Simone Basso <[email protected]>
tor: introduce and fill toplevel keys (#294)

Closes https://github.com/ooni/probe-engine/issues/292

fcc9ee0a7afbf846bcfc79bf96d9411f5293f590 authored almost 5 years ago by Simone Basso <[email protected]>
README.md: sync dependencies instructions with probe-cli

No real change except that I like new instructions a bit more.

901c57f0cea4945538d8fba78dec7c2308027cbb authored almost 5 years ago by Simone Basso <[email protected]>
Merge pull request #293 from ooni/issue/280_bis

probe-engine 0.5.0 contains updated dependencies

6563708ca124971ca8d5b69b97aa58b701f0364e authored almost 5 years ago by Simone Basso <[email protected]>
dependencies: pin to latest staging psiphon

I've improved my understanding of how to do that and have
changed the related documentation acco...

eb0b0d8a40363171ba2ec104149316e44787598b authored almost 5 years ago by Simone Basso <[email protected]>
go.mod go.sum: update direct dependencies

The command I've used is the one listed in the README.md:

```
for name in `grep -v indirect go....

0531a9b92cd403d1c72f4f4e347b3a1095ec852d authored almost 5 years ago by Simone Basso <[email protected]>
oonitemplates: remove the scoreboard

We're removing scoreboard since support for it has been previously
removed from netx in https://...

02c9b3aaf1fe3839598a838a654ba1327974588d authored almost 5 years ago by Simone Basso <[email protected]>
Implement the new tor experiment (#227)

Closes https://github.com/ooni/probe-engine/issues/226 and #276.

0728ce51789ac0c2a0e0ed1bf6b2fc73d0181b0d authored almost 5 years ago by Simone Basso <[email protected]>
psiphon, telegram: sync with latest spec (#225)

* psiphon: add TLS handshake data

This is consistent w/ psiphon's spec v0.3.2

* telegram: ...

41b419f2343d9298788b12edd263a5f5e4bc1013 authored almost 5 years ago by Simone Basso <[email protected]>
oonidatamodel: impement data format version v0.3.4 (#224)

595c18d216b07d9c476a12da79206971f79b42a2 authored almost 5 years ago by Simone Basso <[email protected]>
Implement data format version v0.3.3 (#223)

Part of #12.

de04b03ead2f6dca93c651190a0ab1eb4fbf80b3 authored almost 5 years ago by Simone Basso <[email protected]>
tlsx: factor common code for pretty printing (#222)

Part of #12. Code from #26.

b430c5d4edc6ffd3ecd957e4da6bffa32e7cce55 authored almost 5 years ago by Simone Basso <[email protected]>
oonitemplates.go: sanitise conn_id (#221)

We use port numbers in netx because this is a way to make sure
that we can bind together HTTP a...

ac122b82a21d5ca9ba65079c76197fe2f7eb6b6e authored almost 5 years ago by Simone Basso <[email protected]>
Forward zero start time to experiments (#219)

This is also functional to #12. This follows up from #218.

While there, also ignore the `.vs...

ba9ac2d261e2252506717eeb449755cd56a1b580 authored almost 5 years ago by Simone Basso <[email protected]>
oonitemplates.go: allow to configure beginning (#218)

No functional change because the default is still that we use
the current time, if beginning is...

fac37afbb792c199111040e1dfeff732530c2943 authored almost 5 years ago by Simone Basso <[email protected]>
Bump data format version to v0.3.2 (#217)

Related to https://github.com/ooni/spec/pull/174, which was
in turn motivated by https://github...

69ab6fd86c831e9cb525ee0fd962459d3cf9b7ea authored almost 5 years ago by Simone Basso <[email protected]>
oonitemplates.go: start exporting network events (#216)

I'd like to include the events to the output of #90.

62c5f0f0a480ef470f62d3f692236714fedfb498 authored almost 5 years ago by Simone Basso <[email protected]>
telegram.go: eliminate a data race (#215)

Turns out that my understanding of data races was imprecise.

While there, apply some cosmetic...

b7f99dfecddf6d94728c431745deb57dc66b29e6 authored almost 5 years ago by Simone Basso <[email protected]>
oonitemplates: implement OBFS4Connect template (#214)

* oonitemplates: implement OBFS4Connect template

There will later be opportunity to improve t...

1007211e54be6e32000617790831149714f3e6e5 authored almost 5 years ago by Simone Basso <[email protected]>
oonitemplates.go: allow skipping TLS verification (#213)

* oonitemplates.go: allow skipping TLS verification

We're going to need this in #2 to connect...

1b5d1de6893995534a96c0dc17143abb3cd3f4e1 authored almost 5 years ago by Simone Basso <[email protected]>
netxlogger: don't print response headers on error (#212)

When there's an error, HTTPRoundTripDone is emitted but we should
not attempt printing headers ...

33580a95d9f2146d756d92548fcc482c80fc660f authored almost 5 years ago by Simone Basso <[email protected]>
oonidatamodel: ensure maybe-binary values can round trip (#211)

Before this diff, we could not unmarshal when the body was binary
as I discovered while working...

d7e8c79b9b5ee781d32a9065b1999419bc9f93d6 authored almost 5 years ago by Simone Basso <[email protected]>
oonidatamodel: always take oonitemplates.Results as input (#210)

This way we pass the same argument type to all functions, which
is convenient when we have HTTP...

1f94a870475d03263862938e742f54ce4534eeaa authored almost 5 years ago by Simone Basso <[email protected]>
testlists/urls: use int64 for limit (#208)

Closes #191. Necessary to export predictable mobile API.

681ce11fd3da9725c437bd49ca18f7dd8abb0f5f authored almost 5 years ago by Simone Basso <[email protected]>
oonidatamodel: emit DNS data model (#207)

This was not implemented up until now, but actually is better
to have it, because #2 can also i...

c8fbe65f2e0ed29a92f4c12dde111fdc16428394 authored almost 5 years ago by Simone Basso <[email protected]>
Move oodatamodel to the internal package (#206)

So, it's close to oonitemplates. This is yak shaving that I am
doing in preparation for #90.

4ec79913d2901d70a960bd5a2c1d947f302a0734 authored almost 5 years ago by Simone Basso <[email protected]>
Implement the TCPConnect test template (#205)

This template is going to be useful to implement #2.

We are going specifically to use it to v...

61d29d06d552837a4940cd8026d81e348d4dcd11 authored almost 5 years ago by Simone Basso <[email protected]>
Fork ooni/netx/x/{logger,porcelain} (#201)

These are two experimental packages that are too bound to this repo
to be kept into the other r...

2dec981db59f104d2e07794c1251f4aec4b5ffa4 authored about 5 years ago by Simone Basso <[email protected]>
http: save headers as a list (#198)

Closes #114

58017c85b5d495f7aaaa51e100be214cc6ab3a87 authored about 5 years ago by Simone Basso <[email protected]>
Save the ASN of the resolver (#196)

Closes #178

68f6c1bdaa15f6b20b3bac1c19a6d17fd43c82b4 authored about 5 years ago by Simone Basso <[email protected]>
engine: use rogpeppe/go-internal/lockedfile for kvstore (#195)

This patch changes the way in which we implement the kvstore used
to keep track of orchestra, t...

980bba910e06dd0c266147729fb458d40ad7225a authored about 5 years ago by Simone Basso <[email protected]>
Join urlpaths without using filepath.Join (#194)

Using filepath.Join leads to wrong results on Windows where the
`\` path separator is used inst...

ce6f48d224c93383f5a6e38287cbd9a8d97d67fd authored about 5 years ago by Simone Basso <[email protected]>
resources: update to ooni/probe-assets@20191226162429 (#190)

fe12d247c3606de57f5a401bcd1aec6582d70bbb authored about 5 years ago by Simone Basso <[email protected]>
Merge pull request #185 from ooni/issue/164

orchestra: store authentication information

154943da033fbc6dbe7f409f9f8f3a5ae57a4042 authored about 5 years ago by Simone Basso <[email protected]>
model: make kvstore easy to use with java and sqlite3

While in Go strings can be binary, this is not the case with java
and sqlite3. So, be very clear...

a179afb986fa5f20e5630068f72d9e75265085a4 authored about 5 years ago by Simone Basso <[email protected]>
miniooni: PoC implementation of local state

aed6b6750d355a6a345fa5c5c35c6c44b40593b9 authored about 5 years ago by Simone Basso <[email protected]>
orchestra: better name for orchestrate URL

136487a12f901fb650d1186a20b5d46c56fa4bb8 authored about 5 years ago by Simone Basso <[email protected]>
internal/kvstore: make kvstore thread safe

Just an observation based on reading the code of the statefile
in memory currently being used by...

046df4331c5c47c65675b26cf7f612441fe67ba0 authored about 5 years ago by Simone Basso <[email protected]>
session: introduce generic key-value store

By default the key-value store is in memory. We will be able to
easily override it for ooni/prob...

4304f58ab6152bf065973f4289e44bdb1da2fdcf authored about 5 years ago by Simone Basso <[email protected]>
orchestra: statefile doesn't need to be an interface

The abstraction is already captured by the generic key-value store.

a9dfd1eed4dc990fb0e78b9e459dd0d2cc4e9f15 authored about 5 years ago by Simone Basso <[email protected]>
orchestra: implement statefile using key-value store

Part of #164. We are now able to use a generic key-value store
for the orchestra statefile imple...

2924f1a963252ea37580a246e7d1e3188eab0de7 authored about 5 years ago by Simone Basso <[email protected]>
telegram: replace C++ with Go implementation (#182)

As mentioned in https://github.com/ooni/probe-engine/issues/112#issuecomment-566958248,
I have ...

6a4a0a83098478c77ea49324cbec003df003d001 authored about 5 years ago by Simone Basso <[email protected]>
psiphon: simplify now that we get config from orchestra (#180)

* psiphon: simplify now that we get config from orchestra

Closes #168

* Remove error we do...

acf88ff4189a703e094020d96cd578a89c0f80ff authored about 5 years ago by Simone Basso <[email protected]>
telegram: attemp again to fix flaky test (#181)

The previous fix in #174 was correct, but not enough. The correct fix is
to also include the Te...

af5feb31e59bb1d89a182131f435994e6cb80fb9 authored about 5 years ago by Simone Basso <[email protected]>
psiphon: fetch and use config from OONI orchestra (#179)

Closes #167

9e3df558fc0690ac0ada53707339b0dc9b209df9 authored about 5 years ago by Simone Basso <[email protected]>
orchestra: fetch psiphon config via auth request (#177)

Closes #109

c4d0086ce4c7911d676ff38017d0c6b49ec96e41 authored about 5 years ago by Simone Basso <[email protected]>
dash: use https by default (#176)

To this end, update to neubot/[email protected]

Closes #155.

4d8244b7dc3d4094a8e30dd2f9ea1cdee584d20a authored about 5 years ago by Simone Basso <[email protected]>
Implement and use MK-like platform detection (#175)

Closes #169

8633f0bebb516d8d1926fd0b3e866acbb5b321f8 authored about 5 years ago by Simone Basso <[email protected]>
telegram/test: correctly define success accessing https (#174)

This should close #142. Because maps have no stable sorting in Go, we
sometimes pick the succes...

fb351b610128c0519234b9b8cb0eb8b5108db0d0 authored about 5 years ago by Simone Basso <[email protected]>
psiphon: include max_runtime in results (#173)

Suggested by @mirokuratczyk when we discussed the experiment
in a recent chat on Slack. Closes ...

a5e874eca444e2221ba3107f5cda77d7565fe39a authored about 5 years ago by Simone Basso <[email protected]>
dash: make sure failure is `*string` (#172)

Closes #146

dfc06c4e9738b051877fd544ecee22eb1732ca36 authored about 5 years ago by Simone Basso <[email protected]>
resources/assets.go: use ooni/probe-assets@20191213165358 (#171)

b08500676e974d08c116be7db631ed359deeaf31 authored about 5 years ago by Simone Basso <[email protected]>