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: use model.DNSResolver interface (#51)

8ffe27a45c8d2c6b7bc9c43545c025540b9e8027 authored about 5 years ago by Simone Basso <[email protected]>
Put everything resolver-related in internal/resolver (#50)

1a168b8831543414ccbdcaae33f9ec0c58fdf2a3 authored about 5 years ago by Simone Basso <[email protected]>
Rename: oodns => resolver/ooniresolver (#49)

Yak shaving.

f4c076d8eb5ccce30e908ae74bf4c1ea78d8d749 authored about 5 years ago by Simone Basso <[email protected]>
Let DNS transports take interfaces in input (#48)

5b9df9de3f2e4713c026708ab9ee7e0418d89dfe authored about 5 years ago by Simone Basso <[email protected]>
dnsovertcp: don't expose internals (#47)

(More yak shaving.)

f619540012cc560a757af82cfca0820609a6cb96 authored about 5 years ago by Simone Basso <[email protected]>
oodns: hide implementation details (#46)

This is yak shaving. I had to change tests of course.

2df51ed58e7faac0c946769b19564fb5da67d21c authored about 5 years ago by Simone Basso <[email protected]>
Remove the godns package (#45)

This was a hack useful to bootstrap DNS measurements but
it is also in the way of more refactor...

3213b5d23ac89959b211072f0c5f67723f91d678 authored about 5 years ago by Simone Basso <[email protected]>
Move relevant DNS interfaces in model (#44)

Keep dnsx because it's the API. Yet, move to save import headaches
and just have aliases in dsnx.

802f28460b12093225ac4a93bf70de3e8869fdf5 authored about 5 years ago by Simone Basso <[email protected]>
[API CHANGE] Pass context to dns RoundTripper (#43)

This is required to pass along cancellation information, where this
is possible, as well as inf...

8e02c77d1fee1411a6da0dcf9ca7c46f30c8f4aa authored about 5 years ago by Simone Basso <[email protected]>
Merge pull request #30 from ooni/feature/refactor-1

dnsovertcp: decouple from netx/httpx

13473e1f176644ed8ab7bd319d5a3acb8eeb1cf4 authored about 5 years ago by Simone Basso <[email protected]>
Address feedback by @xhdix

10eb3ee911dc6a881fb53550afed08a70f3f0aca authored about 5 years ago by Simone Basso <[email protected]>
dnsovertcp: decouple from netx/httpx

Same purpose of #28 and #27. We want to reach a situation where we can
construct a DNS transport...

140a742f84acfed81f4f93e56ae9f15adc722fff authored about 5 years ago by Simone Basso <[email protected]>
Merge pull request #28 from ooni/feature/refactor

dnsoverudp: decouple from netx

cc100af857e3d6c6e66998cafcbe9501534068d5 authored about 5 years ago by Simone Basso <[email protected]>
dnsoverudp.go: bump I/O timeout to five seconds

Prodded by @xhdix in https://github.com/ooni/netx/pull/28#discussion_r336553305

7dee9dc60667f8941a77552e2975a28f866a68e7 authored about 5 years ago by Simone Basso <[email protected]>
dnsoverudp: decouple from netx

Like 556048a6d9062ff3ab84c410b4bdef19095b2360 but for DNS over UDP.

12c532c0e6513f5d201a99b552db6d86daac90d9 authored about 5 years ago by Simone Basso <[email protected]>
dnsoverhttps.go: decouple from netx/httpx (#27)

556048a6d9062ff3ab84c410b4bdef19095b2360 authored about 5 years ago by Simone Basso <[email protected]>
Merge pull request #26 from ooni/feature/refactoring

A bunch of small refactoring commits

a8441174e3663ff5cb080a0351d45d343c327772 authored about 5 years ago by Simone Basso <[email protected]>
dnsx/dnsx.go: fix grammar

806c2c930a647e2cef2abe22c87cce2cf51b63ba authored about 5 years ago by Simone Basso <[email protected]>
netx.go: fix spelling issue in a comment

780af4ddcd8582b5631d52e94b18f37dd34d5d2e authored about 5 years ago by Simone Basso <[email protected]>
netx.go: fix ConfigureDNS documentation

50f21775a1b5753ca23d2c3b61fd4baba76f1e84 authored about 5 years ago by Simone Basso <[email protected]>
dialerapi: compose rather than embedding dialerbase

This is again yak shaving. With composition I am hoping to further
decouple dialerbase and diale...

d69ff41dd73c777fa54654540f491c94aeb19b82 authored about 5 years ago by Simone Basso <[email protected]>
Write constructor for dialerbase.Dialer

Again yak shaving. This just makes the code more tidy. It was bothering
me a little bit that we ...

0d39e20c08af2f94e4eda247418d1daa252e8615 authored about 5 years ago by Simone Basso <[email protected]>
httpx.go: fix documentation comments

This is purely yak shaving. I encountered these incorrect comments
while doing other work and de...

2e747a70792cfbe6fac8fee7a7b7fb0cb4416721 authored about 5 years ago by Simone Basso <[email protected]>
http: track reading response body (#15)

40580e563fc75b353e04eca8a023df8206854af6 authored about 5 years ago by Simone Basso <[email protected]>
improve specific dns server (#13)

2330bba95aa6798a66dc8518fa68e6d6e0814066 authored about 5 years ago by xhdix <[email protected]>
httpclient: allow to choose specific DNS server, print HTTP body (#12)

d2f8f756e28fc13a19313694d29e5563079d95cc authored about 5 years ago by Simone Basso <[email protected]>
Merge pull request #11 from ooni/issue/8

netx, httpx: implement ForceSpecificSNI

4141fbff344213d5e34e4b56628786ef7cdda069 authored about 5 years ago by Simone Basso <[email protected]>
httpclient: do not ignore errors

Prodded by @xhdix.

6f51237c6c3c978289b7a7abc26230dfc41dbe89 authored about 5 years ago by Simone Basso <[email protected]>
netx, httpx: implement ForceSpecificSNI

This is a necessary building block for measuring SNI based
blocking inside a specific network.

925b538008aa0ed2124465294b460ca608382023 authored about 5 years ago by Simone Basso <[email protected]>
Mark DESIGN.md as approved

e38443adcf88fffff65b0d03567336531e74174a authored about 5 years ago by Simone Basso <[email protected]>
Copy editing of DESIGN document (#10)

12c4705dac8e0be2bfdbc22c6968af26a9e71fc2 authored about 5 years ago by Arturo Filastò <[email protected]>
DESIGN README: clarify relationship with ooni/probe-engine

a184b7a4f0db0395ae9b592906d7e471adbfb352 authored about 5 years ago by Simone Basso <[email protected]>
DESIGN.md: fix nesting of sections

b0e750b091b65f572d1c3e881c4146a98a3c8ea2 authored about 5 years ago by Simone Basso <[email protected]>
DESIGN.md: better explanation of some netx.Dialer methods

9bd568b2446b06d25c94054efe5f543377b4c87c authored about 5 years ago by Simone Basso <[email protected]>
DESIGN.md: remove unnecessary paragraph

93464b6643f9bd586cbc0b9e2b24816d22a630bb authored about 5 years ago by Simone Basso <[email protected]>
DESIGN.md: add missing "aware" word

999562f97e1db2575ea2eebace024f36ff2323b2 authored about 5 years ago by Simone Basso <[email protected]>
DESIGN.md: readability tweaks and clarifications

bbe16e30c351d8bc7774c6725fd46d91140141fb authored about 5 years ago by Simone Basso <[email protected]>
Add DESIGN document to the repository

a530b14a0aba93d8f65be39d62bc4766f1816444 authored about 5 years ago by Simone Basso <[email protected]>
Allow the code to use a custom CA bundle

Closes #6

1e5def2970fa286ee8953143b868a02bbae69a6a authored about 5 years ago by Simone Basso <[email protected]>
dns: introduce system resolver and use it by default

6508f3daa9cf498797d803d86bdb691befd81407 authored about 5 years ago by Simone Basso <[email protected]>
README.md: direct link to subpackages docs

3956ececcfc9969d090fcb162055c0dd0e4d619f authored about 5 years ago by Simone Basso <[email protected]>
README.md: mention also internal and support packages

11a8641aab84224a770f6f0ff7b24d0ab1d149b9 authored about 5 years ago by Simone Basso <[email protected]>
Further tweak the README

1dd1154f0dea584f39dbfac3d6cec98b275c9488 authored about 5 years ago by Simone Basso <[email protected]>
README.md: fix link to dnsx docs

35813e8dd450b32381a54a8e567318810e41403c authored about 5 years ago by Simone Basso <[email protected]>
README.md: make sure this is a proper readme

Remove the DESIGN document sections and make sure that the
remainder really has the typical READ...

5250b7c15cf677054a6883de27ac2d48403f1b63 authored about 5 years ago by Simone Basso <[email protected]>
README.md: flag has been renamed -help

79275a8d63556b9ee4449f5b47808cc5e23b689d authored about 5 years ago by Simone Basso <[email protected]>
.travis.yml: no need to run built commands

We already do this kind of testing by running tests.

1a553dd7aa95dd3d3d1add87f6da0a4482ac3f11 authored about 5 years ago by Simone Basso <[email protected]>
fix(cmd): do not define flagHelp twice

Apparently this is not a good idea in terms of measuring the
coverage because we have a runtime ...

c9bc1f0f90a5e201d261085c0ebafdd90579eb0a authored about 5 years ago by Simone Basso <[email protected]>
Write tests for example commands

dac752ad8f14721b3c8d2a84b0e6016ee51df1bd authored about 5 years ago by Simone Basso <[email protected]>
oodns: write more tests

f7b059ed4cb2a193ab5f8540de49530022f14edf authored about 5 years ago by Simone Basso <[email protected]>
Run gofmt -s -w on the whole repo

0d8adeed82c57238db672b9a542b86cbdf3824bd authored about 5 years ago by Simone Basso <[email protected]>
Write more missing tests

abf039134b04cc97edc5354c13f0d21668fec44b authored about 5 years ago by Simone Basso <[email protected]>
Move repository in the OONI namespace

This is one of the steps @hellais said were required in order
to move forward with this piece of...

111e220d770f289108af03fc3ee5fdb526e4906a authored about 5 years ago by Simone Basso <[email protected]>
dialerapi.go: remember to clear TLS deadline (#2)

Otherwise subsequent I/O may fail. We just wanted to use this
deadline for time-boxing the TLS ...

1c59c39394f5c55c1e0e8db9872505fc26f5287c authored over 5 years ago by Simone Basso <[email protected]>
README.md: better document my intention

9c0e4174072d0001517a731aedd35beb65a229c1 authored over 5 years ago by Simone Basso <[email protected]>
README.md: mention example of net.Resolver replacement usage

72cb000771b589bd5d23de7efce89a8a80c2388f authored over 5 years ago by Simone Basso <[email protected]>
Finalize the README

4a287640b67b4e34444b0a423984632068ac65b6 authored over 5 years ago by Simone Basso <[email protected]>
Force travis to use Go modules

53232a49cac226d18afe701e4d610fea95e2b6b8 authored over 5 years ago by Simone Basso <[email protected]>
Make default clients usable, document, and test them

b8b1281d77ce51a5c49a4f400f02785a19f44414 authored over 5 years ago by Simone Basso <[email protected]>
retry.go: succeds => succeeds

0f7f0363a72b4de5c92fa295812951364cdbb34d authored over 5 years ago by Simone Basso <[email protected]>
dnsovertcp.go: prevent data race in initialize()

God bless `-race`.

474ab71867c11326801a25c72b60f25ea269f1fb authored over 5 years ago by Simone Basso <[email protected]>
Silence all tests

This makes it easy to navigate tests results.

81fd2956fd411aaa12a5fdc569de86f9106a6ebd authored over 5 years ago by Simone Basso <[email protected]>
.travis.yml: run tests with -v and -race

This would have prevented #1 early.

dd3a2615e4541bdd6e0486ba457d40b45365391a authored over 5 years ago by Simone Basso <[email protected]>
dialerapi: avoid racy pattern in tlsHandshake

Closes #1

a36fb379d862d12402c751ee896ecde2b5b2b33b authored over 5 years ago by Simone Basso <[email protected]>
godns_test.go: make all assignments effective

9458d1032ea82fda7ee0532341b4a9949cb902b5 authored over 5 years ago by Simone Basso <[email protected]>
Run `gofmt -s -w` on all files

77edddd624216793a3a815eb7ee696e5f0a2cf70 authored over 5 years ago by Simone Basso <[email protected]>
Add initial README.md

b3a1ee2416cc02fdeabfc4425ade0e682b6d1885 authored over 5 years ago by Simone Basso <[email protected]>
Make the StdoutHandler part of the API

b8b17af4c23e379d6e6a749945f5336f6be6f557 authored over 5 years ago by Simone Basso <[email protected]>
Add .travis.yml

e9f7ad7e742db6d82000c1a9090cdeca5316cdd3 authored over 5 years ago by Simone Basso <[email protected]>
Add AUTHORS and LICENSE

78640bd1791ebb96b370f2a9ef7d57d6f3c440aa authored over 5 years ago by Simone Basso <[email protected]>
Repair some unit tests

19271dca8be53bdef3321427dbde7e32588c4894 authored over 5 years ago by Simone Basso <[email protected]>
retry.go: explain why code is here

0b0a3de35f52aa5aef11b12d2c3d6b7ef426fc6d authored over 5 years ago by Simone Basso <[email protected]>
dnsconf.go: rename otherwise ambiguous symbol

e077a6cad863a6de26e01f3377107f25361334a3 authored over 5 years ago by Simone Basso <[email protected]>
Rewrite Go DNS code to be readable and testable

3685a7669aa549dbcbb9ae3968c9246d236c11e4 authored over 5 years ago by Simone Basso <[email protected]>
dopou: use dnsoverudp

f588cca0815647eb320e96076dc6a937fd9c0554 authored over 5 years ago by Simone Basso <[email protected]>
Write testable dnsoverudp.go implementation

d1ba9541a0e7cf5446b5b5ddb807cc3a6a504d57 authored over 5 years ago by Simone Basso <[email protected]>
dnsovertcp: create own dialer

This makes the code logically more clean.

a26338c84740ea6f3c6ba5c102c1be907718c91d authored over 5 years ago by Simone Basso <[email protected]>
Refactor DoH to have a cleaner implementation

f8de376b71bf829232e2bea176d6591fb1e1ae12 authored over 5 years ago by Simone Basso <[email protected]>
Introduce and use testable dnsovertcp package

df308e61dff9fafb7df1119186f292ed75f2a6bc authored over 5 years ago by Simone Basso <[email protected]>
httptransport.go: remove useless panic statement

Because of the way in which we're using this library, we're clearly
just configuring http2 once....

ac1af651b656a621e8fb0b5db256fd2e5afb0d84 authored over 5 years ago by Simone Basso <[email protected]>
internal: merge tls with dialerapi

02f31e76a6bd3efaaca7f8467f215214ed8c9822 authored over 5 years ago by Simone Basso <[email protected]>
Write more tests

f5ee10b0e68847d9ed085f76f3ecdcf939738739 authored over 5 years ago by Simone Basso <[email protected]>
Add test to measure SNI mismatch

f9ddf811c75270c30aa6a92e713d4dc5ca429c0d authored over 5 years ago by Simone Basso <[email protected]>
Streamline changing the SNI for testing purposes

a588be168347a049c9e56cdd679ebab6cd9f4172 authored over 5 years ago by Simone Basso <[email protected]>
Start writing tests for dialerapi.go

4813a5db9a2cb63ee3ee3c24ce665b1627ef4d7d authored over 5 years ago by Simone Basso <[email protected]>
Add tests for dialerbase.go

3dd4ac9b959bce90a2f920a9f0aae689b145c768 authored over 5 years ago by Simone Basso <[email protected]>
Start adding more tests

6dcdecc5ee9f84a1a01e154afcd1f8366a64716c authored over 5 years ago by Simone Basso <[email protected]>
Add files showed in the demo for the team

7ae1de3fdf2ef9d9a81eabf06bf360d62161f3bb authored over 5 years ago by Simone Basso <[email protected]>
model: better name for TLSCertificate data

2c5d971f9d6f6d9369dbdbabfcb8f92057894115 authored over 5 years ago by Simone Basso <[email protected]>
httpclient: use DoH for the demo with the OONI team

6b62628636f3a156f74e552748f981d34c1e4318 authored over 5 years ago by Simone Basso <[email protected]>
Changed my mind: let's return an interface for the resolver

When we can return an interface of the stdlib, like RoundTripper, we
do that because this is mor...

bc444ede8150e347bf082007cb9f76d8f71677ae authored over 5 years ago by Simone Basso <[email protected]>
Start sketching out experimental DNS

fa1eb8c151edecab43fe40f365bf3fe539b384cf authored over 5 years ago by Simone Basso <[email protected]>
netx.go: let NewResolver return a real *net.Resolver

This is more consistent with the spirit of this library where
we typically want to return struct...

c05643a44ad20d0b812cd8b80fa09fb7cebb43a9 authored over 5 years ago by Simone Basso <[email protected]>
Expose an abstract DNS RoundTripper

This is the first step towards making a resolver that works
everywhere using different transports.

d6752249b81d9a75bf5e90030fe3f3b491d68c7e authored over 5 years ago by Simone Basso <[email protected]>
Expose the possibility of invoking the DNS

Unfortunately, because of the CGO/NETGO split we are forced
to expose an interface because we an...

b6236dace355be62be073a9e1390711b6796da0c authored over 5 years ago by Simone Basso <[email protected]>
Rewrite using a handler interface for simplicity

Too many unnecessary headaches with the channel.

96437b0cd9c5ffefbbc6c4c65e894966836a434c authored over 5 years ago by Simone Basso <[email protected]>
go mod tidy

4e3bd30abae67500a22c534dc6acae82d8473ff0 authored over 5 years ago by Simone Basso <[email protected]>
This DialDoX was a bit too far

76ee4c8fd0f294ea214446bfe04aeeb71382dfbb authored over 5 years ago by Simone Basso <[email protected]>
Allow usage of any DNS library

996739781d8ddcc59dc5d41e5b982652e15cb423 authored over 5 years ago by Simone Basso <[email protected]>
Also log body of DNS messages

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