• Stars
    star
    159
  • Rank 235,916 (Top 5 %)
  • Language
  • License
    BSD 3-Clause "New...
  • Created almost 12 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

OONI Specifications

OONI Spec

The OONI testing methodology is openly specified as part of OONI Spec. This includes all the experiments that we run, the backend components used as part of test and the data formats.

The way in which we do these specifications is similar to the RFC (Request For Comments) process.

This makes it possible to have a deep understanding of how OONI tests work, explain the assumption we make in them and make it possible to create independent implementations.

To get an introduction of how we operate from the point of view of OONI Probe, i.e. the software that users can install, please see the specific documentation describing that. New developers would ideally want to be familiar with this document to understand the context.

Terminology

Nettests (aka experiments)

Are network experiments that deliver some meaningful results to end users. See the nettests directory.

OONI Probe (aka the Probe)

The software that users run to perform nettests. See the probe directory.

Techniques

Are strategies that we follow for implementing nettests, hypothesis we are interested in testing and implementation details for each target platform. See the techniques directory.

Data formats

Define how data is presented to end users or analysts. See the data-formats directory.

Backends

Are core OONI infrastructure components that are necessary to carry out experiments. See the backends directory.

Contributing

Please, see CONTRIBUTING.md.

More Repositories

1

probe

OONI Probe network measurement tool for detecting internet censorship
760
star
2

probe-cli

OONI Probe Engine and CLI
Go
234
star
3

probe-android

OONI Probe Android
Java
181
star
4

ooni.org

The ooni.org homepage and all cross organisational issues
HTML
76
star
5

probe-desktop

The next generation OONI Probe desktop app
JavaScript
76
star
6

explorer

OONI Explorer: uncover evidence of internet censorship worldwide
JavaScript
74
star
7

probe-ios

OONI Probe iOS
Objective-C
68
star
8

oohttp

Fork of Go stdlib's net/http that works with alternative TLS libraries like refraction-networking/utls.
Go
65
star
9

sysadmin

System administration tools
Jinja
59
star
10

backend

Everything related to OONI backend infrastructure: ooni/api, ooni/pipeline, ooni/sysadmin, collector, bouncers and test-helpers
Python
51
star
11

probe-engine

Semi-automatic export of https://github.com/ooni/probe-cli internals
Go
45
star
12

pipeline

OONI data processing pipeline
Python
40
star
13

minivpn

A minimalistic OpenVPN implementation in Go
Go
40
star
14

EvilGenius

Evil Genius plays the role of the Descartes demon, creating a distorted view of the internet with censorship (it's a censorship simulator)
Python
38
star
15

explorer-legacy

[DEPRECATED] For the latest OONI Explorer see: https://github.com/ooni/explorer
JavaScript
33
star
16

utls-light

Minimal version of utls for parrotting the TLS handshake of popular web browsers
Go
25
star
17

api

OONI Measurements API
Python
22
star
18

probe-legacy

The legacy python version of OONI Probe
Python
22
star
19

license

OONI License
19
star
20

design-system

OONI Components design system
TypeScript
14
star
21

run

OONI Run allows you to get people to measure the things you care about
TypeScript
12
star
22

orchestra

The OONI Probe Orchestration System
Go
12
star
23

data

OONI Data CLI and Pipeline v5
Python
8
star
24

translations

OONI translations
Python
8
star
25

ooni-sync

[DEPRECATED] For accessing OONI data see: https://ooni.org/data/
Go
8
star
26

netx

OONI's Go net and net/http extensions for performing network measurements
Go
7
star
27

netem

Network emulation for writing integration tests in Go
Go
7
star
28

blocking-fingerprints

Consolidate all the blocking fingerprints in one place
Python
7
star
29

historical-geoip

Generate historical IP to country + ASN databases for processing historical OONI data
Python
5
star
30

datk

OONI Data Analysis ToolKit
Python
4
star
31

ooni.github.io

mirror of the OONI website on github pages
HTML
4
star
32

jafar

Grand vizier of censorship simulation
Go
4
star
33

design.ooni.io

OONI Design guidelines website
JavaScript
4
star
34

gatherings

Notes and resources related to OONI gatherings
4
star
35

2022-04-websteps-illustrated

websteps: winter 2022 edition
Go
4
star
36

collector

Next generation OONI collector
Go
4
star
37

ooni.io

JavaScript
3
star
38

labs

OONI Labs are experiments not yet ready for prime-time
JavaScript
3
star
39

code-style

Code style guide
3
star
40

asn-db-generator

Generate an IP-address-to-ASN database compatible with Maxmind
Python
3
star
41

pm-tools

Tooling for project management
Python
3
star
42

psiphon

Vendor psiphon and dependencies
Go
2
star
43

slides

OONI presentation slides
JavaScript
2
star
44

country-util

Utilities for dealing with countries in an un-opinionated, human friendly and respectful manner
Python
2
star
45

probe-assets

Assets used by OONI Probe
Go
1
star
46

probe-web

Measure website blocking in your browser
JavaScript
1
star
47

notebooks

Collection of OONI related jupyter notebooks
Jupyter Notebook
1
star
48

probe-mobile-appium

Java
1
star
49

test-lists-ui

Frontend application for submitting contributions to the Citizenlab test-lists used by OONI Probe to test websites for censorship.
JavaScript
1
star