Ecosyste.ms: OpenCollective
An open API service for software projects hosted on Open Collective.
github.com/ooni/netx
OONI's Go net and net/http extensions for performing network measurements
https://github.com/ooni/netx
* Clearly mention that netx is not maintained anymore
Modify the documentation and the runtim...
11e21a6d1a3abf1990dce7006614e582d3233082 authored almost 5 years ago by Simone Basso <[email protected]>4f8d645bce6466bb14380b504623102858075cc7 authored almost 5 years ago by Simone Basso <[email protected]>
Implement padding for DoT and DoH
4cf9bd2fda9455cf5eb24f345badc29e4e146385 authored almost 5 years ago by Simone Basso <[email protected]>
1. my understanding of the RFC is that the whole query must be
a multiple of the desired size, s...
According to RFC8467.
Close #95.
dbb94370a7436df2f653f5459016910af6525b78 authored almost 5 years ago by xhdix <[email protected]>
1. this code cannot stay in this repository because it is poised
to change quite frequently alo...
Closes #127. Related to https://github.com/ooni/probe-engine/issues/2.
9c81a8088bb3a8b8199acbc56720be3d56028fd7 authored almost 5 years ago by Simone Basso <[email protected]>57079947570350364c1bfb711a1ac65b5fd8a9d8 authored almost 5 years ago by Simone Basso <[email protected]>
Detach porcelain from netx/internal
cc9be0ff637c8965c406dec75a813bfc142cf710 authored almost 5 years ago by Simone Basso <[email protected]>
It makes sense to discuss the scoreboard, because this is a
functionality that we hope will even...
It was not always made obvious enough.
9ce476abeaace8a290342d86a70671250f4a18b0 authored almost 5 years ago by Simone Basso <[email protected]>c7c4bb433032595ff50245f1363f067673fbd50b authored almost 5 years ago by Simone Basso <[email protected]>
We were previously wrapping the error in porcelain, which was not
100% correct, because technica...
This is an internal implementation detail currently used by x/porcelain. We
are planning on fork...
* ooniresolver_test.go: clarify when this test may fail
It certainly fails in my house. I hav...
4d36a130f0f895cb81af000d92f962c7b5cc1bdc authored almost 5 years ago by Simone Basso <[email protected]>8b6135339b0318dc4b1e06de3d33f97fcc9ed816 authored about 5 years ago by Simone Basso <[email protected]>
It's more flexible to depend on an apex/log like interface.
1db22423ffb2f2dc2a051beccb8f612980579e10 authored about 5 years ago by Simone Basso <[email protected]>cURL like logs, support Accept{,-Language}, disable auto-followup for bogons
01cf606d5441604906bbeec0f53dbadfbd185848 authored about 5 years ago by Simone Basso <[email protected]>Closes #137
68ad428581e4638c611438375c58b50b0a888e50 authored about 5 years ago by Simone Basso <[email protected]>Closes #113
cea23a809aa55e14319ce2e0801f365871bd20ad authored about 5 years ago by Simone Basso <[email protected]>
In principle, we may want to measure a website from a place where it has
a bogon address, so we ...
porcelain: add proxy and byte counting support
75e074291fcae01a0730154079c569ff0d5057dc authored about 5 years ago by Simone Basso <[email protected]>Closes #133
62d1f36c77f321d14f81a38cde8c2e228123e07c authored about 5 years ago by Simone Basso <[email protected]>Closes #131
7358ecb882ec1024aaed80140ef3e0b815b22600 authored about 5 years ago by Simone Basso <[email protected]>Closes #130
d4974a14cbabf12388fd38dcb58818838e88f397 authored about 5 years ago by Simone Basso <[email protected]>This helps with analysing tests for SNI triggered RST injection.
bdfd74d9fb6809c6c93cf05995e4991171defd0c authored about 5 years ago by Simone Basso <[email protected]>af540e347965233d0129a7aeb69884bc2bef4ab2 authored about 5 years ago by Simone Basso <[email protected]>
7011d1451771deb0ed043dcaa9d8e4c7f8ecfb20 authored about 5 years ago by Simone Basso <[email protected]>
* README.md: slightly change the wording
* Update README.md
31fc6a647fd23ddb8de7def566e353b25bdeeae3 authored about 5 years ago by Simone Basso <[email protected]>* http: always enforce a body snap size
If the user explicitly requests for unbounded bodies,...
0563295d50dc324b28b9f6d680d2de53fab04777 authored about 5 years ago by Simone Basso <[email protected]>This is for clarity. Noticed when integrating with probe-engine.
17bb320715da8cd0eb14cf72312a3a305a617e80 authored about 5 years ago by Simone Basso <[email protected]>
It otherwise clashes with ooni/probe-engine/model and hence it's
a bit confusing when you quick...
No real API change. What changes is the way in which I think
about next, so updated the documen...
Related to #9 but implemented differently.
2f2b9491ea55b45c3ac6e75b9790052aa263a66a authored about 5 years ago by Simone Basso <[email protected]>c844c78252254194d4108b14eb7102bd05b3e635 authored about 5 years ago by Simone Basso <[email protected]>
Closes #20
928d81dd8de85de71aba0d2f4271cb6cc2eed9c5 authored about 5 years ago by Simone Basso <[email protected]>The first error is the one that is most likely to be caused by the network. Subsequent errors ar...
aa7ac6327b11545103def2a4b38807dfa8c18c32 authored about 5 years ago by Simone Basso <[email protected]>
Complement the previous path by forcing no keepalives if the
user requests doh with a handler.
...
As explained in the code, this allows us to avoid worrying about
closing the connections that a...
Not necessarily needed but very helpful to implement OONI tests.
Xref: https://github.com/oon...
0f827f754d5353ad929b73d31289ac2e539e5b7e authored about 5 years ago by Simone Basso <[email protected]>* errwrapper: map the TLS handshake timeout error
* ooniresolver: correctly recognize and han...
84abe2feb585c1f33b75ea33fcd9a092c7b9a695 authored about 5 years ago by Simone Basso <[email protected]>c53a3e99fadbdeedb32b92cce5bcf1239cf1948a authored about 5 years ago by Simone Basso <[email protected]>
Xref:
- https://github.com/ooni/probe-engine/issues/87
- https://github.com/ooni/probe-engine/...
Functional to enable follow-up measurements.
Xref: https://github.com/ooni/probe-engine/issue...
5197c35de0592010242a55a793551825a59b700c authored about 5 years ago by Simone Basso <[email protected]>
Now, rather than using nervousresolver as an opt-in that is not
so easy to use, you can chain a...
While there make sure netx.go has 100% coverage
d7d1d5801404c5c76cc6ab5fa6e3e223415abd1b authored about 5 years ago by Simone Basso <[email protected]>* Make sure every toplevel op is cancellable
* Significantly reduce risk of flaky tests
b4ad002651f0c160811166b492ece17d5ffe1b7a authored about 5 years ago by Simone Basso <[email protected]>* Make sure all packages have 100% coverage
* porcelain: add test for late write on channel
39e3589530f5b625492c21f0caf19ea93c311a4e authored about 5 years ago by Simone Basso <[email protected]>While there, zap existing clients that were creating significant
test burden and replace them...
* http: change body reading strategy
Always read snapshots of all bodies. Limit snapshot to 1...
099f66c20ae3aab3ad9b9a8f93a14100e1e21b13 authored about 5 years ago by Simone Basso <[email protected]>
We were creating a system resolver that was not correctly wrapped
using the emittingresolver, h...
359d01d95da6954b794f03ecde6274db9f832d70 authored about 5 years ago by Simone Basso <[email protected]>
* internal: let the resolver emit resolve events
This fixes a bug where a standalone Resolver...
318609d03d541d14477949d5971b75726887199e authored about 5 years ago by Simone Basso <[email protected]>
There is no actual resolve of IPs. We include the TxID also in
the connect event, so there's ac...
* Add porcelain to facilitate SNI injection testing
* Repair broken tests
Package flags mu...
7b08df0915e34431daa9c7b40817d21795ca07de authored about 5 years ago by Simone Basso <[email protected]>
We should probably introduce a longer chain of fallbacks in the
nervous resolver, but, for now,...
Not immediately necessary, but nice to have.
54fdd2659fc190d64091c56f6b974d12caddf139 authored about 5 years ago by Simone Basso <[email protected]>
I've determined that it's better to add more porcelain here as
an extension, and keep ooni/prob...
This diff implements easy handling of round trips by putting into
the same event all the inform...
We need to observe real headers, so reduce the magic performed
under the hood by Go. The really...
* Rework nervous resolver and make it opt-in
I realised it was not a good idea to have it hid...
37f2a8ac1bd89000d584f689dfb23708bb4a0df9 authored about 5 years ago by Simone Basso <[email protected]>
Implement retries for queries. Tested with unit testing as well
as configuring ooni/jafar to dr...
For now let us limit to act if we see any bogon. If we see at
least one, we cannot trust the up...
* Add some porcelain to simplify using netx
* fix embarrassing bug
* much better tests for...
547cc5f05d97daf8744663277611f188a0ddd336 authored about 5 years ago by Simone Basso <[email protected]>More confidence, less stress.
1731186d7be509e130afbe9399aad30b872c4c38 authored about 5 years ago by Simone Basso <[email protected]>
The scoreboard package will probably benefit from some more
precise unit testing with respect t...
Implement a scoreboard and write there what we see. The follow up
action may or may not be requ...
I will soon use this feature to implement interim resolves info.
bd3538c10d03ee4125af444b62541fe053c9ea70 authored about 5 years ago by Simone Basso <[email protected]>19a7837864ba320c9743cc7bc924226787bf23da authored about 5 years ago by Simone Basso <[email protected]>
I am not 100% sold yet on what is the actionable top-level event
to in order to clarify in the l...
A MeasurementRoot can contain an alternative LookupHost function
which may be used to bypass th...
After trial and error, I have determined that, in general, to decide
whether we need follow-up ...
f434bb88bffebf590109c33406398c4b6c65854d authored about 5 years ago by Simone Basso <[email protected]>
* Make sure errors are MK compatible
* we now require Go v1.13
be033a6e89c1298dc10a286d9874e9d30217ee72 authored about 5 years ago by Simone Basso <[email protected]>
Mainly naming suggestions by @hellais. Also, mention context
rooted measurements as an alternat...
ebab5efa7210c5109f57fe7662ea5a4c0a2a11e0 authored about 5 years ago by Simone Basso <[email protected]>
1. make sure that, when we start a DoH transaction to resolve a
domain name, we know which di...
* Introduce pretty logging of events
It turns out I'm much more efficient at reading such log...
9cdf74141ef2de04a1dfb4de3741916e5d2d9f83 authored about 5 years ago by Simone Basso <[email protected]>
This is useful to distinguish the case where the error was in
sending the request from the one ...
Lots of stuff may happen between the beginning and the end of a
resolver, therefore, it makes s...
No hurry to do that externally, for now. Paves the way for
doing that quite easily, however.
I'm starting to think it would be better to pass the handler
through a context, and to have a u...
122648e3cb1d053be693739c0a2cd0d45d9d46b4 authored about 5 years ago by Simone Basso <[email protected]>
The round trip is what happens since we start thinking about
sending a request until when we re...
07692e1b65801e4ac7e2f7a46b434681f421d151 authored about 5 years ago by Simone Basso <[email protected]>
We are using the local port and the protocol. This makes it
possible to join HTTP and network l...
28722ce585faebb1db80e1e9af91040318e12062 authored about 5 years ago by Simone Basso <[email protected]>
55a53fe5cbe47bf9ca76e70c7c795f6f93464ce5 authored about 5 years ago by Simone Basso <[email protected]>
fac71f7f72f38a3595834b471e04aaaac0a3c682 authored about 5 years ago by Simone Basso <[email protected]>
c31233f41a8901710ad5b14c305602ea0e4bf758 authored about 5 years ago by Simone Basso <[email protected]>
* http: start splitting the httptransport
* Drop support for Go v1.11
It does not have Clo...
96ac367b93abecf13d88eb4193bf7ab96b525b74 authored about 5 years ago by Simone Basso <[email protected]>6cf64f0f1d2e19f22b8090fb8251d311bea3d029 authored about 5 years ago by Simone Basso <[email protected]>
* resolver: move configuration-like code to internal
* internal.go: forgot to simplify using ...
1dccd42fadb17144ae0990c1a78ecddb806fbcb6 authored about 5 years ago by Simone Basso <[email protected]>
Now everything inside dialer more or less makes sense and we
have got rid of a good amount of s...
What remains code support for version 0.1.0's API
810b237b88b9fe4b3b6bab7a2918af24c3f10451 authored about 5 years ago by Simone Basso <[email protected]>887c35b0b61837a5f4a76744124664a29ca34cc0 authored about 5 years ago by Simone Basso <[email protected]>
0c64bee8c4794855348a8e82dd9d7274a8b79b19 authored about 5 years ago by Simone Basso <[email protected]>
d6c36a645a5772c1c1400b84d083e906bf3b2c1b authored about 5 years ago by Simone Basso <[email protected]>
A dial may consist of more than a single connect, so it is
actually wrong to use the same ID fo...
0963a5a51db2742db1e183e870c20383c878765d authored about 5 years ago by Simone Basso <[email protected]>