git.schokokeks.org
Repositories
Help
Report an Issue
tor-webwml.git
Code
Commits
Branches
Tags
Suche
Strukturansicht:
81720f6d4
Branches
Tags
bridges
docs-debian
jobs
master
press-clips
tor-webwml.git
getinvolved
pl
volunteer.wml
Update wiki links
Karsten Loesing
commited
81720f6d4
at 2011-06-11 20:55:49
volunteer.wml
Blame
History
Raw
## translation metadata # Revision: $Revision: 24520 $ # Translation-Priority: 4-optional #include "pl/head.wmi" TITLE="Tor: Volunteer" CHARSET="UTF-8" <div id="content" class="clearfix"> <div id="breadcrumbs"> <a href="<page index>">Start » </a> <a href="<page getinvolved/volunteer>">Ochotnicy » </a> </div> <div id="maincol"> <!-- PUT CONTENT AFTER THIS TAG --> <h1>Kilka rzeczy, które każdy może zrobić już teraz:</h1> <ol> <li>Prosimy rozważyć <a href="<page docs/tor-doc-relay>">uruchomienie przekaźnika sieci Tor</a>, by wspomóc rozwój sieci Tora.</li> <li>Rozpowiadaj o systemie Tor swoim znajomym! Spraw, by uruchomili usługi ukryte. Spraw, by mówili o systemie Tor swoim znajomym.</li> <li>Jeśli podobają ci się cele Tora, <a href="<page donate/donate>">poświęć chwilę, by złożyć dotację, aby wspomóc przyszły rozwój Tora</a>. Szukamy też dalszych sponsorów — jeśli znasz jakieś firmy, organizacje pozarządowe, agencje lub inne organizacje, które są zainteresowane anonimowością / prywatnością / bezpieczną komunikacją, daj im znać o nas.</li> <li>Szukamy więcej <a href="<page about/torusers>">dobrych przykładów użytkowników Tora i przypadków jego używania</a>. Jeśli używasz Tora w sposób jeszcze nie przedstawiony na tamtej stronie i nie masz nic przeciw podzieleniu się z nami tym sposobem, z chęcią przyjmiemy taką wiadomość.</li> </ol> <p>Tor ma <a href="<page getinvolved/open-positions>">dwa wolne etaty</a>. Prosimy <a href="<page about/contact>">skontaktuj się z nami</a>, jeśli masz kwalifikacje!</p> <a id="Documentation"></a> <h2><a class="anchor" href="#Documentation">Dokumentacja</a></h2> <ol> <li>Pomóż przetłumaczyć stronę WWW i dokumentację na inne języki. Spójrz na <a href="<page getinvolved/translation>">wskazówki do tłumaczenia</a>, jeśli chcesz pomóc. Potrzebujemy zwłaszcza tłumaczy na język arabski i Farsi dla wielu użytkowników Tora w cenzorowanych obszarach.</li> <li>Przejrzyj i udokumentuj <a href="<wiki>doc/TorifyHOWTO">naszą listę programów</a>, które można skonfigurować do pracy z Torem.</li> <li>Mamy ogromną listę <a href="<wiki>doc/SupportPrograms">potencjalnie użytecznych programów, które współpracują z Torem</a>. Które z nich są przydatne w jakich sytuacjach? Prosimy pomóż nam je testować i zapisuj swoje wyniki.</li> </ol> <a id="Advocacy"></a> <h2><a class="anchor" href="#Advocacy">Pokazanie się jako zwolennik Tora</a></h2> <ol> <li>Stwórz prezentację, której będzie można używać na spotkaniach różnych grup na całym świecie.</li> <li>Stwórz film o Twoim pozytywnym wykorzystaniu Tora, czym jest Tor lub jak go używać. Kilka osób już zaczęło na <a href="https://media.torproject.org/video/">serwerze mediów Tora</a>, <a href="http://www.howcast.com/videos/90601-How-To-Circumvent-an-Internet-Proxy">Howcast</a> i <a href="http://www.youtube.com/thetorproject">Youtube</a>.</li> <li>Stwórz plakat, lub zestaw plakatów, skupionych na jakimś motywie, np. "Tor to Wolność!"</li> <li>Stwórz projekt koszulki, który zawiera "Gratulacje! Używasz Tora!" w dowolnym języku.</li> </ol> <a id="Projects"></a> <h2><a class="anchor" href="#Projects">Projekty</a></h2> <p> Poniżej znajduje się lista projektów związanych z Torem, które rozwijamy lub którymi się opiekujemy. Większość dyskusji ma miejsce na IRCu, więc jeśli interesujesz się którymś z nich (lub masz własny pomysł na projekt), prosimy <a href="<page about/contact>#irc">dołączyć do nas na #tor-dev</a>. Nie wstydź się zadawać pytania i nie wahaj się pytać nawet gdy główni ludzie nie są akurat aktywni. </p> <table id="projects"> <tr> <th>Nazwa</th> <th>Kategoria</th> <th>Język</th> <th>Aktywność</th> <th>Wkład</th> </tr> <tr> <td><a href="#project-tor">Tor</a></td> <td>Główny</td> <td>C</td> <td>Dużo</td> <td>nickm, arma, Sebastian</td> </tr> <tr class="alt"> <td>*<a href="#project-jtor">JTor</a></td> <td>Główny</td> <td>Java</td> <td>Brak</td> <td></td> </tr> <tr> <td><a href="#project-tbb">TBB</a></td> <td>Uzyteczność</td> <td>Sys Admin</td> <td>Średnia</td> <td>Erinn</td> </tr> <tr class="alt"> <td><a href="#project-tails">Tails</a></td> <td>Uzyteczność</td> <td>Sys Admin</td> <td>Dużo</td> <td><a href="https://tails.boum.org/chat/">#tails</a></td> </tr> <tr> <td><a href="#project-torsocks">Torsocks</a></td> <td>Uzyteczność</td> <td>C</td> <td>Mało</td> <td>mwenge</td> </tr> <tr class="alt"> <td>*<a href="#project-torouter">Torouter</a></td> <td>Uzyteczność</td> <td>Sys Admin</td> <td>Mało</td> <td>ioerror, Runa</td> </tr> <tr> <td><a href="#project-vidalia">Vidalia</a></td> <td>Interfejs użytkownika</td> <td>C++, Qt</td> <td>Mało</td> <td>chiiph</td> </tr> <tr class="alt"> <td><a href="#project-arm">Arm</a></td> <td>Interfejs użytkownika</td> <td>Python, Curses</td> <td>Dużo</td> <td>atagar</td> </tr> <tr> <td><a href="#project-orbot">Orbot</a></td> <td>Interfejs użytkownika</td> <td>Java</td> <td>Średnia</td> <td>n8fr8</td> </tr> <tr class="alt"> <td><a href="#project-torbutton">Torbutton</a></td> <td>Dodatek do przeglądarki</td> <td>Javascript</td> <td>Średnia</td> <td>mikeperry</td> </tr> <tr> <td>*<a href="#project-thandy">Thandy</a></td> <td>Aktualizator</td> <td>Python</td> <td>Mało</td> <td>Sebastian, Erinn, nickm</td> </tr> <tr class="alt"> <td><a href="#project-torctl">TorCtl</a></td> <td>Biblioteka</td> <td>Python</td> <td>Mało</td> <td>mikeperry</td> </tr> <tr> <td><a href="#project-metrics">Mierzenie</a></td> <td>Usługa kliencka</td> <td>Java</td> <td>Dużo</td> <td>karsten</td> </tr> <tr class="alt"> <td><a href="#project-torstatus">TorStatus</a></td> <td>Usługa kliencka</td> <td>PHP</td> <td>Brak</td> <td></td> </tr> <tr> <td><a href="#project-weather">Pogoda</a></td> <td>Usługa kliencka</td> <td>Python</td> <td>Mało</td> <td>kaner</td> </tr> <tr class="alt"> <td><a href="#project-gettor">GetTor</a></td> <td>Usługa kliencka</td> <td>Python</td> <td>Mało</td> <td>kaner</td> </tr> <tr> <td><a href="#project-torcheck">TorCheck</a></td> <td>Usługa kliencka</td> <td>Python, Perl</td> <td>Brak</td> <td></td> </tr> <tr class="alt"> <td><a href="#project-bridgedb">BridgeDB</a></td> <td>Usługa wspierająca</td> <td>Python</td> <td>Średnia</td> <td>kaner, nickm</td> </tr> <tr> <td><a href="#project-torflow">TorFlow</a></td> <td>Usługa wspierająca</td> <td>Python</td> <td>Mało</td> <td>mikeperry</td> </tr> <tr class="alt"> <td>*<a href="#project-torbel">TorBEL</a></td> <td>Usługa wspierająca</td> <td>Python</td> <td>Brak</td> <td>Sebastian</td> </tr> </table> <sub> * Projekt jest ciągle w fazie alfa. </sub> <br /><br /> <a id="project-tor"></a> <h3>Tor (<a href="https://gitweb.torproject.org/tor.git">kod</a>, <a href="https://trac.torproject.org/projects/tor/query?status=accepted&status=assigned&status=needs_review&status=new&status=reopened&component=Tor+Client&component=Tor+Relay&component=vidalia&order=priority">śledzenie błędów</a>)</h3> <p> Projekt centralny, dostarczający głównego oprogramowania do używania i uczestniczenia w sieci Tor. Wiele osób na rózne sposoby dokonało wkładu w projekt, ale główni architekci to Nick Mathewson i Roger Dingledine. </p> <p> <b>Pomysły do projektu:</b><br /> <i><a href="#resistCensorship">Polepszenie mozliwości Tora do opierania się cenzurze</a></i><br /> <i><a href="#unitTesting">Polepszenie procesu testów jednostkowych</a></i><br /> <i><a href="#simulateSlowConnections">Symulator powolnych połączeń z Internetem</a></i> </p> <a id="project-jtor"></a> <h3><a href="https://github.com/brl/JTor/wiki">JTor</a> (<a href="https://github.com/brl/JTor">kod</a>, <a href="https://github.com/brl/JTor/issues">śledzenie błędów</a>)</h3> <p> Implementacja Tora w Javie i następca <a href="http://onioncoffee.sourceforge.net/">OnionCoffee</a>. Ten projekt nie jest jeszcze kompletny i jest nieaktywny od jesieni 2010. </p> <a id="project-tbb"></a> <h3><a href="<page projects/torbrowser>">Paczka Tora z przeglądarką</a> (<a href="https://gitweb.torproject.org/torbrowser.git">kod</a>, <a href="https://trac.torproject.org/projects/tor/query?status=accepted&status=assigned&status=needs_review&status=new&status=reopened&component=Tor+bundles/installation&order=priority">śledzenie błędów</a>)</h3> <p> Paczka Tora z przeglądarką to łatwa w uzyciu przenośna paczka z Torem, Vidalią i Firefoksem od razu prekonfigurowanymi i gotowymi do pracy ze sobą. Aktywnie pracuje nad tym Erinn Clark. </p> <p> <b>Pomysły do projektu:</b><br /> <i><a href="#auditTBB">Audyt Paczki Tora z przeglądarką na wycieki danych</a></i><br /> <i><a href="#usabilityTesting">Testy użyteczności Tora</a></i> </p> <a id="project-tails"></a> <h3><a href="https://tails.boum.org/">The Amnesic Incognito Live System</a> (<a href="http://git.immerda.ch/?p=amnesia.git;a=summary">kod</a>, <a href="https://tails.boum.org/bugs/">śledzenie błędów</a>)</h3> <p> The Amnesic Incognito Live System to dystrybucja Live CD/USB prekonfigurowana tak, że wszystko jest bezpiecznie wysyłane przez Tora i nie zostawia śladów na lokalnym systemie. To jest połączenie projektów Amnesia i <a href="http://www.anonymityanywhere.com/incognito/">Incognito</a> i ciągle jest bardzo aktywnie rozwijane. </p> <p> <b>Pomysły do projektu:</b><br /> <i><a href="#tailsStartMenu">Własne menu startowe GDM3, znane jako tails-greeter</a></i><br /> <i><a href="#tailsMetadataAnonymizing">Zestaw narzędzi do anonimowania meta-danych do publikacji plików</a></i><br /> <i><a href="#tailsDebianLive">Polepszyć obsługę Debian Live dla przechowywania danych</a></i> </p> <a id="project-torsocks"></a> <h3><a href="http://code.google.com/p/torsocks/">Torsocks</a> (<a href="https://gitweb.torproject.org/torsocks.git">kod</a>, <a href="https://trac.torproject.org/projects/tor/query?status=accepted&status=assigned&status=needs_review&status=new&status=reopened&component=Torify&order=priority">śledzenie błędów</a>)</h3> <p> Narzędzie do adaptacji innych aplikacji do pracy z Torem. Rozwój zwolnił, a zostały problemy zgodności z niektórymi platformami, ale poza tym jest to kompletny program. </p> <p> <b>Pomysły do projektu:</b><br /> <i><a href="#torsocksForOSX">Sprawić, by torsocks/dsocks działało na OS X</a></i> </p> <a id="project-torouter"></a> <h3><a href="<wiki>doc/Torouter">Torouter</a> (<a href="https://trac.torproject.org/projects/tor/query?status=accepted&status=assigned&status=needs_review&status=new&status=reopened&component=Torouter&order=priority">śledzenie błędów</a>)</h3> <p> Projekt mający na celu dostarczenie łatwej w użyciu, wbudowanej wersji Tora dla routerów. Ten projekt miał wysoką aktywność w późnym roku 2010, ale od tamtego czasu raczej zamilkł. </p> <a id="project-vidalia"></a> <h3><a href="<page projects/vidalia>">Vidalia</a> (<a href="https://svn.torproject.org/vidalia/vidalia/trunk/">kod</a>, <a href="https://trac.torproject.org/projects/tor/query?status=accepted&status=assigned&status=needs_review&status=new&status=reopened&component=Vidalia&order=priority">śledzenie błędów</a>)</h3> <p> Najczęściej używany interfejs użytkownika dla Tora. Matt Edman zaczął projekt w roku 2006 i doprowadził go do bieżącego stanu stabilnego. Rozwój zwalniał kilka lat mimo iż Tomás Touceda przejął prowadzenie i posunął projekt do przodu. </p> <p> <b>Pomysły do projektu:</b><br /> <i><a href="#vidaliaStatusEventInterface">Interfejs zdarzeń statusowych kontrolera Tora dla Vidalii</a></i><br /> <i><a href="#vidaliaNetworkMap">Lepsza i bardziej użyteczna mapa sieci w Vidalii</a></i> </p> <a id="project-arm"></a> <h3><a href="http://www.atagar.com/arm/">Arm</a> (<a href="https://svn.torproject.org/svn/arm/trunk/">kod</a>, <a href="https://trac.torproject.org/projects/tor/query?status=accepted&status=assigned&status=needs_review&status=new&status=reopened&component=arm&order=priority">śledzenie błędów</a>)</h3> <p> Monitor Tora z linii poleceń. Bardzo aktywnie rozwijany przez swojego autora, Damiana Johnsona, od początku roku 2009, by był bardziej ogólnym kontrolerem dla środowisk *nix. </p> <p> <b>Pomysły do projektu:</b><br /> <i><a href="#armClientMode">Przypadki użycia w trybie klienta dla Arma</a></i><br /> <i><a href="#armGui">GUI dla Arma</a></i> </p> <a id="project-orbot"></a> <h3><a href="https://guardianproject.info/apps/orbot/">Orbot</a> (<a href="https://svn.torproject.org/svn/projects/android/trunk/Orbot/">kod</a>, <a href="https://trac.torproject.org/projects/tor/query?status=accepted&status=assigned&status=needs_review&status=new&status=reopened&component=Orbot&order=priority">śledzenie błędów</a>)</h3> <p> Dostarcza Tora platformie Android. Był pod bardzo aktywnym rozwojem do jesieni 2010, po czym sprawy zamilkły. </p> <p> <b>Pomysły do projektu:</b><br /> <i><a href="#orbot-torbutton">TorButton dla mobilnego Firefoksa 4 lub własna przeglądarka na Androidzie</a></i><br /> <i><a href="#orbot-userInterface">Zbudowanie lepszego interfejsu dla Orbota</a></i><br /> <i><a href="#orbot-optimisation">Optymalizacja głównej części Tora na urządzenia przenośne</a></i><br /> <i><a href="#orbot-orlibAndOutreach">Biblioteka integracyjna Orbota i wyjście do społeczeństwa</a></i> </p> <a id="project-torbutton"></a> <h3><a href="<page torbutton/index>">Torbutton</a> (<a href="https://gitweb.torproject.org/torbutton.git">kod</a>, <a href="https://trac.torproject.org/projects/tor/query?status=accepted&status=assigned&status=needs_review&status=new&status=reopened&component=Torbutton&order=priority">śledzenie błędów</a>)</h3> <p> Rozszerzenie dla Firefoksa, które zajmuje się wieloma zagrożeniami od strony klienta dla bezpiecznego przeglądania Internetu. Mike kontynuuje dostosowywanie go do nowych zagrożeń, nowych wersji Firefoksa i być może <a href="https://blog.torproject.org/blog/google-chrome-incognito-mode-tor-and-fingerprinting">też Chrome</a>. </p> <p> <b>Pomysły do projektu:</b><br /> <i><a href="#torbuttonForThunderbird">Ekwiwalent Torbuttona dla Thunderbirda</a></i> </p> <a id="project-thandy"></a> <h3>Thandy (<a href="https://gitweb.torproject.org/thandy.git">kod</a>)</h3> <p> Aktualizator Tora. Ten projekt zaczął się latem 2008, ale nie został ukończony. Ostatnio zainteresowanie nim wzrosło i wiele aspektów jego projektu (łącznie z językiem, w jakim będzie) jest teraz niepewnych lub zmienianych. </p> <a id="project-torctl"></a> <h3>TorCtl (<a href="https://gitweb.torproject.org/pytorctl.git">kod</a>, <a href="https://trac.torproject.org/projects/tor/query?status=accepted&status=assigned&status=needs_review&status=new&status=reopened&component=Torctl&order=priority">śledzenie błędów</a>)</h3> <p> Bindingi dla Pythona i narzędzia do korzystania z portu kontrolnego Tora. Projekt stabilny od wielu lat, z minimalnymi zmianami. </p> <a id="project-metrics"></a> <h3><a href="https://metrics.torproject.org/">Pomiary</a> (kod: <a href="https://gitweb.torproject.org/metrics-db.git">db</a>, <a href="https://gitweb.torproject.org/metrics-utils.git">narzędzia</a>, <a href="https://gitweb.torproject.org/metrics-web.git">web</a>, <a href="https://trac.torproject.org/projects/tor/query?status=accepted&status=assigned&status=needs_review&status=new&status=reopened&component=Metrics&order=priority">śledzenie błędów</a>)</h3> <p> Przetwarzanie i analiza danych konsensuów dostarczona użytkownikom poprzez portal pomiarów. Ten projekt jest aktywnie rozwijany od kilku lat przez Karsten Loesing. </p> <a id="project-torstatus"></a> <h3><a href="https://trac.torproject.org/projects/tor/wiki/projects/TorStatus">TorStatus</a> (<a href="https://svn.torproject.org/svn/torstatus/trunk/">kod</a>)</h3> <p> Portal podający opis sieci Tora i szczegóły na temat dowolnego z bieżących przekaźników. Mimo iż aktywnie używany, tym projektem nikt się nie zajmuje od dłuższego czasu. </p> <a id="project-weather"></a> <h3><a href="https://trac.torproject.org/projects/tor/wiki/projects/Weather">Pogoda</a> (<a href="https://gitweb.torproject.org/weather.git">kod</a>, <a href="https://trac.torproject.org/projects/tor/query?status=accepted&status=assigned&status=needs_review&status=new&status=reopened&component=Tor+Weather&order=priority">śledzenie błędów</a>)</h3> <p> Dostarcza automatyczne powiadomienia zapisanym operatorom przekaźników, gdy ich przekaźnik jest nieosiągalny. Projekt został przepisany przez <a href="http://hfoss.wesleyan.edu/">Wesleyan HFOSS team</a>, która uaktywniła się na początku roku 2011. </p> <a id="project-gettor"></a> <h3><a href="https://trac.torproject.org/projects/tor/wiki/projects/EmailAutoResponder">GetTor</a> (<a href="https://svn.torproject.org/svn/projects/gettor/">kod</a>, <a href="https://trac.torproject.org/projects/tor/query?status=accepted&status=assigned&status=needs_review&status=new&status=reopened&component=GetTor&order=priority">śledzenie błędów</a>)</h3> <p> System automatycznie odpowiadający na e-mail, dostarczający paczki Tora przez SMTP. Projekt nie ulegał zmianom przez długi czas. </p> <a id="project-torcheck"></a> <h3><a href="https://trac.torproject.org/projects/tor/wiki/projects/TorCheck">TorCheck</a> (<a href="https://svn.torproject.org/svn/check/trunk/">kod</a>, <a href="https://trac.torproject.org/projects/tor/query?status=accepted&status=assigned&status=needs_review&status=new&status=reopened&component=Tor+Check&order=priority">śledzenie błędów</a>)</h3> <p> Dostarcza przykładowej strony określającej, czy odwiedzający używa Tora czy nie. Projekt nie ulegał zmianom przez długi czas. </p> <a id="project-bridgedb"></a> <h3><a href="https://trac.torproject.org/projects/tor/wiki/projects/BridgeDB">BridgeDB</a> (<a href="https://gitweb.torproject.org/bridgedb.git">kod</a>, <a href="https://trac.torproject.org/projects/tor/query?status=accepted&status=assigned&status=needs_review&status=new&status=reopened&component=BridgeDB&order=priority">śledzenie błędów</a>)</h3> <p> Mechanizm dystrybucji mostków, zajmujący się różnymi zbiorami, w których się znajdują. Projekt był aktywnie rozwijany do jesieni 2010. </p> <a id="project-torflow"></a> <h3><a href="https://trac.torproject.org/projects/tor/wiki/projects/TorFlow">TorFlow</a> (<a href="https://gitweb.torproject.org/torflow.git">kod</a>, <a href="https://trac.torproject.org/projects/tor/query?status=accepted&status=assigned&status=needs_review&status=new&status=reopened&component=Torflow&order=priority">śledzenie błędów</a>)</h3> <p> Biblioteka i zestaw usług do aktywnego monitoringu sieci Tora. Zawiera skanery łącza (mierzące przepustowość przekaźników) i SoaT (skanujący w poszukiwaniu złośliwych lub źle skonfigurowanych węzłów wyjściowych). SoaT ostatnio aktywnie rozwijano latem roku 2010 a skanery łącza kilka miesięcy później. Oba są od tamtego zcasu aktywnie używane, ale rozwój się zatrzymał. </p> <a id="project-torbel"></a> <h3><a href="https://trac.torproject.org/projects/tor/wiki/projects/TorBulkExitlist">TorBEL</a> (<a href="https://gitweb.torproject.org/tordnsel.git">kod</a>, <a href="https://trac.torproject.org/projects/tor/query?status=accepted&status=assigned&status=needs_review&status=new&status=reopened&component=TorDNSEL/TorBEL&order=priority">śledzenie błędów</a>)</h3> <p> Tor Bulk Exitlist dostarcza sposobu na identyfikowanie, czy adresy IP należą do węzłów wyjściowych czy nie. Jest to zamiennik TorDNSEL, który jest stabilną (lecz nierozwijaną) aplikacją w Haskellu napisaną w tym celu. Pierwsza wersja TorBEL została rozpoczęta w czasie GSOC 2010, ale od tamtej pory projekt jest nieaktywny. </p> <a id="Coding"></a> <a id="Summer"></a> <h2><a class="anchor" href="#Coding">Pomysły na projekty</a></h2> <p> Niektóre z tych projektów mogą być dobrymi pomysłami na <a href="<page about/gsoc>">Google Summer of Code 2011</a>. Opisaliśmy każdy z nich informacją, jak użyteczny byłby dla projektu Tor (priorytet), ile pracy według nas wymaga (poziom wysiłku), z iloma informacjami powinno się zaczynać (poziom umiejętności), i którzy z naszych <a href="<page about/corepeople>">głównych deweloperów</a> byliby dobrymi opiekunami. Jeśli jeden lub więcej z tych pomysłów wygląda dla Ciebie obiecująco, <a href="<page about/contact>">skontaktuj się z nami</a>, by omówić Twoje plany zamiast wysyłać zgłoszenia na ślepo. Możesz też zaproponować swój własny pomysł na projekt — co często daje najlepsze programy. </p> <ol> <a id="auditTBB"></a> <li> <b>Audyt Paczki Tora z przeglądarką pod kątem wycieków danych</b> <br> Priorytet: <i>Wysoki</i> <br> Poziom wysiłku: <i>Wysoki</i> <br> Poziom umiejętności: <i>Średni</i> <br> Prawdopodobni opiekunowie: <i> Erinn, Jacob, Andrew</i> <p>Paczka Tora z przeglądarką zawiera Tora, firefoksa, Polipo i interfejs użytkownika Vidalia (i opcjonalnie komunikator <a href="http://pidgin.im/">Pidgin</a>). Komponenty są prekonfigurowane do działania w bezpieczny sposób, a paczka w niewielkim stopinu zależy od zainstalowanego systemu operacyjnego. Stała się więc jednym z najłatwiejszych i najbardziej popularnych sposobów na używanie Tora pod Windows.</p> <p>Celem tego projektu jest identyfikacja wszystkich śladów zostawianych po używaniu Paczki Tora z przeglądarką na Windowsie, Mac OS X czy Linuksie. Stworzenie sposóbów na zatrzymanie, przeciwdziałanie lub usunięcie tych śladów jest ostatnim krokiem.</p> <p>Studenci powinni znać analizę systemu operacyjnego, rozwój aplikacji na jednym lub najlepiej wszystkich systemach: Windows, Linux i Mac OS X oraz czuć się swobodnie w programowaniu w C/C++ i skryptach powłoki.</p> <p>Jeśli chcesz rozszerzyć lub przeprowadzić audyt Paczki, skontaktuj się z Erinn.</p> </li> <a id="firewallProbeTool"></a> <li> <b>Stworzyć w pełni automatyczny system spradzania firewalli</b> <br> Priorytet: <i>Wysoki</i> <br> Poziom wysiłku: <i>Średni do Wysokiego</i> <br> Poziom umiejętności: <i>Wysoki</i> <br> Prawdopodobni opiekunowie: <i>Robert Ransom, Nick, Jacob</i> <p>Chcielibyśmy mieć w pełni automatyczny system spradzania firewalli dla systemów blokujących bez długoterminowago stanu (tzn. firewalli, które mogą badać każde połączenie, ale nie zmieniają swojego zachowania dla przyszłych połaczeń w oparciu o ruch, które widziały).</p> <p>Najlepiej byłoby, gdyby ochotnicy musieli tylko uruchomić jeden lub więcej serwerów testowych i uruchomić klienta testującego na publicznie dostępnym komputerze za zaporą.</p> <p>Narzędzie do testów powinno:</p> <ul> <li>generować przechwytywania pakietów na obu końcach (i wysyłać je w jak największym stopniu),</li> <li>przechodzić przez wszystkie konfiguracje SSL, które możemy przetestować przez urządzenie cenzurujące i</li> <li>przetestować też trochę innych protokołów, by sprawdzić, czy są zezwolone na przechodzenie przez firewall (IMAP i inne protokoły sieciowe, BitTorrent, DTLS, etc.).</li> </ul> </li> <a id="tailsStartMenu"></a> <li> <b>Własne menu startowe GDM3, znane jako tails-greeter</b> <br> Priorytet: <i>Wysoki</i> <br> Poziom wysiłku: <i>Średni</i> <br> Poziom umiejętności: <i>Średni do Wysokiego</i> <br> Prawdopodobni opiekunowie: <i>intrigeri, anonym</i> <p>Wiele nadchodzących poważnych funkcjonalności Tails musi zebrać informacje od użytkowników na starcie: obsługa mostków, przechowywania danych, anonimizacja adresu MAC, etc.</p> <p>Istniejącemu menu ładowania systemu brakuje elementów graficznych i ogólnie przyjazności dla użytkownika. Dlatego zdecydowano zaimplementować menu startowe Tails w GDM3: jego domyślny monit o login/hasło musi zostać zastąpiony przez własną aplikację w GTK+ niniejszym nazwaną tails-greeter, która pozwoli użytkownikowi podać wszelkie niezbędne dane.</p> <p>Ktokolwiek podejmie się tego projektu, powinien znać GNU/Linux i proces rozwoju aplikacji; żadne inne umiejętności nie są wymagane, poza zdolnością do szybkiego znajdowania praktycznych odpowiedzi w API i dokumentacji wielu technologii, o których ta osoba nic nie wie: ten wyzywający projekt programistyczny istotnie będzie zawierał zaznajomienie się z nowoczesnymi technologiami Pulpitu GNU/Linuksa, takimi jak D-Bus, GNOME i GConf. Python/GTK+ to prawdopodobnie najlepiej pasujący język do tego zadania.</p> <p>Po więcej informacji zajrzyj do <a href="https://tails.boum.org/todo/boot_menu/">https://tails.boum.org/todo/boot_menu/</a></p> </li> <a id="orbot-torbutton"></a> <li> <b>TorButton dla Mobilnego Firefoksa 4 lub własna przegladarka na Androidzie</b> <br> Priorytet: <i>Wysoki</i> <br> Poziom wysiłku: <i>Wysoki</i> <br> Poziom umiejętności: <i>Wysoki</i> <br> Prawdopodobni opiekunowie: <i>Nathan (n8fr8), Jake, Mike Perry</i> <p>Wykonano pracę wstępną nad implementacją dodatku ustawiającego proxy dla Firefoksa na Androidzie (zobacz <a href="https://github.com/guardianproject/ProxyMob">ProxyMob</a>), ale wymagane jest pełne przeniesienie TorButton (zależne od wersji TorButtona na Firefoksa 4). Innym podejściem jest zaimplementowanie własnej "Przeglądarki Tora" opartej na przeglądarkach Firefox lub Webkit. Zobacz <a href="http://code.google.com/p/torora/wiki/Android">Torora</a>, aby zobaczyć postępy w tej sprawie.</p> </li> <a id="orbot-userInterface"></a> <li> <b>Zbudować lepszy interfejs użytkownika dla Orbota</b> <br> Priorytet: <i>Wysoki</i> <br> Poziom wysiłku: <i>Średni</i> <br> Poziom umiejętności: <i>Średni</i> <br> Prawdopodobni opiekunowie: <i>Nathan (n8fr8), Jake</i> <p>Lepszy ekran główny pokazujący potwierdzenie połączenia (poprzez wywołanie API TorCheck), lepsze statystyki przesłanych danych (wysłanych/odebranych), liczba podłączonych obwodów, jakość połączenia i tak dalej. Aplikacja "Tether Wifi" na Androida jest dobrym modelem do naśladowania w tym, jak pokazuje w czasie rzeczywistym liczbę przesłanych bajtów jak również w powiadomieniach o połączeniu się klientów wifi. Ponadto, lepsza obsługa wiadomości systemowych i błędów Tora też byłaby bardzo przydatna, zawierająca standardowe powiadomienia systemu operacyjnego Android. Dodanie kreatora lub przewodnika dla początkujących użytkowników, aby wyjąsnić im dokładnie, co jest, a co nie jest anonimizowane, znacznie powiększyłoby prawdopodobieństwo, że będą oni prawidłowo używać Orbota. To wszystko powinno działać na różnych rodzajach ekranów i typach urządzeń oferowanych teraz dla Androida, od dwucalowych telefonów, do dziesięciocalowych tabletów.</p> </li> <a id="resistCensorship"></a> <li> <b>Polepszanie zdolności Tora opierania się cenzurze</b> <br> Priorytet: <i>Średni do Wysokiego</i> <br> Poziom wysiłku: <i>Średni do Wysokiego</i> <br> Poziom umiejętności: <i>Wysoki</i> <br> Prawdopodobni opiekunowie: <i>Roger, Nick, Jake, Thomas</i> <p>Wersje 0.2.1.x Tora robią <a href="<svnprojects>design-paper/blocking.html">znaczne postępy</a> w opieraniu się narodowej i firmowej cenzurze. Ale Tor ciągle potrzebuje lepszych mechanizmów w niektórych częściach projektu anty-cenzurowania.</p> <p>Jedną z dużych kategorii jest dodawanie funkcjonalności do naszej usługi <a href="http://gitweb.torproject.org//bridgedb.git?a=tree">bridgedb</a> (Python). Tor chce dawać <a href="<page docs/bridges>">adresy przekaźników mostkowych</a> użytkownikom nie mogącym bezpośrednio połączyć się z siecią Tora, ale trwa wyścig zbrojeń między algorytmami dystrybucji adresów a algorytmami do zbierania i blokowania adresów. Przeczytaj <a href="<blog>bridge-distribution-strategies">nasz wpis o tym na blogu</a> jako wprowadzenie, a potem spójrz na <a href="https://lists.torproject.org/pipermail/tor-dev/2009-December/000666.html">post Rogera na or-dev</a> z grudnia, by poznać nowsze pomysły — pozostało do zrobienia wiele pracy projektowej.</p> <p>Jeśli chcesz wejść bardziej we wnętrze samego Tora (C), pomniejszym problemem, którym powinniśmy się zająć jest to, że bieżące wersje mogą nasłuchiwać połączeń tylko na jednym zestawie adres/port na raz. Istnieje <a href="<specblob>proposals/118-multiple-orports.txt">propozycja zajęcia się tą sprawą</a> i umożliwienia klientom łączenią się z danym Torem na wielu adresach i portach, ale wymaga to więcej pracy.</p> <p>Ten projekt zawiera wiele badań i projektowania. Jednym z większych wyzwań będzie zidentyfikowanie i umiejętne wykorzystanie rozwiązań, które oprą się atakom nawet po tym, jak atakujący pozna projekt, po czym równoważenie odporności na cenzurę z użytecznością i siłą.</p> </li> <a id="geoIPUpgrade"></a> <li> <b>Polepszenie formatu naszego pliku GeoIP</b> <br> Priorytet: <i>Średni</i> <br> Poziom wysiłku: <i>Średni</i> <br> Poziom umiejętności: <i>Średni do Wysokiego</i> <br> Prawdopodobni opiekunowie: <i>Robert Ransom</i> <p>W chwili obecnej mostki i przekaźniki Tora czytają całą bazę IP->kraj do pamięci z pliku tekstowego w czasie startu. Chcielibyśmy dystrybuować tę bazę danych i przechowywać ją na dysku w znacznie zmniejszonej formie i dokonywać zapytań IP->kraj na jej formacie dyskowym, jesli to możliwe.</p> <p>Mamy <a href='https://trac.torproject.org/projects/tor/ticket/2506'>szkic projektu</a> średnio zoptymalizowanego formatu danych GeoIP dla IPv4; ten projekt będzie zawierał zarówno implementację formatu IPv4 oraz zaprojektowanie i zaimplementowanie formatu danych GeoIP dla IPv6.</p> <!--<p> Since the core of this project is researching IPv6 GeoIP data and designing the IPv6 format, this is not likely to be a good GSoC project.</p>--> </li> <a id="armClientMode"></a> <li> <b>Przypadki użycia klienta dla Arma</b> <br> Priorytet: <i>Średni</i> <br> Poziom wysiłku: <i>Wysoki</i> <br> Poziom umiejętności: <i>Średni</i> <br> Prawdopodobni opiekunowie:<i>Damian (atagar)</i> <p><a href="<page projects/arm>">Arm</a> to monitor stanu Tora na linii poleceń w środowiskach *nix (Linux, Mac i BSD). Działa podobnie do programu top, dając na linii poleceń stan wykorzystania łącza Tora, połączeń, konfiguracji, logi etc. Także dotychczas jego projekt był skierowany do operatorów przekaźników. Ale tak nie musi być. Celem tego projektu byłoby rozszerzenie i uproszczenie arma, by był użyteczny też dla użytkowników klientów Tora.</p> <p>Zawierałoby się w tym zaprojektowanie interfejsu użytkownika, eksperymentowanie i dużo hakowania w pythonie. Oto kilka pomysłów funkcjonalności klienta, które arm mógłby dostarczać:</p> <ul> <li>Panel połączeń klienta, pokazujący każdy skok obwodów użytkownika z dostawcą Internetu, krajem i jurysdykcją, gdzie te przekaźniki się znajdują. Inne interesujące informacje to czas obwodu, jak długo istnieje i jego możliwe porty wyjściowe. Część z tego będzie podchwytliwa i będzie wymagać trochę eksperymentowania, by dowiedzieć się, które informacje można pobrać bezpiecznie (na przykład odrzucanie rdns i zapytań whois mogłoby dać informację o dostawcy Internetu przekaźnika, ale musimy to robić na wszystkich przekaźnikach sieci Tor, by uniknąć wyciekania połączeń do rozwiązywania nazw).</li> <li>Opcje, by użytkownik mógł zażądać nowych obwodów (funkcjonalność "New Identity" - "Nowa tożsamość" - w Vidalii), wybierać kraj wyjścia etc.</li> <li>Panel pokazujący aplikacje internetowe i to, czy ich połączenia są kierowane przez Tora, czy nie (dając ostrzeżenie, gdy są przecieki).</li> <li>Stan mostków, które mamy skonfigurowane do wykorzystania (tzn, czy działają?). To wymagałoby dodania funkcjonalności na porcie kontrolnym Tora dla <a href="https://trac.torproject.org/projects/tor/ticket/2068">bilecika 2068</a>.</li> <li>Jednokliknięciowa opcja do ustawienia, czy Tor ma być klientem, przekaźnikiem, czy mostkiem. Celem byłoby umożilwienie trywialnego sposobu dla użytkowników na wkład do sieci Tora.</li> <li>Menu jako alternatywa dla klawiszy skrótu, by interfejs był bardziej intuicyjny i użyteczny dla początkujących (<a href="http://gnosis.cx/publish/programming/charming_python_6.html">przykład</a>).</li> <li>Spójrz na Vidalię i TorK po pomysły i informacje od społeczności Tora.</li> </ul> <p> Więcej informacji można znaleźć w następujących sekcjach notatek deweloperskich arma: <a href="https://trac.torproject.org/projects/tor/wiki/projects/arm#ConnectionListingExpansion">Connection Listing Expansion</a>, <a href="https://trac.torproject.org/projects/tor/wiki/projects/arm#CircuitDetails">Circuit Details</a> i <a href="https://trac.torproject.org/projects/tor/wiki/projects/arm#ClientModeUseCases">Client Mode Use Cases</a> </p> </li> <a id="unitTesting"></a> <li> <b>Polepszenie procesu testów jednostkowych</b> <br> Priorytet: <i>Średni</i> <br> Poziom wysiłku: <i>Średni</i> <br> Poziom umiejętności: <i>Średni</i> <br /> Prawdopodobni opiekunowie: <i>Nick, Erinn</i> <p>Tor musi zostać znaczniej bardziej przetestowany. To jest projekt wieloczęściowy. Na początek, nasze testy jednostkowe powinny znacznie się wzbogacić, zwłaszcza w obszarach poza funkcjami narzędziowymi. Będzie to wymagało poważnych zmian niektórych części Tora, aby oddzielić jak najwięcej programu od zmiennych globalnych.</p> <p>Ponadto, musimy zautomatyzować nasze testy wydajności dla wszystkich systemów. Mamy już buildbota do automatyzacji naszej zwyczajnej integracji i kompilacji testów (ale potrzebujemy osoby do uruchomienia tego pod Windows), ale musimy zaktualizować nasze testy symulacji sieci (takie, jak w <a href="https://svn.torproject.org/svn/torflow/trunk/README">TorFlow</a>) do nowszych wersji Tora i zaprojektować je tak, by uruchamiać sieci testowe albo na jednej maszynie, albo na kilku, abyśmy mogli automatycznie badać zmiany wydajności na maszynach pełniących różne zadania.</p> </li> <a id="simulateSlowConnections"></a> <li> <b>Symulator wolnych połączeń internetowych</b> <br> Priorytet: <i>Średni</i> <br> Poziom wysiłku: <i>Średni</i> <br> Poziom umiejętności: <i>Średni</i> <br> Prawdopodobni opiekunowie: <i>Nick</i> <p> Wielu użytkowników Tora ma łącza internetowe niskiej jakości, dające niską przepustowość, długie czasy trwania operacji i wysoki współczynnik utraty lub przekładania pakietów. Z doświadczeń użytkowników wiemy, że Tor źle reaguje na te warunki, ale ciężko jest poprawić tę sytuację bez możliwości powtórzenia tych problemów w laboratorium. </p> <p> Celem tego projektu byłoby zbudowania środowiska symulacyjnego, które replikowałoby tę słabą łączność, by można było zmierzyć jej działanie na wydajność Tora. Innymi komponentami byłby program testujący, w celu określenia dostępnych parametrów połączenia i mierzenia wpływu zmian polepszających wydajność Tora. </p> <p> Wybór narzędzi zależałby od studenta/ki, ale dummynet (dla FreeBSD) i nistnet (pod Linux) są dwoma potencjalnymi komponentami, na których można byłoby zbudować ten projekt. Studenci powinni mieć doświadczenie w programowaniu i debugowaniu sieciowym i TCP/IP oraz najlepiej znać C i język skryptowy. </p> </li> <a id="torbuttonForThunderbird"></a> <li> <b>Odpowiednik Torbuttona dla Thunderbirda</b> <br> Priorytet: <i>Średni</i> <br> Poziom wysiłku: <i>Wysoki</i> <br> Poziom umiejętności: <i>Wysoki</i> <br> Prawdopodobni opiekunowie: <i>Mike</i> <p> Od ciągle powiększającej się grupy użytkowników słyszymy, że chcą używać Thunderbirda z Torem. Jest jednak wiele spraw na poziomie aplikacji, na przykład to, że Thunderbird domyślnie umieści Twoją nazwę hosta w wysyłanej przez siebie poczcie. W pewnym momencie powinniśmy zapoczątkować nowe działania mające na celu stworzenie rozszerzenia dla Thunderbirda, podobnego do Torbuttona. </p> </li> <a id="usabilityTesting"></a> <li> <b>Testy użyteczności Tora</b> <br> Priorytet: <i>Średni</i> <br>Poziom wysiłku: <i>Średni</i> <br> Poziom umiejętności: <i>Niski do Średniego</i> <br> Prawdopodobni opiekunowie:<i>Andrew</i> <p> Zwłaszcza paczki z przeglądarką, najlepiej na docelowej grupiue. To by bardzo pomogło dowiedzieć się, co trzeba zrobić w zakresie poprawek błędów lub nowych funkcjonalności. W chwili obecnej dostajemy to nieformalnie, ale lepszy byłby proces z lepszą strukturą. </p> <p> Jako że nie jest to projekt programistyczny, nie nadaje się do Google Summer of Code. </p> </li> <a id="tailsMetadataAnonymizing"></a> <li> <b>Zestaw narzędzi do anonimowania meta-danych do publikacji plików</b> <br> Priorytet: <i>Średni</i> <br> Poziom wysiłku: <i>Niski do Średniego</i> <br> Poziom umiejętności: <i>Niski do Średni</i> <br> Prawdopodobni opiekunowie: <i>intrigeri, anonym</i> <p>Tor bardzo pomaga w anonimowej publikacji plików. Jedna wiele osobistych informacji może być zawartych *wewnątrz* meta-danych takich publikowanych plików: współrzędne GPS, nazwisko autora itd. Każdy, kto chce anonimowo opublikować plik może więc łatwo się odkryć.</p> <p>Zestaw narzędzi pozwalających użytkownikom łatwo przeglądać i czyścić meta-dane byłby przydatny użytkownikom Tora i byłby np. dystrybuowany w Tails.</p> <p>Graficzny nterfejs użytkownika to wymóg, ale interfejsy biblioteczne i linii poleceń są jak najbardziej mile widziane, by przyszłe prace mogły dodać obsługę czyszczenia publikowanych plików do różnych narzędzi do publikacji, jak klienci sieci społecznościwych i systemy zarządzania zawartością w Sieci.</p> <p>Ten projekt składa się głównie z pisania kleju między wieloma istniejącymi narzędziami i bibliotekami, które dostarczają dostępu do zapisu/odczytu do meta-danych pliku. Rozszerzalny projektu programu byłby prawdopodobnie najlepszym rozwiązaniem, by obsługa innych rodzajów plików mogła być łatwo dodana później.</p> <p>Zestaw narzędzi do czeszczenia meta-danych musi działać co najmniej na GNU/Linuksie; dodatkowa obsługa Windows i Mac OS X będzie mile widziana. Wykorzystane narzędzia leżą w gestii studentów. Szczegółowa specyfikacja jest gotowa i będzie opublikowana wkrótce.</p> </li> <a id="tailsDebianLive"></a> <li> <b>Polepszyć obsługę Debian Live dla przechowywania danych</b> <br> Priorytet: <i>Średni</i> <br> Poziom wysiłku: <i>Średni</i> <br> Poziom umiejętności: <i>Niski do Średniego</i> <br> Prawdopodobni opiekunowie: <i>intrigeri, anonym</i> <p>Przechowywanie danych to podchwytliwy temat w kontekście systemu Live, zwłaszcza takich jak Tails, który jest jawnie zaprojektowany, by unikać zostawiania jakiegokolwiek śladu jego użytkowania.</p> <p>Niektóre przypadki z życia wzięte wymagają jednak jakiegoś rodzaju przechowywania danych. Na początek, Tails powinno (ostrożnie) obsługiwać przechowywanie konfiguracji specyficznych dla aplikacji (np. kluczy GnuPG) i przechowalni dla dowolnych danych użytkownika. Przechowywanie danych w Tails zawsze będzie opcjonalne i będzie wymagać zaszyfrowanego miejsca.</p> <p>Niewidoczna praca składa się z poprawienia istniejących funkcjonalności przechowywania danych Debiana Live, by pasowały do specyficznego kontekstu Tails. Nawiązano już zaufanie z ludźmi od przyszłych wersji, którzy będą zadowoleni z naszych zmian. Kod nie jest taki mały i potrzeba wielu zmian, więc to naprawdę jest projekt programistyczne, a nie konkurs hakowania powłoki typu napisz-i-zapomnij.</p> <p>Ktokolwiek podejmie się tego projektu, musi znać GNU/Linux, najlepiej Debiana. Umiejętność (szybkiej nauki) pisania czystych i bezpiecznych programów w powłoce też jest wymagana.</p> <p>Po więcej informacji zajrzyj do <a href="https://tails.boum.org/todo/persistence/">https://tails.boum.org/todo/persistence/</a>.</p> </li> <a id="torsocksForOSX"></a> <li> <b>Sprawienie, że torsocks/dsocks będzie działać na OS X</b> <br> Priorytet: <i>Średni</i> <br> Poziom wysiłku: <i>Średni</i> <br> Poziom umiejętności: <i>Średni</i> <br> Prawdopodobni opiekunowie: <i>Robert Hogan</i> <p> <a href="http://code.google.com/p/torsocks/">Torsocks</a> i <a href="http://code.google.com/p/dsocks/">dsocks</a> są owijkami, które uruchamiają aplikacje, przechwytują ich wychodzące połaczenia sieciowe i wysyłają je przez Tora. Celem jest obsługa aplikacji, które nie obsługują serwerów pośredniczących (lub obsługują je słabo). By to działało dobrze, musimy przechwytywać wiele wywołań systemowych. Funkcje systemowe, które trzeba przechwytywać na Linuksie różnią się znacznie od tych na BSD. Dlatego Torsocks działa dobrze na Linuksie, dsocks działa dobrze na BSD (choć zdaje się, że mniej osób się nim zajmuje, więc może mu brakować niektórych funkcji systemowych), a nic nie działa dobrze na obu. Po pierwsze, powinniśmy załatać dsocks, by używał komend <i>mapaddress</i> Tora z jego interfejsu kontrolera, byśmy nie marnowali całego przejścia przez Tora, robiąc rozwiązanie nazw przed połączeniem. Po drugie, powinniśmy sprawić, by nasz skrypt <i>torify</i> wykrywał, który z torsocks lub dsocks jest zainstalowany i wywoływać je odpowiednio. To prawdopodobnie oznacz unifikację ich interfejsów i może oznaczać współdzielenie kodu między nimi lub całkowite odrzucenie jednego. </p> </li> <a id="vidaliaStatusEventInterface"></a> <li> <b>Interfejs zdarzeń stanu kontrolera Tora dla programu Vidalia</b> <br> Priorytet: <i>Średni</i> <br> Poziom wysiłku: <i>Średni</i> <br> Poziom umiejętności: <i>Niski do średniego</i> <br> Prawdopodobni opiekunowie: <i>Tomás</i> <p>Jest pewna liczba zmian stanu, o których użytkownik powinien być informowany. Na przykład, jeśli użytkownik chce uruchomić przekaźnik sieci Tor, a Tor stwierdzi, że nie jest on osiągalny z zewnątrz, użytkownik powinien zostać o tym poinformowany. W tej chwili wszystko, co dostaje użytkownik, to kilka wiadomości w "dzienniku wiadomości" Vidalii, których pewnie nie zobaczy, gdyż nie dostaje informacji, że coś poszło nie tak. Nawet jeśli użytkownik spojrzy na zapis logów, większość wiadomości będzie miała mały sens dla początkującego.</p> <p>Tor ma możliwość informowania Vidalii o wielu takich zmianach stanu, a ostatnio zaimplementowaliśmy obsługę kilku takich zdarzeń. Jednak jest wiele więcej zdarzeń, o których użytkownik powinien być informowany i potrzebujemy lepszego interfejsu użytkownika do wyświetlania takich wiadomości.</p> <p>Celem tego projektu jest zaprojektowanie i zaimplementowanie interfejsu użytkownika do wyświetlania wiadomości o stanie Tora. Na przykład, można byłoby umieścić mały znaczek na ikonie Vidalii w zasobniku, który alarmowałby użytkownika o nowych zmianach stanu, którym powinien się przyjrzeć. Podwójne kliknięcie tej ikonki pokazywałoby okienko dialogowe podsumowujące ostatnie zmiany stanu prostymi słowami i może sugerujące rozwiązania do negatywnych wiadomości, jeśli mogą one być naprawione przez użytkownika. Oczywiście to tylko przykład i można zaproponować inne podejście.</p> <p>Osoba podejmująca się tego projektu powinna dobrze znać projektowanie i tworzenie interfejsu użytkownika i mieć trochę doświadczenia z C++. Uprzednie doświadczenie z Qt i Qt Designer będzie przydatne, ale nie jest wymagane. Przydatne mogą być też pewne umiejętności w pisaniu po angielsku, gdyż ten projekt prawdopodobnie będzie wymagał napisania małej ilości dokumentacji pomocniczej, która powinna być zrozumiała dla nie-technicznych użytkowników. Dodatkowe punkty za jakiś projekt graficzny /Photoshop fu, gdyż moglibyśmy chcieć/potrzebować nowych ikonek.</p> </li> <a id="orbot-optimisation"></a> <li> <b>Optymalizacja głównej części Tora na urządzenia przenośne</b> <br> Priorytet: <i>Średni</i> <br> Poziom wysiłku: <i>Średni</i> <br> Poziom umiejętności: <i>Wysoki</i> <br> Prawdopodobni opiekunowie: <i>Nathan (n8fr8), Jake</i> <p> Istniejąca wersja Tora na Androdzie to z grubsza prosta kompilacja skrośna na Linuksa na ARMie. Nic nie zrobiono, aby poszukać możliwych optymalizacji Tora w środowisku urządzenia przenośnego lub w sieciach komórkowych. Ponadto, dostępne są dodatkowe API systemu Android (jak status sieci bezprzewodowej), z których można byłoby skorzystać. </p> <p> Należy zauważyć, że nawet bez optymalizacji Tor bardzo dobrze radzi sobie ze środowiskiem sieci komórkowych, automatycznie wykrywając zmiany adresu IP, otwierając obwody itd, jak urządzenie ciągle przełącza się z braku łączności na 2G, 3G lub Wifi gdy zmienia pozycję. Jednak obserwacja "bardzo dobrze" opiera się na odczuciach użytkowników, a nie na jakimś szczegółowym badaniu co dokładnie się dzieje i jakie zagrożenia mogą istnieć z przyczyny ciągłej zmiany stanu sieci. </p> <p> Ostatecznie trzeba przenieść proces budowania na Android NDK z własnych narzędzi GCC, których teraz używamy i trzeba sprawdzić zgodność z Androidem 2.3 i 3.x Honeycomb. </p> <p> Po więcej informacji zajrzyj do <a href="https://svn.torproject.org/svn/projects/android/trunk/Orbot/BUILD">dokumentacji budowania Orbota</a>. </p> </li> <a id="orbot-orlibAndOutreach"></a> <li> <b>Biblioteka integracyjna Orbota i wyjście do społeczeństwa</b> <br> Priorytet: <i>Średni</i> <br> Poziom wysiłku: <i>Niski</i> <br> Poziom umiejętności: <i>Średni</i> <br> Prawdopodobni opiekunowie: <i>Nathan (n8fr8)</i> <p> Potrzeba dodatkowej pracy nad <a href="https://github.com/guardianproject/orlib">ORLib</a>, naszą biblioteką do innych aplikacji, by łatwo można było dodać im obsługę "Toryfikacji " na urządzeniach nie uruchomionych w trybie administratora (czyli bez przezroczystego przekierowania ruchu). Ta biblioteka zawiera klienta SOCKS, owijkę na bibliotekę Apache HTTPClient, klasę narzędziową do wykrywania stanu połączenia Orbota i inne istotne/przydatne rzeczy, których aplikacja na Androida może potrzebować na zanonimizowanie się. Praca ta zawierałaby bezpośredni rozwój biblioteki, dokumentacji i przykładowego kodu. Wyjście do sopłeczeństwa lub wysiłek nad implementacją biblioteki w innych otwartych aplikacjach też jest potrzebny. </p> </li> <a id="vidaliaNetworkMap"></a> <li> <b>Poprawiona i bardziej użyteczna mapa sieci w programie Vidalia</b> <br> Priorytet: <i>Niski do Średniego</i> <br> Poziom wysiłku: <i>Średni</i> <br> Poziom umiejętności: <i>Średni</i> <br> Prawdopodobni opiekunowie: <i>Tomás</i> <p> Jedną z istniejących cech Vidalii jest mapa sieci, która pokazuje użytkownikowi przybliżone lokalizacje geograficzne przekaźników sieci Tora i rysuje ścieżki, przez które przechodzi ruch użytkownika w sieci Tora. Mapa jest w tej chwili niezbyt interaktywna i ma raczej słabą grafikę. Zamiast tego, zaimplementowaliśmy widget Marble z KDE, który daje mapę lepszej jakości i umożliwia lepszą interaktywność, jak na przykład pozwalanie użytkownikowi na klikanie w poszczególne przekaźniki lub obwody, by wyświetlić dodatkowe informacje. Chcemy też dodać użytkownikowi możliwość klikania na dany przekaźnik lub kraj z co najmniej jednym przekaźnikiem i stwierdzenia "chcę, by moje połączenia wychodziły stąd." </p> <p> Podczas tego projektu, osoba najpierw zapozna się z Vidalią i API widgetu Marble. Potem zintegruje widget z Vidalią i zmieni go, by bardziej pasował do naszych zastosowań, np. można było klikać w obwody, zapisywać mapy we własnym katalogu Vidalii i dostosować część okien dialogowych widgetu. </p> <p> Osoba podejmująca się tego projektu powinna dobrze znać C++. Uprzednie doświadczenie z Qt i CMake będzie przydatne, ale nie jest wymagane. </p> </li> <a id="armGui"></a> <li> <b>GUI dla Arma</b> <br> Priorytet: <i>Niski</i> <br> Poziom wysiłku: <i>Wysoki</i> <br> Poziom umiejętności: <i>Średni</i> <br> Prawdopodobni opiekunowie: <i>Damian (atagar)</i> <p> Arm ma wiele unikalnych funkcjonalności, niektóre z ciekawszych to lista połączeń (korelowanie wyników netstat z dokumentem konsensusu Tora) i edytor konfiguracji (szybka metoda edytowania konfiguracji Tora, z danymi wziętymi z portu kontrolnego i strony podręcznika). Jednak to, że arm jest kontrolerem na linii poleceń, nie przemawia dobrze do niektórych grup użytkowników. Ten projekt polegałby na zbudowaniu interfejsu w GTK lub Qt dla kontrolera, dającego podobne funkcjonalności, ale z interfejsem okienkowym. </p> <p> Większość bardziej interesujących funkcjonalności arma jest w jego <a href="https://svn.torproject.org/svn/arm/trunk/src/util/">narzędziach</a>, więc nie powinno być dużo pracy z oddzieleniem jego interfejsu od jego wnętrzności. Zamiast tego, ten projekt składałby się głównie z hakowania interfejsu użytkownika i eksperymentowania, wypróbowując różne interfejsy, aby znaleźć coś, co jest eleganckie i proste, ale pasuje do informacji, które można znaleźć w aktualnej aplikacji terminalowej. </p> </li> <li> <b>Przynieś nowe pomysły!</b> <br>Nie podoba Ci się żaden z tych pomysłów? Sięgnij do <a href="/press/presskit/2008-12-19-roadmap-full.pdf">planu rozwoju Tora</a> po więcej pomysłów lub po prostu wypróbuj Tora, Vidalię, Torbutton i dowiedz się, co Twoim zdaniem wymaga poprawy. Niektórym z <a href="<spectree>proposals">bieżących propozycji</a> też może brakować deweloperów. </li> </ol> <a id="OtherCoding"></a> <h2><a class="anchor" href="#OtherCoding">Inne pomysły związane z programowaniem i projektowaniem</a></h2> <ol> <li>Przekaźniki sieci Tora nie działają zbyt dobrze na Windows XP. Pod systemem Windows Tor używa standardowej funkcji systemowej <tt>select()</tt>, która zużywa miejsce w niestronicowanym obszarze pamięci. Znaczy to, że średnich rozmiarów przekaźnik sieci Tora zapełni dostępną przestrzeń, <a href="<wiki>doc/WindowsBufferProblems">będąc przyczyną dziwnych zachowań i padów systemu</a>. Powinniśmy raczej używać nakładającego IO. Jednym z rozwiązań byłoby nauczenie biblioteki <a href="http://www.monkey.org/~provos/libevent/">libevent</a>, jak używać nakładającego IO zamiast select() pod Windows, po czym zaadaptować Tora do nowego interfejsu. Christian King zrobił <a href="https://svn.torproject.org/svn/libevent-urz/trunk/">pierwszy dobry krok</a> latem roku 2007.</li> <li>Musimy zacząć budować nasz <a href="<page docs/documentation>#DesignDoc">projekt odporny na blokowanie</a>. Wchodzi w to przemyślenie projektu, zmiana wielu różnych elementów Tora, zaadaptowanie <a href="<page projects/vidalia>">Vidalii</a>, by obsługiwała nowe cechy i planowanie rozpowszechniania.</li> <li>Potrzebujemy elastycznego frameworka symulacji do badania ataków potwierdzenia ruchu od nadawcy do odbiorcy (end-to-end). Wielu ludzi szybko wyciągnęło/napisało doraźne symulatory odpowiadające ich intuicji, że albo ataki znakomicie się udają, albo że obrona działa dobrze. Czy możemy zbudować symulator, który jest dobrze udokumentowany i dość otwarty, by wszyscy wiedzieli, że daje rozsądną odpowiedź? To zacznie wiele nowych badań. Spójrz na wpis <a href="#Research">poniżej</a> o atakach potwierdzenia po szczegóły strony badawczej tego zadania — kto wie, może gdy będzie skończone, pomożesz nam też napisać dokumentację.</li> <li>Tor 0.1.1.x i późniejsze zawiera obsługę sprzętowych akceleratorów kryptograficznych, poprzez OpenSSL. Zostało to trochę przetestowane i prawdopodobnie ma dużo błędów. Czekamy na bardziej rygorystyczne testy, analizy wydajności i najlepiej poprawki kodu do OpenSSL i Tora, jeśli będzie trzeba.</li> <li>Dokonać analizy bezpieczeństwa Tora z <a href="http://en.wikipedia.org/wiki/Fuzz_testing">"fuzz"</a>. Sprawdzić, czy istnieją jakieś dobre biblioteki "fuzz", których nam potrzeba. Zdobądź sławę gdy wydamy nową wersję dzięki Tobie!</li> <li>Tor używa TCP do transportu i TLS do szyfrowania transmisji. To jest ładne i proste, ale oznacza to, że wszystkie komórki na łączu zostają opóźnione, gdy pojedynczy pakiet zostanie utracony, co oznacza, że rozsądnie obsługiwać możemy tylko strumienie TCP. Mamy <a href="<page docs/faq>#TransportIPnotTCP">listę powodów, dla których nie przenieśliśmy się na UDP</a>, ale byłoby dobrze skrócić tę listę. Mamy też proponowaną <a href="<specblob>proposals/100-tor-spec-udp.txt">specyfikację dla Tora i UDP</a> — proszę dać znać, co z nią jest nie tak.</li> <li>Jesteśmy wcale niedaleko od obsługi adresów IPv6 jako docelowych (na węzłach wyjściowych). Jeśli mocno ci zależy na IPv6, to jest to chyba najlepszy punkt startu.</li> <li>Potrzebujemy sposobu na generowanie diagramów na stronie (na przykład, obrazków "Jak działa Tor" na <a href="<page about/overview>">stronie wprowadzenia</a> ze źródeł, byśmy mogli je tłumaczyć jako tekst w UTF-8 zamiast edytować je ręcznie za pomocą edytorów obrazów. Należy zintegrować to z plikiem WML, by tłumaczenie było proste, a obrazki generowane w wielu językach w czasie publikacji strony.</li> <li>Jak można uczynić różne systemy LiveCD/USB łatwiejszym w utrzymaniu, ulepszaniu i dokumentowaniu? Jednym z przykładów jest <a href="https://tails.boum.org/">The Amnesic Incognito Live System</a> </li> <li> Kolejny projekt przeciw cenzurze to próba uczynienia Tora bardziej odpornym na skanowanie. W chwili obecnej ktokolwiek może zidentyfikować <a href="<specblob>proposals/125-bridges.txt">mostki Tora</a> po prostu łącząc się z nimi, zgodnie z protokołem Tora, i sprawdzając, czy odpowiadają. By rozwiązać ten problem, mostki mogłyby <a href="<svnprojects>design-paper/blocking.html#tth_sEc9.3">udawać serwery internetowe</a> (HTTP lub HTTPS), gdy łączą się z nimi programy do skanowania portów, a nie zachowywać się jak mostki do chwili, gdy użytkownik poda klucz specyficzny dla mostka. Na początek, sprawdź<a href="http://dl.dropbox.com/u/37735/index.html">pracę i prototyp</a>. </li> </ol> <a id="Research"></a> <h2><a class="anchor" href="#Research">Badania</a></h2> <ol> <li>"Atak potwierdzenia w ruchu nadawca-odbiorca" (end-to-end traffic confirmation attack): obserwując ruch od Alicji do Boba, możemy <a href="http://freehaven.net/anonbib/#danezis:pet2004">porównać sygnatury ruchu i przekonać się, że obserwujemy ciągle ten sam strumień danych</a>. Jak na razie, Tor przyjmuje to jako pewnik i zakłada, że ten atak jest trywialny we wszystkich przypadkach. Po pierwsze, czy tak rzeczywiście jest? Jak wiele ruchu/danych o jakim rozkładzie jest potrzebne, by przeciwnik upewnił się, że wygrał? Czy są jakieś sytuacje (np. nie wysyłanie wiele danych), które spowolniłyby atak? Czy jakieś dopełnienia transmisji lub inne sposoby kształtowania działają lepiej od innych?</li> <li>Powiązane pytanie brzmi: Czy prowadzenie przekaźnika/mostka daje dodatkową ochronę przed atakami opartymi na czasie? Czy ktoś z zewnątrz, kto nie może przeczytać linków zaszyfrowanych przez TLS, dalej jest w stanie wiarygodnie rozpoznać poszczególne strumienie danych? Czy ilość ruchu jakoś zmniejsza tę możliwość? A co, jeśli klient-przekaźnik celowo opóźnia wychodzący ruch, by stworzyć kolejkę, która mogłaby być używana do udawania czasów pobierania danych przez klienta tak, by wyglądało, że ten ruch też jest przekierowany? Ta sama kolejka mogłaby być używana do maskowania czasów w ruchu wychodzącym, korzystając z technik <a href="http://www.freehaven.net/anonbib/#ShWa-Timing06">adaptacyjnego dopełniania</a>, ale bez potrzeby dodatkowego ruchu (wysyłania dodatkowych danych). Czy takie przeplatanie prawdziwych danych popsułoby mierzenie czasów u atakujących? Czy strategie te musiałyby by zmienione dla asymetrycznych łączy? Na przykład, czy jest możliwe na łączu asymetrycznym odróżnienie ruchu klienta od naturalnego wzmożenia ruchu ze względu na ich asymetryczną pojemność? Czy jest to jednak łatwiejsze niż dla łączy symetrycznych z innych przyczyn?</li> <li>Powtórzcie <a href="http://www.cl.cam.ac.uk/~sjm217/projects/anon/#torta">atak z Oakland 05</a> Murdocha i Danezisa na bieżącej sieci Tora. Sprawdźcie, czy możecie dowiedzieć się, czemu działa on dobrze na niektórych węzłach, a gorzej na innych. (Moja teoria mówi, że szybkie węzły mające trochę wolnego pasma lepiej opierają się atakowi.) Jeśli to prawda, poeksperymentujcie z opcjami RelayBandwidthRate i RelayBandwidthBurst prowadząc węzeł używany jako klient do przekierowywania ruchu atakującego: jeśli zmniejszamy RelayBandwidthRate, czy atak jest trudniejszy? Jaki jest najwłaściwszy stosunek RelayBandwidthRate do rzeczywistej szybkości łącza? Czy to w ogóle jest jakiś stosunek? Skoro już przy tym jesteśmy, czy znacznie większy zbiór węzłów kandydujących zwiększa odsetek fałszywych wyników pozytywnych lub innych trudności dla tego rodzaju ataku? (Sieć Tora jest teraz większa o prawie dwa rzędy wielkości niż wtedy, gdy napisano ten dokument.) Przeczytaj też <a href="http://freehaven.net/anonbib/#clog-the-queue">Nie zapychaj kolejki</a>.</li> <li>"Atak stref trasowania" (routing zones attack): większość literatury mówi o ścieżce sieciowej między Alicją a jej węzłem wejściowym (i między węzłem wyjściowym a Bobem) jako o pojedynczej ścieżce na jakimś grafie. W rzeczywistości, ścieżka przemierza wiele systemów autonomicznych (SA), i <a href="http://freehaven.net/anonbib/#feamster:wpes2004">często zdarza się, że ten sam SA pojawia się zarówno na ścieżce wejściowej i wyjściowej</a>. Niestety, by dokładnie przewidzieć, czy podany czworobok Alicja-wejście-wyjście-Bob jest niebezpieczny, musielibyśmy ściągnąć całą strefę trasowania internetu i dokonać na niej czasochłonnych operacji. Czy są jakieś praktyczne aproksymacje, jak np. unikanie adresów IP z tej samej sieci /8?</li> <li>Inne pytania badawcze dotyczące różnorodności geograficznej rozpatrują kompromis między wybieraniem obwodu wydajnego a losowego. Spójrz na <a href="http://swiki.cc.gatech.edu:8080/ugResearch/uploads/7/ImprovingTor.pdf">dokument o pozycjach</a> Stephena Rollysona na temat tego, jak odrzucać szczególnie wolne możliwości bez "zbytniej" utraty anonimowości. Ta argumentacja wymaga więcej pracy i myślenia, ale wygląda bardzo obiecująco.</li> <li>Tor nie działa za dobrze, gdy przekaźnik sieci ma asymetryczne łącze (np. kablówka czy DSL). Ponieważ Tor wykonuje oddzielne połączenia między każdym skokiem, jeśli przychodzące bajty są przysyłane dobrze, a wychodzące są wyrzucane, mechanizmy push-back w TCP nie transmitują tej informacji z powrotem do strumienia przychodzącego. Być może Tor powinien odkryć, gdy wyrzuca dużo pakietów wychodzących, i ograniczyć strumienie przychodzące, by sam tym regulować? Można sobie wyobrazić schemat działania, w którym najpierw wybieramy niski limit przepustowości, powoli go zwiększając aż do chwili w której zaczęlibyśmy tracić pakiety - wtedy nastąpiłoby cofnięcie się. Potrzebujemy kogoś dobrze znającego sieci by to zasymulował i pomógł zaprojektować rozwiązania; musimy zrozumieć stopień degradacji wydajności i użyć tego argumentu jako motywacji do ponownego rozpatrzenia transportu UDP.</li> <li>Powiązanym tematem jest kontrola zatorów. Czy nasz dotychczasowy projekt okaże się wystarczający, gdy będziemy mieli duży ruch? Może powinniśmy poeksperymentować z oknami o zmiennym rozmiarze zamiast z oknami o stałym? To zdawało się działać nieźle w <a href="http://www.psc.edu/networking/projects/hpn-ssh/theory.php">eksperymencie przepustowości SSH</a>. Będziemy musieli mierzyć i podkręcać, i być może wykonać poprawki, jeśli wyniki okażą się dobre.</li> <li>Nasze cele w opieraniu się cenzurze to m.in. zapobieganie temu, by napastnik podglądający ruch Tora mógł <a href="<svnprojects>design-paper/blocking.html#sec:network-fingerprint">odróżnić go od normalnego ruchu SSL</a>. Oczywiście, nie możemy osiągnąć idealnej steganografii i dalej mieć użyteczną i działającą sieć, ale w pierwszym kroku chcielibyśmy blokować jakiekolwiek ataki, które mogą się udać po obserwacji tylko kilku pakietów. Jednym z pozostałych ataków, którego nie zbadaliśmy za bardzo, polega na tym, że komórki Tora mają 512 bajtów, więc ruch w sieci może mieć długość będącą wielokrotnością 512 bajtów. Jak bardzo wkładanie nowych danych w nagłówkach TLS rozmywa ten fakt w transmisji? Czy inne strategie opróżniania bufora w Torze mają na to wpływ? Czy trochę dokładania może bardzo pomóc, czy jest o atak, z którym musimy żyć?</li> <li>Obwody Tora są budowane po jednym elemencie na raz, więc teoretycznie możemy uczynić, aby część strumieni wychodziła z drugiego węzła, część z trzeciego itd. To wydaje się dobre, bo ogranicza zbiór strumieni wychodzących, które dany przekaźnik sieci może zobaczyć. Ale jeśli chcemy by każdy strumień był bezpieczny, "najkrótsza" ścieżka powinna, według naszego bieżącego rozumowania, składać się z co najmniej 3 elementów, więc inne będą jeszcze dłuższe. Musimy zbadać ten kompromis wydajność/bezpieczeństwo.</li> <li>Nie jest trudno wykonać atak DoS na przekaźniki sieci Tora lub centra katalogowe. Czy zagadki dla klientów (client puzzles) są właściwą odpowiedzią? Jakie są inne praktyczne podejścia? Dodatkowe punkty, jeśli są zgodne wstecz z bieżącym protokołem Tora.</li> <li>Programy takie jak <a href="<page torbutton/index>">Torbutton</a> mają na celu ukrycie pola UserAgent przeglądarki, zastępując je jednakową odpowiedzią dla każdego użytkownika Tora. W ten sposób napastnik nie może złamać anonimowości Tora, patrząc na ten nagłówek. Aby się nie wyróżniać, program próbuje wybrać nazwy przeglądarek często używanych także przez tych, którzy nie używają Tora. Pytanie numer jeden: jak bardzo szkodzimy sami sobie, okresowo zwiększając wersję Firefoksa, za którego podaje się Torbutton? Jeśli aktualizujemy zbyt często, sami łamiemy swoją anonimowość. Jeśli za rzadko, to wszyscy użytkownicy Tora się wyróżniają ze względu na to, że twierdzą, iż używają starych wersji Firefoksa. Tutaj odpowiedź zależy pewnie na tym, które wersje Firefoksa są spotykane. Pytanie numer dwa: raz na jakiś czas ludzie pytają nas, byśmy krążyli po N nazwach UserAgent, zamiast trzymać się jednej. Czy to podejście pomaga, przeszkadza, czy nic nie wnosi? Weź pod uwagę: ciaseczka i rozpoznawanie użytkowników Tora poprzez ich zmieniające się nagłówki UserAgent, złe strony atakujące tylko określone przeglądarki; oraz to, czy odpowiedź na pytanie 1 wpływa na tę odpowiedź. </li> <li>Ile przekaźników mostkowych potrzeba, by utrzymać osiągalność? Powinniśmy zmierzyć zajętość w naszych mostkach. Jeśli jest duża, czy są jakieś sposoby na zwiększenie szans użytkowników mostków na pozostanie połączonymi? </li> </ol> <p> <a href="<page about/contact>">Daj nam znać</a>, jeśli poczyniłeś/aś postępy nad którąkolwiek z tych rzeczy! </p> </div> <!-- END MAINCOL --> <div id = "sidecol"> #include "pl/side.wmi" #include "pl/info.wmi" </div> <!-- END SIDECOL --> </div> #include "pl/foot.wmi"