Ecosyste.ms: OpenCollective

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

github.com/ooni/jafar

Grand vizier of censorship simulation
https://github.com/ooni/jafar

README.md: mention that repository is deprecated

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

6c44b69029c571f1a47e202633f026c7e0f6157f authored over 4 years ago by Simone Basso <[email protected]>
Allow to run tests on non Linux systems

Of course, the coverage is gonna be lower. We don't specify with tests
the behaviour on non Linu...

1a02f3793101f4bce055e1fdaddf6f266bb19e1f authored over 4 years ago by Simone Basso <[email protected]>
Remove dependency from github.com/m-lab/go (#30)

We want to merge jafar into probe-engine. We don't want to carry over
the dependency from githu...

0fe9a66fb6f0f064551e39060ffc9e3934eb0ba2 authored over 4 years ago by Simone Basso <[email protected]>
jafar: use github.com/ooni/probe-engine/netx (#29)

We were still using the deprecated github.com/ooni/netx. Let us
instead use github.com/ooni/pro...

959d368fb5355a3e6adec0207ac364bdedadb2f3 authored over 4 years ago by Simone Basso <[email protected]>
Merge pull request #28 from ooni/feature/updatedeps

Update deps and adapt to current miniooni

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

fe4cc68252d5e66f2bef60884cf6643a4c615a5e authored over 4 years ago by Simone Basso <[email protected]>
qa/telegram/telegram.py: work with ooni/probe-engine@4471d374de3ea161f5e93ab678bd623d2e8c6a02

804d79d0f04651567fe18596f29be993401d9064 authored over 4 years ago by Simone Basso <[email protected]>
go.mod go.sum: update dependencies

b28266704fb44d766b247241b9022b955b1d9185 authored over 4 years ago by Simone Basso <[email protected]>
iptables: more consistent files naming (#27)

The toplevel file is now iptables.go. The unsupported case is
clearly marked by being now named...

da3a10dc1ae4cf30c7c08d4a0629c13097e16868 authored almost 5 years ago by Simone Basso <[email protected]>
Check all error conditions we care about w/ integration tests (#24)

This diff adds extra integration test checks that make sure we continue
to be able to reproduce...

22e9eb21994e46fb416fd9d223cd9e7b409ead41 authored almost 5 years ago by Simone Basso <[email protected]>
badproxy: handshake when using TLS (#25)

Related to #7. We want to close the connection after we are sure
that we have completed the TLS...

97e1ed2a66aeb114aa930b8e909804f0f21f7ea5 authored almost 5 years ago by Simone Basso <[email protected]>
badproxy: add support for TLS (#23)

e52cbd567912a0cdbf76bc45a9c97d2b58eb2ca4 authored almost 5 years ago by Simone Basso <[email protected]>
httproxy: return blockpage along with 451 (#22)

This is part of #7

a8966419d98e548f9009b0f3d6d19013be75d4d4 authored almost 5 years ago by Simone Basso <[email protected]>
Add a "bad" proxy server (#21)

* Add a "bad" proxy server

This proxy server will read some bytes from any connection and the...

097774d6c7927f5e1146b78d88fd2ba6b34079c2 authored almost 5 years ago by Simone Basso <[email protected]>
main: propagate child exit code on failure (#20)

This allows to write tests where the child is, e.g., curl and be
confident that the return code...

34a4f115508fa27c1bd6b914136d682686bd3a6f authored almost 5 years ago by Simone Basso <[email protected]>
iptables: hijack ports 80 and 443 (#19)

* iptables: hijack ports 80 and 443

I have not figured out yet a way to hijack these two port...

60059de34a25182811c20662fd48bb36ef632baf authored almost 5 years ago by Simone Basso <[email protected]>
telegram: test case where we block all (#17)

This is an important test case because we need to make sure we have
a reasonable output even wh...

e2f82af8996d4ef457839b2563883fd312dc8561 authored about 5 years ago by Simone Basso <[email protected]>
qa/README.md: clarify what tools we do QA for

689c8b50e593e1d033e4354e99ed58b202a7d374 authored about 5 years ago by Simone Basso <[email protected]>
qa/telegram.py: QA telegram implementations (#15)

We can use this script to perform QA of telegram implementations. We are
using the command line...

b537dc1f20fd111c557c3e533ef61b1fb4ba6d76 authored about 5 years ago by Simone Basso <[email protected]>
iptables: implement filtering using hex strings (#14)

Required by #6. I have determined the most robust way to block
telegram web is to filter by the...

b7cf0f67036986c53090d881e2ace0644fd81acb authored about 5 years ago by Simone Basso <[email protected]>
jafar: -main-command now takes a full command line (#13)

This is part of #6.

I initially thought I could get away without full command lines but
this...

39b65d41edde4907ede75b72422ca28e4e0fa9ff authored about 5 years ago by Simone Basso <[email protected]>
iptables: create rules on a specific chain (#12)

* iptables: create rules on a specific chain

Closes #1

Also, while there, make sure we use...

42c1ba89e98a0d3e00ff0f87184f915811f1301e authored about 5 years ago by Simone Basso <[email protected]>
iptables_linux.go: use kmp rather than bm (#11)

This is a workaround for #10

3d29b03036328cd020540de2c675533b0ce2d61f authored about 5 years ago by Simone Basso <[email protected]>
jafar: allow running a censored command (#9)

* jafar: allow running a censored command

This is part of #6. We want to run the scripts in t...

8e5c708afefa49a8a23d69ee78d09cafe4c8f426 authored about 5 years ago by Simone Basso <[email protected]>
iptables: more consistent naming for a test (#8)

This is yak shaving before https://github.com/ooni/jafar/issues/6

16d17b5a6ac6d1f30d759deeffed5c80cc302f69 authored about 5 years ago by Simone Basso <[email protected]>
README.md: slightly tweak wording (#5)

Similar rationale as ooni/netx#124

1374501edca108bf24f9bd425274e7e4a5522fc9 authored about 5 years ago by Simone Basso <[email protected]>
README.md: fix minimum Go version (#4)

87bbb81197978b4da990ef85f3068ea96143b0ce authored about 5 years ago by Simone Basso <[email protected]>
jafar: update to the latest github.com/ooni/netx (#3)

While there, implement pretty logging and fix a bunch of typos.

0fbc812ff2757953bf3a37085a686c897472a9aa authored about 5 years ago by Simone Basso <[email protected]>
Simplify running Jafar on non-Linux systems (#2)

9264589e6d61d4596f9b41997792ebaddf08e00c authored about 5 years ago by Simone Basso <[email protected]>
dns-proxy: allow ignoring DNS queries

As explained in the updated README, using iptables to drop specific
DNS queries is not super rea...

fa2290ef55260be0fd93fd209a6692be6b1fbd62 authored about 5 years ago by Simone Basso <[email protected]>
README.md: fix final example

While there, remove all the tabs.

c5a3f4e59d4e3a76a44f6a25088274fbe715bc9a authored about 5 years ago by Simone Basso <[email protected]>
fix(main.go): ensure cleanups are run

We need to handle signals. Otherwise cleanups are not run and we
don't restore the _statu quo an...

1f2e43ac00856e3dfbfa906856264d9251367842 authored about 5 years ago by Simone Basso <[email protected]>
tlsproxy_test.go: write test for forward()

e45e850199e399a8b423c2c15159a84006abe85a authored about 5 years ago by Simone Basso <[email protected]>
iptables_test.go: make sure we handle errors

35747fc5b212b5e7c823e1c24916c84fc185a347 authored about 5 years ago by Simone Basso <[email protected]>
tlsproxy_test.go: use system dns transport

It seems the `dot` transport has issues that predictably cause
measurements to fail. See for exa...

d597c57343693ec705bad337acdaa9bdfd3cd262 authored about 5 years ago by Simone Basso <[email protected]>
Run CI inside of a Docker container

Maybe there we have more leeway and less weird errors?

Adapted from github.com/m-lab/ndt-server...

54facaf1a3ffa364c378d6a91db4db3319d4378c authored about 5 years ago by Simone Basso <[email protected]>
README.md: minor changes

381b6aca1fc8364696611a50992ca13aa413853c authored about 5 years ago by Simone Basso <[email protected]>
Fix bunch of issues reported by travis et al.

3d98a6dbb2a741556088f52b4cbf99ab204033a3 authored about 5 years ago by Simone Basso <[email protected]>
travis: workaround sudo configuration?

ca49ff971670f3ebbeb9c37871bab1f310521ecc authored about 5 years ago by Simone Basso <[email protected]>
Start using CI

aa44bd57e10f9988f6166b966e04c508b4fb7418 authored about 5 years ago by Simone Basso <[email protected]>
Also write basic tests for main

ff859d0a6808064f4893a4f18dbe42a935c45963 authored about 5 years ago by Simone Basso <[email protected]>
fix(main.go): make sure we apply iptables policy

3a87bc6e36eef308ba0b638b0eb1fd9ccd54890b authored about 5 years ago by Simone Basso <[email protected]>
Rewrite documentation and provide examples

17584ba5dff72df30680bfdc54fe263c10bfff7e authored about 5 years ago by Simone Basso <[email protected]>
Add testing for iptables

8c209bee8c353f43eca1e9ed98b50b0af477e2ee authored about 5 years ago by Simone Basso <[email protected]>
Write tests for the DNS resolver

37c1012869ec637bc80711633ece220bfd1d7d43 authored about 5 years ago by Simone Basso <[email protected]>
Write tests for the TLS proxy

e5ca06c2d681c07472f2f4120cb74775fe038420 authored about 5 years ago by Simone Basso <[email protected]>
Write tests for the HTTP proxy

4b18b4657c3b66756c164b7ddd25a9a54a97bb9f authored about 5 years ago by Simone Basso <[email protected]>
Radically simplify reverse proxying

This also quite likely more efficient because we stream
the response, IIUC, when the body is chu...

870378ecdff156f24354d9a6b914b8c0b27bf3c7 authored about 5 years ago by Simone Basso <[email protected]>
Make transparent proxying work again

e1999937a5ed8b7fe8d8f1ae574c33f29279b17f authored about 5 years ago by Simone Basso <[email protected]>
Automatically route DNS through the filtered proxy

07351c51d4265a8457e210686d25a537a4b5dca8 authored about 5 years ago by Simone Basso <[email protected]>
resolver: blockholing now implemented using iptables

4b9abfc8519e28d15f6c78a3412ad517cd2556f7 authored about 5 years ago by Simone Basso <[email protected]>
Replace flaky packet injection with iptables rules

We're losing macOS as a system, but we're gaining and very easy
and effective way of simulating ...

a903bb8b75879c6be9b130eb79b02746e0d205f4 authored about 5 years ago by Simone Basso <[email protected]>
Remove DNS flaky packet injector code

This code does not work on Linux and works unreliably on macOS
for unspecified reasons. The exis...

a1be34e491d739d0b8a9a65ff01d10a172db442a authored about 5 years ago by Simone Basso <[email protected]>
fix(pktinjector.go): increase snaplen

Otherwise MK was able to evade 😛

378428fde87d363e41c4a016ddbd40f44e205356 authored about 5 years ago by Simone Basso <[email protected]>
[API CHANGE] provide more DNS blocking options

While there, rationalize flag names.

79ca4251fc3b940832241798af1951ed1da60274 authored about 5 years ago by Simone Basso <[email protected]>
Implement SNI based TLS proxy

23f4251cd57875eb840fe4d55ff4621bc58d8644 authored about 5 years ago by Simone Basso <[email protected]>
[API CHANGE] redesign measurement flows

Design from the point of view of the researcher that wants to
configure specfic bits of their te...

4240f948d838bb33ae8b8bc10a29f9449e247b84 authored about 5 years ago by Simone Basso <[email protected]>
Get the HTTP transparent proxy bit right

d00fa00922648a47d99f6f407230034900d84543 authored about 5 years ago by Simone Basso <[email protected]>
Document desired result and start implementing it

92dbf5e882816d6b3967542896a2504112a9db6e authored about 5 years ago by Simone Basso <[email protected]>
[API CHANGE] simplify using pktinjector

4be78a770f8be8f098d089d46722b9b2064e0e2a authored about 5 years ago by Simone Basso <[email protected]>
connectproxy: make documentation accurate

7b795523e5334cfa3837d5bceff169c91050750e authored about 5 years ago by Simone Basso <[email protected]>
README.md: significantly improve documentation

293c9c776851816ec9a6e295e3063f610fcce228 authored about 5 years ago by Simone Basso <[email protected]>
connectproxy: search for keywords more aggressively

002ac42ffe713849e5f76f1b32f75eb5bfad0602 authored about 5 years ago by Simone Basso <[email protected]>
pkginjector: use two different filters for TCP

cb3fbdb8cb2bbe4390423d3827a6fa122c9d2664 authored about 5 years ago by Simone Basso <[email protected]>
pktinjector: set immediate mode on the handle

02796924148b6ed5a10fdd9fb5f1a5e7fe19e29f authored about 5 years ago by Simone Basso <[email protected]>
pktinjector: refactor filters in two different goroutines

So we can filter with BPF more aggressively.

9c35d2e9c965d370601bed14de40f819bdc3185f authored about 5 years ago by Simone Basso <[email protected]>
Implement injecting 127.0.0.1 as DNS response

fbc499fb62df631c0a79df1410f192e11813c37c authored about 5 years ago by Simone Basso <[email protected]>
README.md: document available modules

1190b5fa342b90e7de483c63fc112ba21d5a0258 authored about 5 years ago by Simone Basso <[email protected]>
README.md: honour grammar

f16ba2aeb619a0621c430293f88017d21dff70ae authored about 5 years ago by Simone Basso <[email protected]>
Add repository boilerplate

3bc533826313e73633b713293c1b51b5d7957a30 authored about 5 years ago by Simone Basso <[email protected]>
[API CHANGE] make cmdline flags easier

4b8e15cb278279bccb0a17de473064d2696c3b09 authored about 5 years ago by Simone Basso <[email protected]>
pktinjector: also implement TCP RST injection

f5f568da019221d6797f0c8f5fcfd9849685805b authored about 5 years ago by Simone Basso <[email protected]>
pkginjector: make DNS injection work

033371baac764f5d9d0c18b6b9d2cbf9f523591d authored about 5 years ago by Simone Basso <[email protected]>
jafar: experiment for simulating censorship

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