[tor-commits] [community/staging] Add GSoC 2021 OONI Projects

hiro at torproject.org hiro at torproject.org
Wed Mar 24 12:25:17 UTC 2021


commit 9a05fe9d348c40e779dae17c6cd65df7dfa4e0f2
Author: Pili Guerra <pili at piliguerra.com>
Date:   Tue Mar 9 10:11:35 2021 +0100

    Add GSoC 2021 OONI Projects
---
 .../gsoc/ooni-explorer-code-quality/contents.lr    | 61 ++++++++++++++++++++
 content/gsoc/ooni-geoip-accuracy/contents.lr       | 61 ++++++++++++++++++++
 content/gsoc/ooni-probe-testing/contents.lr        | 67 ++++++++++++++++++++++
 content/gsoc/ooni-roaming-test/contents.lr         | 64 +++++++++++++++++++++
 4 files changed, 253 insertions(+)

diff --git a/content/gsoc/ooni-explorer-code-quality/contents.lr b/content/gsoc/ooni-explorer-code-quality/contents.lr
new file mode 100644
index 0000000..a24f332
--- /dev/null
+++ b/content/gsoc/ooni-explorer-code-quality/contents.lr
@@ -0,0 +1,61 @@
+_model: project
+---
+_template: layout.html
+---
+html: two-columns-page.html
+---
+active: True
+---
+section: GSoC
+---
+section_id: gsoc
+---
+color: primary
+---
+key: 6
+---
+languages:
+Javascript
+ReactJS
+Typescript
+---
+org: OONI
+---
+mentors:
+Sarath
+---
+difficulty: Advanced
+---
+title: OONI: Improve OONI Explorer code quality
+---
+subtitle:
+
+OONI Explorer is an open data resource on internet censorship around the world. As part of this project you would be working on helping to port OONI Explorer code to Typescript.
+---
+body:
+
+# Background
+
+The Open Observatory of Network Interference (OONI) is a free software project which aims to empower decentralized efforts in increasing transparency of internet censorship around the world.
+
+OONI Explorer is an open data resource on internet censorship around the world.
+
+# Proposal
+
+Typescript has been adopted widely as a way to write more reliable JS applications and now has a well supported toolchain and an active and growing community. We could benefit from porting parts or all of the OONI Explorer code to Typescript especially to be able to handle unpredictable data in API responses. Next.js, the underlying react framework the project is built upon, also has first-class support for Typescript. The project involves:
+
+1. coming up with a strategy to incrementally port the codebase
+1. ensuring integration with other projects in `ooni-components`
+1. rewrite code
+1. writing unit tests for critical react components in the projects
+1. improve build process to leverage typescript features
+
+- **Prerequisites:** Experience in Typescript, nice to have knowledge of Next.js
+
+# Resources
+
+- OONI Explorer repo on github: https://github.com/ooni/explorer
+- OONI Explorer issues github: https://github.com/ooni/explorer/issues
+- https://github.com/ooni/design-system
+- https://nextjs.org/docs/basic-features/typescript
+- https://www.typescriptlang.org/
\ No newline at end of file
diff --git a/content/gsoc/ooni-geoip-accuracy/contents.lr b/content/gsoc/ooni-geoip-accuracy/contents.lr
new file mode 100644
index 0000000..1d7950d
--- /dev/null
+++ b/content/gsoc/ooni-geoip-accuracy/contents.lr
@@ -0,0 +1,61 @@
+_model: project
+---
+_template: layout.html
+---
+html: two-columns-page.html
+---
+active: True
+---
+section: GSoC
+---
+section_id: gsoc
+---
+color: primary
+---
+key: 5
+---
+languages:
+Java
+Python
+---
+org: OONI
+---
+mentors:
+Arturo
+Federico
+---
+difficulty: Medium
+---
+title: OONI: Measure the accuracy of OONI GeoIP lookup
+---
+subtitle:
+
+OONI Probe is a free software project that aims to uncover internet censorship around the world. As part of this project you would be working on developing a strategy and tooling for assessing the accuracy of our GeoIP databases.
+---
+body:
+
+# Background
+
+The Open Observatory of Network Interference (OONI) is a free software project which aims to empower decentralized efforts in increasing transparency of internet censorship around the world.
+
+We develop free and open source software, called OONI Probe, that users can run to measure:
+
+- Blocking of websites;
+- Blocking of instant messaging apps (WhatsApp, Facebook Messenger and Telegram);
+- Blocking of censorship circumvention tools (such as Tor);
+- Presence of systems (middleboxes) in your network that might be responsible for censorship and/or surveillance;
+- Speed and performance of your network.
+
+By running OONI Probe, users can collect data that can potentially serve as evidence of internet censorship since it shows how, when, where, and by whom it is implemented.
+
+# Proposal
+
+When attributing OONI Probe measurements to specific countries we rely on GeoIP databases (https://github.com/ooni/asn-db-generator). These database at times will attribute measurements to the wrong country. We don't currently have a good way of measuring how reliable this approach to geolocation is.
+This project is about developing a strategy and tooling for assessing the accuracy of our GeoIP databases by comparing the GeoIP resolution to other location data from the probe, mostly cell tower information and GPS, while respecting user's privacy.
+
+- **Prerequisites:** Knowledge of Android development and ideally backend development in python
+
+# Resources
+
+- OONI Probe Engine repo on github: https://github.com/ooni/probe-engine
+- Link to issue: https://github.com/ooni/probe-engine/issues/249
diff --git a/content/gsoc/ooni-probe-testing/contents.lr b/content/gsoc/ooni-probe-testing/contents.lr
new file mode 100644
index 0000000..0a8d752
--- /dev/null
+++ b/content/gsoc/ooni-probe-testing/contents.lr
@@ -0,0 +1,67 @@
+_model: project
+---
+_template: layout.html
+---
+html: two-columns-page.html
+---
+active: True
+---
+section: GSoC
+---
+section_id: gsoc
+---
+color: primary
+---
+key: 7
+---
+languages:
+Javascript
+ReactJS
+---
+org: OONI
+---
+mentors:
+Sarath
+---
+difficulty: Medium
+---
+title: OONI: Integration and unit testing of OONI Probe Desktop apps
+---
+subtitle:
+
+OONI Probe is a free software project that aims to uncover internet censorship around the world. As part of this project you would be working on integration and unit testing of OONI Probe Desktop apps.
+
+---
+body:
+
+# Background
+
+The Open Observatory of Network Interference (OONI) is a free software project which aims to empower decentralized efforts in increasing transparency of internet censorship around the world.
+
+We develop free and open source software, called OONI Probe, that users can run to measure:
+
+- Blocking of websites;
+- Blocking of instant messaging apps (WhatsApp, Facebook Messenger and Telegram);
+- Blocking of censorship circumvention tools (such as Tor);
+- Presence of systems (middleboxes) in your network that might be responsible for censorship and/or surveillance;
+- Speed and performance of your network.
+
+By running OONI Probe, users can collect data that can potentially serve as evidence of internet censorship since it shows how, when, where, and by whom it is implemented.
+
+# Proposal
+
+This project aims to:
+
+1. add support for automated testing of the desktop app to emulate the user stories end-to-end
+1. add support for unit testing react components and javascript code running in electron's `main` process.
+
+It may be necessary to refactor parts of the codebase and upgrade dependencies to improve testability. The student is encouraged to research existing testing tools and propose solutions that can help complete the project.
+
+*Prerequisites:* None
+
+# Resources
+
+- https://github.com/ooni/probe-desktop/
+- http://electronjs.org/spectron
+- https://docs.cypress.io/guides/component-testing/introduction.html
+- https://testing-library.com/docs/react-testing-library/intro
\ No newline at end of file
diff --git a/content/gsoc/ooni-roaming-test/contents.lr b/content/gsoc/ooni-roaming-test/contents.lr
new file mode 100644
index 0000000..fb0e4ac
--- /dev/null
+++ b/content/gsoc/ooni-roaming-test/contents.lr
@@ -0,0 +1,64 @@
+_model: project
+---
+_template: layout.html
+---
+html: two-columns-page.html
+---
+active: True
+---
+section: GSoC
+---
+section_id: gsoc
+---
+color: primary
+---
+key: 4
+---
+languages:
+Python
+---
+org: OONI
+---
+mentors:
+Federico
+---
+difficulty: Medium/Advanced
+---
+title: OONI: Implement roaming test helpers
+---
+subtitle:
+
+OONI Probe is a free software project that aims to uncover internet censorship around the world. As part of this project you would be working on improving censorship detection while making the OONI infrastructure more resilient.
+---
+body:
+
+# Background
+
+The Open Observatory of Network Interference (OONI) is a free software project which aims to empower decentralized efforts in increasing transparency of internet censorship around the world.
+
+We develop free and open source software, called OONI Probe, that users can run to measure:
+
+- Blocking of websites;
+- Blocking of instant messaging apps (WhatsApp, Facebook Messenger and Telegram);
+- Blocking of censorship circumvention tools (such as Tor);
+- Presence of systems (middleboxes) in your network that might be responsible for censorship and/or surveillance;
+- Speed and performance of your network.
+
+By running OONI Probe, users can collect data that can potentially serve as evidence of internet censorship since it shows how, when, where, and by whom it is implemented.
+
+# Proposal
+
+Test helpers are endpoints used by the OONI Probes to detect censorship. The main goal of the project is to improve censorship detection while making the OONI infrastructure more resilient. The main activities are:
+
+1. Deploy and integrate new test helpers based on the probe codebase.
+1. Automate deployment and rotation of test helpers on various public clouds.
+1. Implement forwarding methods to use the test helpers as proxies for the collector API.
+1. Safely serve metadata about the test collectors through the API.
+
+- **Prerequisites:** Understanding of Networking, Security, OS, basics of cloud services
+
+# Resources
+
+
+
+





More information about the tor-commits mailing list