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

dialerapi.go: also trace the default resolver

c29dee4d3d2bef1a884d9b735073de6a4e95cd3b authored over 5 years ago by Simone Basso <[email protected]>
Changes after code review

89c8b4de4290b821a5edbe4063bf6596b84afa6b authored over 5 years ago by Simone Basso <[email protected]>
Changes after documentation review

973fb0a74fdffa8ba233df504a0dc641bf4babe4 authored over 5 years ago by Simone Basso <[email protected]>
Fix some docs and hide the retry package

ed3b32fff6d144ef3912bb0e02ca7245c0725700 authored over 5 years ago by Simone Basso <[email protected]>
Significantly refactor to measure DNS connections

6a79f614a71cb6a370a442925993ee0680fea00d authored over 5 years ago by Simone Basso <[email protected]>
Use same strategy for all DNS resolvers

2d2dacd723936cdba049d80f43902d9d9294b92a authored over 5 years ago by Simone Basso <[email protected]>
Implement DNS over plain old UDP

Same strategy used for other DNS transports. Convince the real Go
resolver that we're an UDP con...

a9ead07ee85351967ce33c6454f618795309245b authored over 5 years ago by Simone Basso <[email protected]>
dox.go: fix panic when accessing addresses

5f966f82ced20fb225f36109537a168c3c264346 authored over 5 years ago by Simone Basso <[email protected]>
dns: buffer and store full messages

With DoT and DNS-over-TCP, we cannot guarantee that we will really
see full messages, even thoug...

7f8ec7cbd088c48613ba5c86189dc3fb644ecd03 authored over 5 years ago by Simone Basso <[email protected]>
dialTLSWithConfig: don't block on deadline expired

09fbf93bb313f7ae255d3a8ede1d15e78d799b99 authored over 5 years ago by Simone Basso <[email protected]>
netx.go: implement DNS over HTTPS

We create a net.PacketConn like connection and let the Go DNS
client do the encoding and decodin...

f85487727495c95eeed46b68220a8932d83bc2fd authored over 5 years ago by Simone Basso <[email protected]>
netx.go: sessID => connID

3a915d482a1a4bb78c4ab61fcf15b88ab836c388 authored over 5 years ago by Simone Basso <[email protected]>
netx.go: implement custom resolver and DoT

4a8f38a4f34d22632fac0af909aa7add495d2f16 authored over 5 years ago by Simone Basso <[email protected]>
httpx.go netx.go: don't name a method append

Since append is a built-in function, a different name may be
helpful. For example, the append me...

08fd72601d5b77b0c6b8770c491c113751ffba29 authored over 5 years ago by Simone Basso <[email protected]>
httpx.go: include `:status` also in measurement

be601cbbd293c7a23baa7ab1dd29acbde29eca4a authored over 5 years ago by Simone Basso <[email protected]>
httpx: Implement http2

After the previous patch, which paved the way, the only remaining
bit is to use a *tls.Config wi...

46cdf33d6f90ffbb3501e88cc0665c42e42397ba authored over 5 years ago by Simone Basso <[email protected]>
httpx/httpx.go: h2: print :status pseudo-header

89a8b5f9582fae215003e191c536a524cf0326cd authored over 5 years ago by Simone Basso <[email protected]>
httpx/httpx.go netx.go: dont wrap *tls.Conn

There is code in net/http that casts a net.Conn to *tls.Conn to
inspect the ALPN for upgrading t...

934309141e0a13f281b063775a6db93c54c782a0 authored over 5 years ago by Simone Basso <[email protected]>
Write a standalone implementation of retry

f85f6fd6b410d49c1ad7b3c6b4e796c121124e58 authored over 5 years ago by Simone Basso <[email protected]>
Redesign API with developer friendliness in mind

Basically, make sure using this code is pleasant and it
does not require one to do too much work.

d35333b00b64d79c61d569b595d89176071c751d authored over 5 years ago by Simone Basso <[email protected]>
Rename log/log.go logx/logx.go

I think logx is possibly a better name because it does not
conflict with the log package name in...

0aab58dea34de32d38b6719891cc220577675912 authored over 5 years ago by Simone Basso <[email protected]>
httpx.go: start improving top-level API

66ec339361d17a7b9661fc00441bfd0d387c6c7f authored over 5 years ago by Simone Basso <[email protected]>
go.mod: explicitly say we support go1.11

6703baff1a645b11558e46cab31cbf7f94e3b63d authored over 5 years ago by Simone Basso <[email protected]>
httptracex.go: precise HTTP logging

0d4a3f6d2bad89cbc3b03a05f4152b8d397170ec authored over 5 years ago by Simone Basso <[email protected]>
go.mod go.sum: go mod tidy

c2a55b4e44432ebb53d775478ad077d6eb1385b9 authored over 5 years ago by Simone Basso <[email protected]>
Move tls logging from httptracex.go to netx.go

b5c802c94ddabbb588aee18c6222a4f82cf8f92e authored over 5 years ago by Simone Basso <[email protected]>
tls: move implementation inside netx

That is the more logical place to do tls because doing tls there
allows to wrap tls.Con in a way...

02bc6964c8a439f7bb95ac3ba0065d2fa4ea6905 authored over 5 years ago by Simone Basso <[email protected]>
httpx.go: don't read the whole body in memory

f0373eeea2525c3150af1effd96cde8054adf3f7 authored over 5 years ago by Simone Basso <[email protected]>
httpx: implement unique request identifier

This is key to (1) avoid reading the whole request in a single
memory buffer and (2) bind HTTP t...

c172c4adc76a4aa2a408a15567325d77bc34fd5f authored over 5 years ago by Simone Basso <[email protected]>
Start implementing HTTP logging

7cb98d8ebae365e69cee5ebf614eeac6f6ccdec8 authored over 5 years ago by Simone Basso <[email protected]>
netx.go: also log read,write,close failure

1c3f1e6a964a53284fbbcd7cb7162f07568e041a authored over 5 years ago by Simone Basso <[email protected]>
netx.go: log most common errors

Do not use anything larger than log.DebugLevel because we want to
give ooni/prob-cli freedom to ...

f25f2ba7b53339726ca2d829ad31381956af8d6e authored over 5 years ago by Simone Basso <[email protected]>
netx.go: implement debug logging

fb3bbe58fda504ae2c5e1fa87390b03763affa0c authored over 5 years ago by Simone Basso <[email protected]>
netx.go: increase comments quality

1f9c7effa5d69331c674ab0a9d565825a77a9909 authored over 5 years ago by Simone Basso <[email protected]>
.gitignore: ignore /httpclient

c82d01a939a0670dbf051932ee7e918ea06b0b67 authored over 5 years ago by Simone Basso <[email protected]>
netx: implement logging DNS datagrams

80189fbf24d3c5e5c6aa413e82bcc2b948e82853 authored over 5 years ago by Simone Basso <[email protected]>
Initial commit

5b0f8a3975e5d08a3190d5603d85b9cb147b5302 authored over 5 years ago by Simone Basso <[email protected]>