commit 9a05fe9d348c40e779dae17c6cd65df7dfa4e0f2
Author: Pili Guerra <[email protected]>
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
+
+
+
+
_______________________________________________
tor-commits mailing list
[email protected]
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits