## translation metadata
# Revision: $Revision$
# Translation-Priority: 4-optional

#include "head.wmi" TITLE="Tor: Volunteer" CHARSET="UTF-8"
<div id="content" class="clearfix">
  <div id="breadcrumbs">
    <a href="<page index>">Home &raquo; </a>
    <a href="<page getinvolved/volunteer>">Volunteer</a>
  </div>
  <div id="maincol">
    <!-- PUT CONTENT AFTER THIS TAG -->
    <h1>A few things everyone can do now:</h1>
    <ol>
    <li>Please consider <a href="<page docs/tor-doc-relay>">running
    a relay</a> to help the Tor network grow.</li>
    <li>Tell your friends! Get them to run relays. Get them to run onion
    services. Get them to tell their friends.</li>
    <li>If you like Tor's goals, please <a href="<page donate/donate>">take a moment
    to donate to support further Tor development</a>. We're also looking
    for more sponsors &mdash; if you know any companies, NGOs, agencies,
    or other organizations that want anonymity / privacy / communications
    security, let them know about us.</li>
    <li>We're looking for more <a href="<page about/torusers>">good examples of Tor
    users and Tor use cases</a>. If you use Tor for a scenario or purpose not
    yet described on that page, and you're comfortable sharing it with us,
    we'd love to hear from you.</li>
    </ol>

    <a id="Documentation"></a>
    <h2><a class="anchor" href="#Documentation">Documentation</a></h2>
    <ol>
    <li>Help translate the
