commit b0158db91a3f99e7e664b9d1577f4374947546d7
Author: Pili Guerra <[email protected]>
Date: Wed Jan 22 17:59:56 2020 +0100
Add starter project ideas
---
.../gsoc/cloudflare-captcha-monitoring/contents.lr | 47 ++++++++++++++++
content/gsoc/onion-toolbox/contents.lr | 58 ++++++++++++++++++++
content/gsoc/tor-relay-ipv6-support/contents.lr | 56 +++++++++++++++++++
content/gsoc/tor-weather/contents.lr | 64 +++++++++++++++++++++-
4 files changed, 223 insertions(+), 2 deletions(-)
diff --git a/content/gsoc/cloudflare-captcha-monitoring/contents.lr
b/content/gsoc/cloudflare-captcha-monitoring/contents.lr
new file mode 100644
index 0000000..e6ba0d5
--- /dev/null
+++ b/content/gsoc/cloudflare-captcha-monitoring/contents.lr
@@ -0,0 +1,47 @@
+_model: project
+---
+_template: project.html
+---
+active: True
+---
+section: GSoC
+---
+section_id: gsoc
+---
+color: primary
+---
+key: 1
+---
+languages: javascript
+---
+mentors: arma, gk
+---
+difficulty: medium
+---
+title: Cloudflare Captcha Monitoring
+---
+summary:
+
+We should track the rate that cloudflare gives captchas to Tor users over time.
+
+---
+description:
+
+My suggested way of doing that tracking is to sign up a very simple static
webpage to be fronted by cloudflare, and then fetch it via Tor over time, and
record and graph the rates of getting a captcha vs getting the real page.
+
+The reason for the "simple static page" is to make it really easy to
distinguish whether we're getting hit with a captcha. The "distinguishing one
dynamic web page from another" challenge makes exitmap tricky in the general
case, but we can remove that variable here.
+
+One catch is that Cloudflare currently gives alt-svc headers in response to
fetches from Tor addresses. So that means we need a web client that can follow
alt-srv headers -- maybe we need a full Selenium like client?
+
+Once we get the infrastructure set up, we would be smart to run a second one
which is just wget or curl or lynx or something, i.e. which doesn't behave like
Tor Browser, in order to be able to track the difference between how Cloudflare
responds to Tor Browser vs other browsers.
+
+I imagine that Cloudflare should be internally tracking how they're handling
Tor requests, but having a public tracker (a) gives the data to everybody, and
(b) helps Cloudflare have a second opinion in case their internal data diverges
from the public version.
+
+The Berkeley ICSI group did research that included this sort of check:
+âhttps://www.freehaven.net/anonbib/#differential-ndss2016
+âhttps://www.freehaven.net/anonbib/#exit-blocking2017
+but what I have in mind here is essentially a simpler subset of this research,
skipping the complicated part of "how do you tell what kind of response you
got" and with an emphasis on automation and consistency.
+
+There are two interesting metrics to track over time: one is the fraction of
exit relays that are getting hit with captchas, and the other is the chance
that a Tor client, choosing an exit relay in the normal weighted faction, will
get hit by a captcha.
+
+Then there are other interesting patterns to look for, e.g. "are certain IP
addresses punished consistently and others never punished, or is whether you
get a captcha much more probabilistic and transient?" And does that pattern
change over time?
\ No newline at end of file
diff --git a/content/gsoc/onion-toolbox/contents.lr
b/content/gsoc/onion-toolbox/contents.lr
new file mode 100644
index 0000000..a551ba8
--- /dev/null
+++ b/content/gsoc/onion-toolbox/contents.lr
@@ -0,0 +1,58 @@
+_model: project
+---
+_template: project.html
+---
+active: True
+---
+section: GSoC
+---
+section_id: gsoc
+---
+color: primary
+---
+key: 1
+---
+languages: javascript
+---
+mentors: hiro, asn
+---
+difficulty: medium
+---
+title: Onion Tool Box
+---
+summary:
+
+Myonion is a developer tool box, providing a command line interface and a GUI
to configure and deploy existing services via .onion. A minimal prototype for
myonion already [exists](https://github.com/hiromipaw/myonion).
+
+Someone that may want to run an onion service can use the myonion wrapper app
to start a .onion from their computer and sharea static website or a web
application.
+
+Myonion can also be used to deploy the resulting configured app to a defined
set of cloud providers.
+
+---
+description:
+
+##Â Problem definition
+
+It is not necessarily difficult to use onion services, but it might be tricky
to configure a web service to be offered via .onion so that it doesnât leak
sensitive information.
+
+There are detailed
[guides](https://riseup.net/en/security/network-security/tor/onionservices-best-practices)
available for users that would like to offer a web application via .onion and
some tools have been developed to help service operators: discover known
misconfiguration or [vulnerabilities](https://onionscan.org/) or deploy an
[onion site](https://github.com/alecmuffett/eotk).
+
+##Â Scope
+
+Myonion provides a way to build and deploy onion ready applications, allowing
developers to build and test web applications and easily share them with
others, bundling the code and configuration in a lightweight, portable Docker
container application that runs thesame everywhere.
+
+The experience for developers will be similar to using other industry
solutions, like the [Docker desktop
app](https://www.docker.com/products/docker-desktop).
+
+Developers using myonion are provided with pre-defined and customizable
application templates, with corresponding configuration and a test set,
eliminating error-prone manual setup and known onion service configuration
mistakes.
+
+The resulting application is therefore deployable via a set of endpoint
management tools to known providers. Providing a way to deploy onion services
at scale.
+
+## Impact
+
+The idea behind myonion is to make onion services accessible to developers
that might be interested to innovate in the privacy space, building
applications that are designed for privacy and security.
+
+Involving a wider developer community can help creating a better image of Tor
and onion services, replacing the âdark netâ narrative with the secure and
private web one.
+
+Onion services can also be relevant to all those people interested in the
âzero-trustâ strategy. The concept behind zero-trust is to adopt strategies
and tools to help prevent data breaches by eliminating the concept of trust
from an organizationâs network architecture, with the principle of never
trust, always verify.
+
+Ultimately myonion is about creating a better experience for onion services
developers and operators and therefore fostering a more legitimate onion
service ecosystem.
diff --git a/content/gsoc/tor-relay-ipv6-support/contents.lr
b/content/gsoc/tor-relay-ipv6-support/contents.lr
new file mode 100644
index 0000000..3624ca1
--- /dev/null
+++ b/content/gsoc/tor-relay-ipv6-support/contents.lr
@@ -0,0 +1,56 @@
+_model: project
+---
+_template: project.html
+---
+active: True
+---
+section: GSoC
+---
+section_id: gsoc
+---
+color: primary
+---
+key: 1
+---
+languages: C
+---
+mentors: teor, ahf, dgoulet, catalyst
+---
+difficulty: Medium
+---
+title: Improve Tor Relay IPv6 Support
+---
+summary:
+
+Tor helps people stay safe on the internet, by keeping their internet use
secure and anonymous. More Tor clients are running on IPv6-only or dual-stack
networks. But only 20% of Torâs available relay bandwidth supports IPv6. We
want to automate relay IPv6 address discovery and reachability checks, so that
it is easier for relay operators to run IPv6 relays.
+
+---
+description:
+
+Students may choose to focus on designing and implementing core features, tor
relay testing, reporting statistics, or diagnosing and fixing bugs.
+
+
+## Prerequisites
+
+* Network configuration skills
+* Basic understanding of Internet Protocol (IP) versions
+
+Recommended:
+
+* Experience testing network software
+* Experience running Internet-connected servers
+
+## Links/Resources
+
+https://trac.torproject.org/projects/tor/wiki/TorRelayGuide#IPv6
+
+https://trac.torproject.org/projects/tor/wiki/org/roadmaps/Tor/IPv6Features#ReachabilityChecks
+
+## Programming skills needed:
+
+* C coding
+* Building Unix-based software
+
+Recommended:
+
+* Experience with network programming
diff --git a/content/gsoc/tor-weather/contents.lr
b/content/gsoc/tor-weather/contents.lr
index 9c7faa6..3bc6714 100644
--- a/content/gsoc/tor-weather/contents.lr
+++ b/content/gsoc/tor-weather/contents.lr
@@ -22,9 +22,69 @@ title: Tor Weather
---
summary:
-Summary of project
+Tor Weather is the most efficient way to achieve and maintain a healthy Tor
network on the long run.
---
description:
-Longer description
+Tor Weather was [discontinued on
2016-04-04](https://lists.torproject.org/pipermail/tor-relays/2016-April/009009.html),
however "Tor Weather is still a good idea, it just needs somebody to implement
it."
+
+How Tor Weather looked like:
+âhttps://web.archive.org/web/20141004055709/https://weather.torproject.org/subscribe/
+
+##Â Motivation
+
+If a relay disappears today, it is unlikely that anyone will notice or even
send an email to the operator unless it is a big one.
+
+Relay operators and the entire tor network would benefit from a Tor Weather
service because it notifies relay operators when the state of their relays
changed (and more). This will increase the likelihood that relay operators
notice problems and actually mitigate the problem otherwise there is no "user
feedback" since tor can cope with disappearing relays quite well.
+
+It also:
+- shows the relay operator that someone actually cares if their relays go down
or become outdated or have another problem
+- gives the operator relay best-practices information.
+
+## Expected Effects
+
+If enough operators subscribe to such a service:
+- relays might become more long lived / the churn rate might decrease
+- the fraction of relays running outdated tor versions might decrease
+- the fraction of exits with broken DNS might decrease
+
+It also has the benefit of being able to contact relay operators:
+- completely automatically
+- even if they choose to not set a public ContactInfo string in their torrc
files.
+
+##Â Ideas for Notification Types
+
+_(sorted by importance)_
+
+Support subscribing via single relay FP or MyFamily groups (should not need
any subscription change if a relay gets added to the family).
+
+- [ ] Email me when my node is down
+_How long before we send a notification?_
+- [ ] email me when my relay is affected by a security vulnerability
+- [ ] email me when my relay runs an end-of-life version of tor
+- [ ] email me when my relay runs an outdated tor version (note: this should
depend on the related onionoo bugs to avoid emailing alpha relay people)
+- [ ] email me when my exit relay fails to resolve hostnames (DNS failure)
+- [ ] email me when my relay looses the [ ] stable, [ ] guard, [ ] exit flag
+- [ ] email me when my MyFamily configuration is broken (meaning: non-mutual
config detected or relay with same contactInfo but no MyFamily)
+- [ ] email me when you detect issues with my relay
+- [ ] email me with suggestions for configuration improvements for my relay
(only once per improvement)
+- [ ] email me when my relay is on the top [ ] 20 [ ] 50 [ ] 100 relays list
+- [ ] email me with monthly/quarterly status information that includes
information like what my position in the overall relay list is (sorted by CW),
how much traffic my relay did during the last month and what fraction of the
months time your relay was included in consensus as running (this shows
information on how many % of the months' consensuses this relay has been
included and running)
+- [ ] aggregate emails for all my relays into a single digest email
+- [ ] email me about new relay requirements
+- [ ] email me about tor relay operator events
+
+
+*Task:* Write a specification describing the meaning of each checkbox
+
+##Â Security and Privacy Implications
+
+The service stores email addresses of potential tor relay operators, they
should be kept private and safeguarded, but a passive observer can collect them
by watching outbound email traffic if no TLS is used. Suggest to use a
dedicated email address for this service.
+
+##Â Additional Ideas
+
+- easy: integration into tor: show the URL pointing to the new Tor Weather
service like the current link to the lifecycle blogpost when tor starts and
detects to be a new relay
+- Provide an uptimerobot-style status page for relay operators using onionoo
data
+
+
_______________________________________________
tor-commits mailing list
[email protected]
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits