Problem

Bridges are Tor relays that are not publicly listed and therefore allow access to the Tor network in places where access to the public Tor relays, and therefore access to the Tor network, is blocked. Many users rely on bridges, or anti-censorship proxies, to connect to the Tor network. However, when censors learn this information, the bridges quickly become blocked and can no longer be used. We need a way of distributing bridge information to users so that they are able to connect without these bridges being discovered by the censors.

Proposal

Our goal is to distribute bridges to users in censored regions when they need them, while also limiting the amount of bridge information that is leaked to censors. This project entails implementing Salmon, a bridge distribution mechanism that partitions and distributes bridges using reputation to give well-behaved users access to "better" bridges and add a penalty when their bridges get censored.

Getting started

  1. Read the blog posts to get an introduction to the problem space.
  2. Play around with bridgedb to request a bridge and try understand how it works.
  3. Checkout the existing code.
  4. Read the papers listed under Resources.
  5. Join the next anti-censorship team meeting to discuss your findings and ask any questions.

Resources

Academic papers

 Blog posts

Code repos