<!-- web page and -->
    documentation into other
    languages. See the <a href="<page getinvolved/translation>">translation
    guidelines</a> if you want to help out. We especially need Arabic or
    Farsi translations, for the many Tor users in censored areas.</li>
    <li>Evaluate and document
    <a href="<wiki>doc/TorifyHOWTO">our
    list of programs</a> that can be configured to use Tor.</li>
    <li>We have a huge list of <a
    href="<wiki>doc/SupportPrograms">potentially useful
    programs that interface with Tor</a>. Which ones are useful in which
    situations? Please help us test them out and document your results.</li>
    </ol>

    <a id="Advocacy"></a>
    <h2><a class="anchor" href="#Advocacy">Advocacy</a></h2>
    <ol>
    <li>The tor community uses <a
    href="https://lists.torproject.org/cgi-bin/mailman/listinfo">public mailing
    lists</a> and IRC channels (<a href="https://www.oftc.net/Tor/">join via Tor</a>), like
    <a href="https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-talk">tor-talk</a>
    (<a href="irc://irc.oftc.net/tor">#tor on irc.oftc.net</a>),
    <a href="https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-relays">tor-relays</a>
    (<a href="irc://irc.oftc.net/tor-relays">#tor-relays</a>),
    <a href="https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev">tor-dev</a>
    (<a href="irc://irc.oftc.net/tor-dev">#tor-dev</a>), or <a
    href="https://lists.torproject.org/cgi-bin/mailman/listinfo/tbb-dev">tbb-dev</a>,
    and summarize noteworthy changes into articles for our blog and <a
    href="https://newsletter.torproject.org/">newsletter</a>.</li>
    <li>Create a presentation that can be used for various user group
meetings around the world.</li>
    <li>Create a video about the positive uses of Tor, what Tor is,
    or how to use it.  Some have already started on <a
    href="https://media.torproject.org/video/">Tor's Media server</a>,
    <a
    href="http://www.howcast.com/videos/90601-How-To-Circumvent-an-Internet-Proxy/">Howcast</a>,
    and <a href="https://www.youtube.com/user/TheTorProject">YouTube</a>.</li>
    <li>Create a poster around a theme, such as "Tor for Freedom!"</li>
    <li>Create a t-shirt design that incorporates "<a
    href="https://check.torproject.org/">Congratulations! You are using
    Tor!</a>" in any language.</li>
    <li>Spread the word about Tor at a symposium or conference and use these
    <a href="https://media.torproject.org/misc/2015-03-tor-brochure/">Tor
    brochures</a> in PDF and ODG format and translated to at least ten
    different languages as conversation starter.</li>
    </ol>

    <a id="Projects"></a>
    <h2><a class="anchor" href="#Projects">Projects</a></h2>

    <p>
    Below are a list of Tor related projects we're developing and/or
    maintaining. Most discussions happen on IRC so if you're interested in any
    of these (or you have a project idea of your own), then please <a
    href="<page about/contact>#irc">join us in #tor-dev</a>. Don't be shy
    to ask questions, and don't hesitate to ask even if the main contributors
    aren't active at that moment.
    </p>

    <p>
    For a presentation summarizing many of these projects see...
    </p>

    <div id="ecosystem_presentation">
      <a href="https://www.youtube.com/watch?v=fb6iqZcQsSg">Tor Ecosystem</a> (<a href="https://media.torproject.org/video/2013-11-t3am-damian-johnson.mp4">mp4</a>, <a href="https://svn.torproject.org/svn/projects/presentations/2013-11-t3am-tor-ecosystem.pdf">slides</a>)
    </div>

    <br /></br />

    <table id="projects">
      <tr>
        <th>Name</th>
        <th>Category</th>
        <th>Language</th>
        <th>Activity</th>
        <th>Contributors</th>
      </tr>

      <tr>
        <td><a href="#project-tor">Tor</a></td>
        <td>Core</td>
        <td>C, Rust</td>
        <td>Heavy</td>
        <td>nickm, arma, dgoulet, asn, teor</td>
      </tr>

      <tr>
        <td><a href="#project-torbrowser">Tor Browser</a></td>
        <td>Bundle</td>
        <td>Javascript, XUL, Scripting</td>
        <td>Heavy</td>
        <td>mikeperry, Pearl Crescent, GeKo</td>
      </tr>

      <tr>
        <td><a href="#project-httpseverywhere">HTTPS Everywhere</a></td>
        <td>Browser Add-on</td>
        <td>Javascript</td>
        <td>Moderate</td>
        <td>pde, mikeperry</td>
      </tr>

      <tr>
        <td><a href="#project-nyx">Nyx</a></td>
        <td>User Interface</td>
        <td>Python, Curses</td>
        <td>Moderate</td>
        <td>atagar</td>
      </tr>

      <tr>
        <td><a href="#project-orbot">Orbot</a></td>
        <td>User Interface</td>
        <td>Java</td>
        <td>Moderate</td>
        <td>n8fr8</td>
      </tr>

      <tr>
        <td><a href="#project-tails">Tails</a></td>
        <td>OS image</td>
        <td>Sys Admin</td>
        <td>Heavy</td>
        <td><a href="https://tails.boum.org/">#tails</a></td>
      </tr>

      <tr>
        <td><a href="#project-torramdisk">tor-ramdisk</a></td>
        <td>OS image</td>
        <td>Sys Admin</td>
        <td>Light</td>
        <td>blueness</td>
      </tr>

      <tr>
        <td><a href="#project-torsocks">Torsocks</a></td>
        <td>Usability</td>
        <td>C</td>
        <td>Light</td>
        <td>David Goulet</td>
      </tr>

      <tr>
        <td><a href="#project-tormessenger">Tor Messenger</a></td>
        <td>Bundle</td>
        <td>JavaScript, XUL, Scripting</td>
        <td>None</td>
        <td>arlolra, boklm, sukhe</td>
      </tr>

      <tr>
        <td><a href="#project-torbirdy">TorBirdy</a></td>
        <td>Browser Add-on</td>
        <td>JavaScript</td>
        <td>Light</td>
        <td>sukhe</td>
      </tr>

      <tr>
        <td><a href="#project-shadow">Shadow</a></td>
        <td>Simulator</td>
        <td>C, Python</td>
        <td>Moderate</td>
        <td>robgjansen</td>
      </tr>

      <tr>
        <td><a href="#project-chutney">Chutney</a></td>
        <td>Simulator</td>
        <td>Python</td>
        <td>Light</td>
        <td>teor</td>
      </tr>

      <tr>
        <td><a href="#project-stem">Stem</a></td>
        <td>Library</td>
        <td>Python</td>
        <td>Heavy</td>
        <td>atagar</td>
      </tr>

      <tr>
        <td><a href="#project-txtorcon">Txtorcon</a></td>
        <td>Library</td>
        <td>Python, Twisted</td>
        <td>Moderate</td>
        <td>meejah</td>
      </tr>

      <tr>
        <td><a href="#project-metrics-lib">metrics-lib</a></td>
        <td>Library</td>
        <td>Java</td>
        <td>Moderate</td>
        <td>karsten, iwakeh</td>
      </tr>

      <tr>
        <td><a href="#project-metrics">Metrics</a></td>
        <td>Client Service</td>
        <td>Java</td>
        <td>Heavy</td>
        <td>karsten, iwakeh</td>
      </tr>

      <tr>
        <td><a href="#project-atlas">Relay Search</a></td>
        <td>Client Service</td>
        <td>JavaScript</td>
        <td>Light</td>
        <td>irl</td>
      </tr>

      <tr>
        <td><a href="#project-onionoo">Onionoo</a></td>
        <td>Backend Service</td>
        <td>Java</td>
        <td>Heavy</td>
        <td>karsten, iwakeh</td>
      </tr>

      <tr>
        <td><a href="#project-exitmap">ExitMap</a></td>
        <td>Backend Service</td>
        <td>Python</td>
        <td>None</td>
        <td>phw</td>
      </tr>

      <tr>
        <td><a href="#project-doctor">DocTor</a></td>
        <td>Backend Service</td>
        <td>Python</td>
        <td>Light</td>
        <td>atagar</td>
      </tr>

      <tr>
        <td><a href="#project-gettor">GetTor</a></td>
        <td>Client Service</td>
        <td>Python</td>
        <td>None</td>
        <td>ilv</td>
      </tr>

      <tr>
        <td><a href="#project-torcheck">TorCheck</a></td>
        <td>Client Service</td>
        <td>Go</td>
        <td>None</td>
        <td>Arlo</td>
      </tr>

      <tr>
        <td><a href="#project-bridgedb">BridgeDB</a></td>
        <td>Backend Service</td>
        <td>Python</td>
        <td>Light</td>
        <td>isis</td>
      </tr>

      <tr>
        <td><a href="#project-ooni-probe">Ooni Probe</a></td>
        <td>Scanner</td>
        <td>Python</td>
        <td>Heavy</td>
        <td>hellais, aagbsn</td>
      </tr>

      <tr>
        <td><a href="#project-torps">TorPS</a></td>
        <td>Backend Service</td>
        <td>Python</td>
        <td>None</td>
        <td>Aaron Johnson</td>
      </tr>

      <tr>
        <td><a href="#project-torflow">TorFlow</a></td>
        <td>Backend Service</td>
        <td>Python</td>
        <td>None</td>
        <td>aagbsn</td>
      </tr>

      <tr>
        <td><a href="#project-collector">CollecTor</a></td>
        <td>Backend Service</td>
        <td>Java</td>
        <td>Moderate</td>
        <td>karsten, iwakeh</td>
      </tr>

      <tr>
        <td><a href="#project-exonerator">ExoneraTor</a></td>
        <td>Client Service</td>
        <td>Java</td>
        <td>Light</td>
        <td>karsten, iwakeh</td>
      </tr>

      <tr>
        <td><a href="#project-anonbib">Anonbib</a></td>
        <td>Website</td>
        <td>Python</td>
        <td>None</td>
        <td>arma, nickm</td>
      </tr>
    </table>

    <sub>
    * Project is still in an alpha state.
    </sub>

    <br /><br />

    <a id="project-tor"></a>
    <h3>Tor (<a href="https://gitweb.torproject.org/tor.git">code</a>, <a
    href="https://trac.torproject.org/projects/tor/report/12">bug
    tracker</a>)</h3>

    <p>
    Central project, providing the core software for using and participating in
    the Tor network. Numerous people contribute to the project to varying
    extents, but the chief architects are Nick Mathewson and Roger Dingledine.
    </p>

    <p>
    <b>Project Ideas:</b><br />
  #  <i><a href="#improveOnionServices">Help improve Tor onion services</a></i><br />
    <i><a href="#pythonTorClient">Python Tor Client</a></i><br />
    <i><a href="#torFuzzing">Fuzzing coverage of Tor</a></i><br />
    <i><a href="#relayCryptoParallelism">Relay crypto parallelism</a></i><br />
    <i><a href="#anonymousLocalCountStatistics">Anonymous local count statistics</a></i><br />
    <i><a href="#improveSocks5Variant">Improved SOCKS5 variant</a></i><br />
    <i><a href="#onionServiceCryptoParallelism">Onion service crypto parallelism</a></i><br />
    <i><a href="#supportAllDNS">Support all kinds of DNS in Tor</a></i><br />
    <i><a href="#improveIpv6Support">Improve IPv6 support</a></i>
    </p>

    <a id="project-torbrowser"></a>
    <h3><a href="<page projects/torbrowser>">Tor Browser</a> (<a
    href="https://gitweb.torproject.org/tor-browser.git">code</a>, <a
    href="https://trac.torproject.org/projects/tor/query?status=accepted&status=assigned&status=needs_review&status=new&status=reopened&component=Applications%2FTor+Browser&component=Applications%2FTorbutton&component=Applications%2FTor+Launcher&component=Applications%2FTor+bundles%2Finstallation&col=id&col=summary&col=status&col=owner&col=type&col=priority&col=milestone&order=priority">bug
    tracker</a>, <a href="https://www.torproject.org/projects/torbrowser/design/">design doc</a>)</h3>

    <p>
    Tor Browser is an easy-to-use, portable package of Tor, HTTPS-Everywhere,
    NoScript, TorLauncher, Torbutton, and a Firefox fork, all  preconfigured
    to work together out of
    the box. The modified copy of Firefox aims to resolve the
    privacy and security issues in mainline version.
    </p>

    <p>
    <b>Project Ideas:</b><br />
    <i><a href="#metadataremoval">Remove metadata from Tor Browser uploads</a></i><br />
    </p>

    <a id="project-httpseverywhere"></a>
    <h3><a href="https://www.eff.org/https-everywhere">HTTPS Everywhere</a> (<a
    href="https://gitweb.torproject.org/https-everywhere.git">code</a>, <a
    href="https://trac.torproject.org/projects/tor/report/19">bug
    tracker</a>)</h3>

    <p>
    HTTPS Everywhere is a Firefox and Chrome extension that encrypts
    your communications with many major websites, making your browsing
    more secure.
    </p>

    <a id="project-nyx"></a>
    <h3><a href="https://nyx.torproject.org/">Nyx</a> (<a
    href="https://gitweb.torproject.org/nyx.git">code</a>, <a
    href="https://trac.torproject.org/projects/tor/query?status=accepted&status=assigned&status=needs_review&status=new&status=reopened&component=Core+Tor%2FNyx&order=priority">bug
    tracker</a>)</h3>

    <p>
    Nyx (previously <i>arm</i>) is a terminal status monitor for Tor
    intended for command-line aficionados, ssh connections, and anyone with a
    tty terminal. This works much like top does for system usage, providing
    real time statistics for bandwidth, resource usage, connections, and quite
    a bit more.
    </p>

    <a id="project-orbot"></a>
    <h3><a href="https://guardianproject.info/apps/orbot/">Orbot</a> (<a
    href="https://gitweb.torproject.org/orbot.git">code</a>, <a
    href="https://trac.torproject.org/projects/tor/query?status=accepted&status=assigned&status=needs_review&status=new&status=reopened&component=Applications%2FOrbot&order=priority">bug
    tracker</a>)</h3>

    <p>
    Provides Tor on the Android platform. The project is under active
    development, updates to latest Tor releases, and working to stay up to
    date with all changes in Android and mobile threats.
    </p>

    <a id="project-tails"></a>
    <h3><a href="https://tails.boum.org/">The Amnesic Incognito Live System</a> (<a
    href="https://git-tails.immerda.ch/tails/">code</a>, <a
    href="https://labs.riseup.net/code/projects/tails">bug
    tracker</a>, <a href="https://tails.boum.org/doc/">documentation</a>, <a
    href="https://tails.boum.org/contribute/design/">design</a>, <a
    href="https://tails.boum.org/contribute/">contribute</a>)</h3>

    <p>
    The Amnesic Incognito Live System is a live CD/USB distribution
    preconfigured so that everything is safely routed through Tor and leaves no
    trace on the local system. This is a merger of the Amnesia and <a
    href="https://web.archive.org/web/20080512054152/http://anonymityanywhere.com/incognito/">Incognito</a> projects,
    and still under very active development.
    </p>

    <a id="project-torramdisk"></a>
    <h3><a href="http://opensource.dyc.edu/tor-ramdisk">Tor-ramdisk</a> (<a
    href="https://gitweb.torproject.org/tor-ramdisk.git">code</a>, <a
    href="http://opensource.dyc.edu/tor-ramdisk-documentation">documentation</a>)</h3>

    <p>
    Tor-ramdisk is a uClibc-based micro Linux distribution whose sole
    purpose is to securely host a Tor server purely in RAM.
    </p>

    <a id="project-torsocks"></a>
    <h3>Torsocks (<a
    href="https://gitweb.torproject.org/torsocks.git">code</a>, <a
    href="https://trac.torproject.org/projects/tor/query?status=accepted&status=assigned&status=needs_review&status=new&status=reopened&component=Core+Tor%2FTorsocks&order=priority">bug
    tracker</a>)</h3>

    <p>
    Utility for adapting other applications to work with Tor. Development has
    slowed and compatibility issues remain with some platforms, but it's
    otherwise feature complete.
    </p>

    <a id="project-tormessenger"></a>
    <h3><a href="https://trac.torproject.org/projects/tor/wiki/doc/TorMessenger">Tor Messenger</a> (<a
    href="https://gitweb.torproject.org/tor-messenger-build.git">code</a>, <a
    href="https://trac.torproject.org/projects/tor/query?status=accepted&status=assigned&status=merge_ready&status=needs_information&status=needs_review&status=needs_revision&status=new&status=reopened&component=Applications%2FTor+Messenger&order=priority">bug tracker</a>)</h3>

    <p>
    Tor Messenger is a cross-platform chat program that aims to be secure by default and sends all of its traffic over Tor.
    </p>

    <a id="project-torbirdy"></a>
    <h3>TorBirdy (<a
    href="https://gitweb.torproject.org/torbirdy.git">code</a>, <a
    href="https://trac.torproject.org/projects/tor/wiki/torbirdy/dev">bug
    tracker</a>)</h3>

    <p>
    TorBirdy is Torbutton for Thunderbird and related Mozilla mail clients.
    </p>

    <a id="project-shadow"></a>
    <h3><a href="http://shadow.github.io/">Shadow</a> (<a
    href="https://github.com/shadow">code</a>, <a
    href="https://github.com/shadow/shadow/issues">bug
    tracker</a>)</h3>

    <p>
    Shadow is a discrete-event network simulator that runs the real
    Tor software as a plug-in. Shadow is open-source software that enables
    accurate, efficient, controlled, and repeatable Tor experimentation.
    For another simulator, see <a
    href="https://crysp.uwaterloo.ca/software/exptor/">ExperimenTor</a>.
    </p>

    <a id="project-chutney"></a>
    <h3>Chutney (<a href="https://gitweb.torproject.org/chutney.git">code</a>,
    <a href="https://trac.torproject.org/projects/tor/query?status=accepted&status=assigned&status=needs_information&status=needs_review&status=needs_revision&status=new&status=reopened&component=Core+Tor%2FChutney&order=priority">bug
    tracker</a>)</h3>

    <p>
    Integration test suite that spawns a local tor network, checking the
    interactions of its components.
    </p>

    <a id="project-stem"></a>
    <h3><a href="https://stem.torproject.org/">Stem</a> (<a
    href="https://gitweb.torproject.org/stem.git">code</a>, <a
    href="https://trac.torproject.org/projects/tor/wiki/doc/stem/bugs">bug
    tracker</a>)</h3>

    <p>
    Python controller library for scripts and controller applications using
    Tor.
    </p>

    <p>
    <b>Project Ideas:</b><br />
    <i><a href="#pythonTorClient">Python Tor Client</a></i>
    </p>

    <a id="project-txtorcon"></a>
    <h3><a href="https://txtorcon.readthedocs.io/en/latest/">Txtorcon</a> (<a
    href="https://github.com/meejah/txtorcon">code</a>, <a
    href="https://github.com/meejah/txtorcon/issues">bug tracker</a>)</h3>

    <p>
    Twisted-based asynchronous Tor control protocol implementation. Includes
    unit-tests, examples, state-tracking code and configuration abstraction.
    Used by OONI and APAF.
    </p>

    <a id="project-metrics-lib"></a>
    <h3>metrics-lib
    (<a href="https://gitweb.torproject.org/metrics-lib.git">code</a>,
    <a href="https://trac.torproject.org/projects/tor/query?status=!closed&component=Metrics%2Fmetrics-lib&order=priority">bug tracker</a>)</h3>

    <p>metrics-lib is a Java library that processes Tor network data
    provided by <a href="#project-collector">CollecTor</a> or from other
    sources.</p>

    <a id="project-metrics"></a>
    <h3><a href="https://metrics.torproject.org/">Metrics</a> (<a
    href="https://gitweb.torproject.org/metrics-web.git">web</a>)</h3>

    <p>
    Processing and analytics of consensus data, provided to users via the
    metrics portal. This has been under active development for several years by
    Karsten Loesing.
    </p>

    <a id="project-atlas"></a>
    <h3><a href="https://metrics.torproject.org/rs.html">Relay Search</a> (<a
    href="https://gitweb.torproject.org/atlas.git">code</a>)</h3>

    <p>
    Relay Search is a web application to discover Tor relays and bridges. It
    provides useful information on how relays are configured along with graphics
    about their past usage.
    </p>

    <p>
    This is the spiritual successor to <a
    href="https://gitweb.torproject.org/torstatus.git">TorStatus</a>, the <a
    href="https://svn.torproject.org/svn/torstatus/trunk/">original
    codebase</a> for which was written in PHP, and rewritten by students from
    Wesleyan as Django. If you dig into this space then also check out <a
    href="http://globe.rndm.de/">Globe</a>, another similar site that's since
    been discontinued.
    </p>

    <a id="project-onionoo"></a>
    <h3><a href="https://metrics.torproject.org/onionoo.html">Onionoo</a> (<a
    href="https://gitweb.torproject.org/onionoo.git">code</a>,
    <a href="https://trac.torproject.org/projects/tor/query?status=accepted&status=assigned&status=needs_review&status=new&status=reopened&component=Metrics%2FOnionoo&order=priority">bug tracker</a>)</h3>

    <p>
    Onionoo is a JSON based protocol to learn information about currently
    running Tor relays and bridges.
    </p>

    <a id="project-exitmap"></a>
    <h3><a href="http://www.cs.kau.se/philwint/spoiled_onions/">ExitMap</a> (<a
    href="https://github.com/NullHypothesis/exitmap">code</a>, <a
    href="https://github.com/NullHypothesis/exitmap/issues">bug tracker</a>)</h3>

    <p>
    Scanner for the Tor network by Philipp Winter to detect malicious and
    misconfigured exits. For more information about how it works see his <a
    href="http://www.cs.kau.se/philwint/spoiled_onions/pets2014.pdf">Spoiled
    Onions</a> research paper.
    </p>

    <a id="project-doctor"></a>
    <h3>DocTor (<a
    href="https://gitweb.torproject.org/doctor.git">code</a>, <a
    href="https://trac.torproject.org/projects/tor/query?status=accepted&status=assigned&status=needs_review&status=new&status=reopened&component=Core+Tor%2FDocTor&order=priority">bug
    tracker</a>)</h3>

    <p>
    DocTor is a notification service that monitors newly published descriptor
    information for issues. This is primarily a service to help the tor
    directory authority operators, but it also checks for a handful of other
    issues like sybil attacks.
    </p>

    <a id="project-weather"></a>
    <h3><a href="https://trac.torproject.org/projects/tor/wiki/org/roadmaps/Weather">Weather</a> (<a
    href="https://gitweb.torproject.org/weather.git">code</a>, <a
    href="https://trac.torproject.org/projects/tor/query?status=accepted&status=assigned&status=needs_review&status=new&status=reopened&component=Metrics%2FTor+Weather&order=priority">bug
    tracker</a>)</h3>

    <p>
    Provides automatic notification to subscribed relay operators when their
    relay's unreachable. This underwent a rewrite by the <a
    href="http://hfoss.wesleyan.edu/">Wesleyan HFOSS team</a>, which went live
    in early 2011.
    </p>

    <a id="project-gettor"></a>
    <h3><a href="https://trac.torproject.org/projects/tor/wiki/org/roadmaps/GetTor">GetTor</a> (<a
    href="https://gitweb.torproject.org/gettor.git">code</a>, <a
    href="https://trac.torproject.org/projects/tor/query?status=accepted&status=assigned&status=needs_review&status=new&status=reopened&component=Applications%2FGetTor&order=priority">bug
    tracker</a>)</h3>

    <p>
    E-mail autoresponder providing Tor's packages over SMTP. This has been
    relatively unchanged for quite a while.
    </p>

    <a id="project-torcheck"></a>
    <h3><a href="https://trac.torproject.org/projects/tor/wiki/org/roadmaps/TorCheck">TorCheck</a> (<a
    href="https://gitweb.torproject.org/check.git">code</a>, <a
    href="https://trac.torproject.org/projects/tor/query?status=accepted&status=assigned&status=needs_review&status=new&status=reopened&component=Applications%2FTor+Check&order=priority">bug
    tracker</a>)</h3>

    <p>
    Site for determining if the visitor is using Tor or not.
    </p>

    <a id="project-bridgedb"></a>
    <h3><a href="https://pythonhosted.org/bridgedb/">BridgeDB</a> (<a
    href="https://gitweb.torproject.org/bridgedb.git">code</a>, <a
    href="https://trac.torproject.org/projects/tor/query?status=accepted&status=assigned&status=needs_review&status=new&status=reopened&component=Obfuscation%2FBridgeDB&order=priority">bug
    tracker</a>)</h3>

    <p>
    Backend bridge distributor, handling the various pools they're distributed
    in. This was actively developed until Fall of 2010.
    </p>

    <a id="project-ooni-probe"></a>
    <h3><a href="https://ooni.torproject.org/">Ooni Probe</a> (<a
    href="https://github.com/TheTorProject/ooni-probe/">code</a>, <a
    href="https://github.com/TheTorProject/ooni-probe/issues">bug
    tracker</a>)</h3>

    <p>
    Censorship scanner, checking your local connection for blocked or modified
    content.
    </p>

    <a id="project-torps"></a>
    <h3>TorPS</a> (<a href="https://github.com/torps/torps">code</a>)</h3>

    <p>
    The Tor Path Simulator (TorPS) is a tool for efficiently simulating
    path selection in Tor. It chooses circuits and assigns user streams to
    those circuits in the same way that Tor does. TorPS is fast enough to
    perform thousands of simulations over periods of months.
    </p>

    <a id="project-torflow"></a>
    <h3><a href="https://trac.torproject.org/projects/tor/wiki/org/roadmaps/TorFlow">TorFlow</a> (<a
    href="https://gitweb.torproject.org/torflow.git">code</a>, <a
    href="https://trac.torproject.org/projects/tor/query?status=accepted&status=assigned&status=needs_review&status=new&status=reopened&component=Metrics%2FTorflow&order=priority">bug
    tracker</a>)</h3>

    <p>
    Library and collection of services for actively monitoring the Tor network.
    These include the Bandwidth Scanners (measuring throughput of relays) and
    SoaT (scans for malicious or misconfigured exit nodes). SoaT was last
    actively developed in the Summer of 2010, and the Bandwidth Scanners a few
    months later. Both have been under active use since then, but development
    has stopped.
    </p>

    <a id="project-collector"></a>
    <h3><a href="https://collector.torproject.org/">CollecTor</a>
    (<a href="https://gitweb.torproject.org/collector.git">code</a>,
    <a href="https://trac.torproject.org/projects/tor/query?status=!closed&component=Metrics%2FCollecTor&order=priority">bug tracker</a>)</h3>

    <p>CollecTor is the Tor network data archive that powers other
    services like <a href="#project-metrics">Metrics</a> and
    <a href="#project-onionoo">Onionoo</a>.</p>

    <a id="project-exonerator"></a>
    <h3><a href="https://exonerator.torproject.org/">ExoneraTor</a>
    (<a href="https://gitweb.torproject.org/exonerator.git">code</a>,
    <a href="https://trac.torproject.org/projects/tor/query?status=!closed&component=Metrics%2FExoneraTor&order=priority">bug tracker</a>)</h3>

    <p>ExoneraTor is a service that answers the question whether there was
    a Tor relay running on a given IP address on a given date.</p>

    <a id="project-anonbib"></a>
    <h3><a
    href="http://freehaven.net/anonbib/">Anonymity Bibliography</a> (<a
    href="https://gitweb.torproject.org/anonbib.git">code</a>)</h3>

    <p>
    Anonbib is a list of important papers in the field of anonymity. It's
    also a set of scripts to generate the website from Latex (bibtex). If
    we're missing any important papers, please let us know!
    </p>

    <a id="Coding"></a>
    <a id="Summer"></a>
    <h2><a class="anchor" href="#Coding">Project Ideas</a></h2>

    <p>
    You may find some of these projects to be good ideas for <a href="<page
    about/gsoc>">Google Summer of Code</a> or the Tor Summer of Privacy. We have labelled each idea with
    which of our <a href="<page about/corepeople>">core developers</a> would be
    good mentors. If one or more of these ideas looks promising to you, please
    <a href="mailto:tor-sop@lists.torproject.org">contact us</a>  to discuss your plans rather
    than sending blind applications. You may also want to propose your own
    project idea &mdash; which often results in the best applications.
    </p>

    <ol>

	#Keep old ids in case of incoming links.
    <a id="metadataremoval"></a>
    <li>
    <b>Remove metadata from Tor Browser uploads</b>
    <br>
    Likely Mentors: <i>Arthur D. Edelstein (arthuredelstein)</i>
    <p>
    Tor Browser is a privacy-preserving web browser used by millions of
    users around the world. We are looking for a programmer fluent in JS
    and C++ to implement new features to work closely with the Tor Browser
    team.
    </p>
    <p>
    Image files, especially photos taken by smartphones,
    often carry hidden privacy-violating metadata, typically specified by
    the EXIF format. Such metadata can include the user's geolocation and
    various unique identifiers. In order to protect the user's identity,
    we would like the intern to modify the file-upload feature in Tor
    Browser such that metadata in image files is automatically removed
    before the image is uploaded to a server. Ideally, the  summer intern would
    implement this feature for both desktop and mobile Tor Browser. If
    there is time, we can envision sanitizing other kinds of uploaded
    files, including movies, audio, PDFs and Office documents.
    </p>
    <p>
    For more information <a href="https://trac.torproject.org/projects/tor/ticket/24965">see its ticket</a>.
    Please also see <a href="https://mat.boum.org">the Metadata Anonymisation Toolkit (MAT)</a> for a
    similar project that could serve as inspiration.
    </p>
    </li>

    <a id="pythonTorClient"></a><a id="pythonTorClient"></a>
    <li>
    <b>Python Tor Client</b>
    <br>
    Language: <i>Python</i>
    <br>
    Likely Mentors: <i>Damian (atagar), teor</i>
    <br><br>
    <p>
<b><a href="https://stem.torproject.org/">Stem</a></b> is our Python implementation of Tor's varous protocols. Traditionally this included <a href="https://stem.torproject.org/tutorials/the_little_relay_that_could.html">stem.control</a> for Tor's <a href="https://gitweb.torproject.org/torspec.git/tree/control-spec.txt">ControlPort</a> and <a href="https://stem.torproject.org/tutorials/mirror_mirror_on_the_wall.html">stem.descriptor</a> to download from Tor's <a href="https://gitweb.torproject.org/torspec.git/tree/dir-spec.txt">DirPort</a>. But recently we added a third to this family, <b><a href="https://lists.torproject.org/pipermail/tor-dev/2018-February/012905.html">stem.client</a></b>, that speaks Tor's <a href="https://gitweb.torproject.org/torspec.git/tree/tor-spec.txt">ORPort protocol</a>: the relay protocol for usage of the Tor network itself.
    </p>

    <p>
This opens interesting opportunities we've never had before such as...
    </p>

    <ul>
      <li>Construct a full three-hop circuit that can make GET requests and DNS lookups. If done right this might allow simple usage of the Tor network without even having Tor installed!</li>
      <li>Expand <a href="https://stem.torproject.org/tutorials/mirror_mirror_on_the_wall.html#where-can-i-get-the-current-descriptors">descriptor downloading</a> to use Tor's ORPort as an optional alternative for the DirPort. Following this we could adjust Tor so <a href="https://trac.torproject.org/projects/tor/ticket/19129">Fallback Directories no longer require a DirPort</a>.</li>
      <li>Download hidden service descriptors. Unlike relays, the descriptors for hidden services are only available over the ORPort. Once <a href="https://trac.torproject.org/projects/tor/ticket/17945">ticket 17945</a> is merged v3 HS descriptor downloads will require a multi-hop circuit. This requires an understanding of Tor's <a href="https://gitweb.torproject.org/torspec.git/tree/rend-spec-v3.txt">hidden service</a> specifications, particularly the HSDir hash ring.</li>
      <li>Authenticate our ORPort connection, checking that ORPorts we connect to have the right key fingerprint.</li>
      <li>Add protocol level integration test of Tor's ORPort, for instance exercising edge cases in circuit construction and extension.</li>
      <li>Connect to a hidden service to check if it's up or not.</li>
    </ul>

    <p>
And more! Applicants are encouraged to get a decent understanding of <a href="https://gitweb.torproject.org/torspec.git/tree/tor-spec.txt">Tor's ORPort protocol</a> and come up with ideas of their own for neat directions that we can take this. To be clear this is <b>not</b> a particularly easy beginner project as it involves expanding stem.client to support more of Tor's ORPort protocol and crypto.
    </p>

    <p>
<b>As part of applying for this project please get your hands wet with the codebase by contributing some patches for <a href="https://stem.torproject.org/faq.html#how-do-i-get-started">Stem</a>!</b>
    </p>
    </li>
<!--
    <a id="improveOnionServices"></a><a id="improveHiddenServices"></a>
    <li>
    <b>Help improve Tor onion services</b>
    <br>
    Language: <i>C</i>
    <br>
    Likely Mentors: <i>George (asn), David Goulet (dgoulet)</i>
    <br><br>
    <p>
The onion services team is busy implementing <a
href="https://gitweb.torproject.org/torspec.git/tree/proposals/224-rend-spec-ng.txt">proposal
224</a> but we are always open to mentoring fun and exciting onion
service projects.
    </p>

    <p>
In the past, we've mentored a wide variety of projects related to onion
services, ranging from <a
href="https://lists.torproject.org/pipermail/tor-dev/2016-April/010832.html">onion
search engines</a>, <a
href="https://lists.torproject.org/pipermail/tor-talk/2015-May/037966.html">to
scaling techniques for onion services</a>,
and also various approaches
of making onion services more <a
href="https://lists.torproject.org/pipermail/tor-dev/2012-June/003588.html">usable</a>
<a href="https://lists.torproject.org/pipermail/tor-dev/2015-May/008826.html">by
common people</a>.
    </p>

    <p>
Let us know if you have a project you would like to work on, or check
our proposals and technical documents for <a
href="https://lists.torproject.org/pipermail/tor-dev/2016-October/011514.html">various</a>
ideas.
    </p>
    </li>
-->
    <a id="torFuzzing"></a>
    <li>
    <b>Fuzzing coverage of Tor</b>
    <br>
    Likely Mentors: <i>Nick (nickm), ahf, teor</i>
    <br><br>
    <p>
Starting in 0.3.0.x, Tor supports a few fuzzing systems to check our
code for bugs.  But as of now, we only support a few possible entry
points to Tor.  It would be great to add fuzzing support for more of
our codebase -- ideally to include our whole network-facing interface.
That way, we could find more bugs in our code faster, and fix them
before they can get out of hand.
    </p>

    <p>
This won't be so easy, however: to fuzz effectively, we need to
refactor or mock the target function so that it doesn't change any
global state, or verify any signatures, or take too long to run.  With
lots of our network code, that's not so easy.  Make sure you
understand how our mocking system works, and what the challenges are,
before you apply for this one.
    </p>
    </li>

    <a id="relayCryptoParallelism"></a>
    <li>
    <b>Relay crypto parallelism</b>
    <br>
    Likely Mentors: <i>Isis, Nick (nickm)</i>
    <br><br>
    <p>
Tor relays spend a lot of time encrypting and decrypting relay
traffic, doing SHA1 and AES-CTR operations.  But right now, all of
this is done in the main thread!  It would be cool to split this
across multiple cores instead.
    </p>

    <p>
This won't be so easy though.  The code today is written to expect
immediate results from its encryption operations, so you would need to
do some pretty tricky refactoring in order get performance and
correctness here.  Make sure you understand how circuit crypto is
invoked today, and what the challenges are, before you apply for this
one.
    </p>

    <p>
For more information <a href="https://trac.torproject.org/projects/tor/ticket/1749">see its ticket</a>.
    </p>
    </li>

    <a id="anonymousLocalCountStatistics"></a>
    <li>
    <b>Anonymous local count statistics</b>
    <br>
    Likely Mentors: <i>Nick (nickm), teor</i>
    <br><br>
    <p>
There are some places in Tor where we count things (like distinct IPs)
to later report anonymized statistics.  But if the local Tor instance
were compromised, this data would be exposed.  There are statistical
methods which insteasd allow us to record this data in a way that's
already anonymous, before we ever summarize it.  Interested?
    </p>

    <p>
For more information <a href="https://trac.torproject.org/projects/tor/ticket/7532">see its ticket</a>.
    </p>
    </li>

    <a id="improveSocks5Variant"></a>
    <li>
    <b>Improved SOCKS5 variant</b>
    <br>
    Likely Mentors: <i>Nick (nickm), David Goulet (dgoulet), meejah</i>
    <br><br>
    <p>
In proposal 229, we describe a bunch of additional SOCKS extensions
that Tor-aware applications could use to get more fine-grained control
over how Tor handles their streams.  It would be cool to implement
this!  If there's time remaining, you might want to add support to one
or more applications.  Or maybe to torsocks?
    </p>

    <p>
For more information <a href="https://trac.torproject.org/projects/tor/ticket/12456">see its ticket</a>.
    </p>
    </li>


	#Keep old ids in case of incoming links.
    <a id="onionServiceCryptoParallelism"></a><a id="hiddenServiceCryptoParallelism"></a>
    <li>
    <b>Onion service crypto parallelism</b>
    <br>
    Likely Mentors: <i>Nick (nickm), David Goulet (dgoulet)</i>
    <br><br>
    <p>
Onion services, onion service clients, onion service directories,
and introduction points all need to do a few public-key operations as
they operate.  But right now, these operations are all done on the
main thread.  It would be good to have these run across multiple cores.
    </p>

    <p>
This could probably be done in a way similar to how we currently handle
circuit extension handshakes in onion.c and cpuworker.c, but we'd need
to extend the state machine for onion services to add an additional
state.  It could help onion services operate much more efficiently.
    </p>

    <p>
For more information <a href="https://trac.torproject.org/projects/tor/ticket/13738">see its ticket</a>.
    </p>
    </li>

    <a id="supportAllDNS"></a>
    <li>
    <b>Support all kinds of DNS in Tor</b>
    <br>
    Likely Mentors: <i>Nick (nickm), George (asn)</i>
    <br><br>
    <p>
Right now Tor can query for the kind of DNS information you'd find in
A records, AAAA records, and PTR records.  It would be neat to be able
to support more general DNS queries to allow things like MX loopups,
DNSSEC lookups, and so on.  We have a design proposal (number 219) for
this, but it might need some clean-up.
    </p>

    <p>
For more information <a href="https://trac.torproject.org/projects/tor/ticket/7829">see its ticket</a>.
    </p>
    </li>

    <a id="improveIpv6Support"></a>
    <li>
    <b>Improve IPv6 support</b>
    <br>
    Likely Mentors: <i>ahf, teor</i>
    <br><br>
    <p>
Tor works over IPv6, but require some manual configuration.
Clients and relays could automatically detect IPv6 availability,
and configure themselves appropriately. Implementing a
"happy eyeballs"-like algorithm is a challenge in an anonymity
network: are you up for it?
    </p>

    <ul>
      <li><a href="https://trac.torproject.org/projects/tor/ticket/6939">Missing IPv6 ORPort reachability check</a></li>
      <li><a href="https://trac.torproject.org/projects/tor/ticket/4847">Bridges binding only to an IPv6 address doesn't work</a></li>
      <li><a href="https://trac.torproject.org/projects/tor/ticket/5940">Figure out own IPv6 address</a></li>
      <li><a href="https://trac.torproject.org/projects/tor/ticket/17011">Teach chutney to verify over IPv6</a></li>
    </ul>

    <p>
For more information <a href="https://trac.torproject.org/projects/tor/ticket/17811">see its ticket</a>.
    </p>
    </li>
<!--
    <a id="feedbackExtension"></a>
    <li>
    <b>Feedback Extension for Tor Browser</b>
    <br>
    Likely Mentors: <i>Nima (mrphs)</i>, <i>Sukhbir (sukhe)</i>
    <p>
    Design and implement an extension for Tor Browser that can be used to gather
    end-user UI/UX feedback on an opt-in basis. While the design and
    implementation is left as an exercise for the applicant (and also serves as
    the qualification task), examples of the information we are looking to gather
    can include troubleshooting network connectivity issues, testing the various
    pluggable transports, or gathering information about the network of the users.
    </p>

    <p>
    Please propose the extension design in a way that the information is strictly
    on an opt-in basis and scrubs any information that can be used to identify a
    user, and also come up with a way to send the gathered information to a
    central server, whether to an onion address (if the user has Tor running), or
    otherwise. To start with, we are looking to gather only text as part of the
    feedback process.
    </p>
    </li>
-->

    <a id="ahmiaSearch"></a>
    <li>
    <b>Ahmia - Onion Service Search</b>
    <br>
    Language: <i>Python, Django</i>
    <br>
    Likely Mentors: <i>Juha Nurmi (numes), George (asn)</i>
    <p>
    Ahmia is open-source search engine software for Tor onion service deep
    dark web sites. You can test the running search engine at ahmia.fi. For
    more information see our <a
    href="https://blog.torproject.org/category/tags/ahmiafi">blog post about
    Ahmia's GSoC2014 development</a>.
    </p>

    <p>
    Ahmia is a working search engine that indexes, searches, and catalogs
    content published on Tor Onion Services. Furthermore, it is an environment
    to share meaningful insights, statistics, insights, and news about the Tor
    network itself. In this context, there is a lot of work to do.
    </p>

    <p>
    The Ahmia web service is written using the Django web framework. As a
    result, the server-side language is Python. On the client-side, most of the
    pages are plain HTML. There are some pages that require JavaScript, but the
    search itself works without client-side JavaScript.
    </p>

    </li>

<!--
    <a id=""></a>
    <li>
    <b></b>
    <br>
    Language: <i>Python</i>
    <br>
    Likely Mentors: <i>Damian (atagar)</i>
    <br><br>
    <p>

    </p>

    <p>

    </p>
    </li>
-->

    <li>
    <b>Bring up new ideas!</b>
    <br>
    Don't like any of these? Look at the <a
    href="/press/presskit/2008-12-19-roadmap-full.pdf">Tor development
    roadmap</a> for more ideas, or just try out Tor and Tor Browser,
    and find out what you think needs fixing.
    Some of the <a href="<specblob>proposals">current proposals</a>
    might also be short on developers.
    </li>

    </ol>
  </div>
  <!-- END MAINCOL -->
  <div id = "sidecol">
#include "side.wmi"
#include "info.wmi"
  </div>
  <!-- END SIDECOL -->
</div>
<!-- END CONTENT -->
#include <foot.wmi>