Fredzupy commited on 2008-05-16 15:00:08
Zeige 1 geänderte Dateien mit 528 Einfügungen und 1 Löschungen.
| ... | ... |
@@ -1,5 +1,5 @@ |
| 1 | 1 |
## translation metadata |
| 2 |
-# Based-On-Revision: 13843 |
|
| 2 |
+# Based-On-Revision: 13966 |
|
| 3 | 3 |
# Last-Translator: fredzupy@gmail.com |
| 4 | 4 |
|
| 5 | 5 |
#include "head.wmi" CHARSET="UTF-8" TITLE="Tor : Contribuer" |
| ... | ... |
@@ -92,6 +92,533 @@ traduire en Arabe ou en Persan pour les utilisateurs Tor situés dans les zones |
| 92 | 92 |
</ol> |
| 93 | 93 |
|
| 94 | 94 |
<a id="Coding"></a> |
| 95 |
+<a id="Summer"></a> |
|
| 96 |
+<a id="Projects"></a> |
|
| 97 |
+<h2><a class="anchor" href="#Projects">Projets de code sympas</a></h2> |
|
| 98 |
+<ol> |
|
| 99 |
+ |
|
| 100 |
+<li> |
|
| 101 |
+<b>Tor/Polipo/Vidalia cadre de mise à jour automatiques</b> |
|
| 102 |
+<br /> |
|
| 103 |
+Priorité : <i>élevée</i> |
|
| 104 |
+<br /> |
|
| 105 |
+Niveau d'effort : <i>élevé</i> |
|
| 106 |
+<br /> |
|
| 107 |
+Niveau de connaissane : <i>élevé</i> |
|
| 108 |
+<br /> |
|
| 109 |
+Mentors probables : <i>Matt, d'autres</i> |
|
| 110 |
+<br /> |
|
| 111 |
+Vidalia à déjà la capacité de notifier quand un utilisateur fait tourner une |
|
| 112 |
+ancienne version ou une version non recommandée de Tor. Pour l'instant, Vidalia signale simplement |
|
| 113 |
+à l'utilisateur qu'il doit manuellement mettre à |
|
| 114 |
+jour. Le but de ce projet serait d'étendre la capacité de Vidalia en lui |
|
| 115 |
+permettant également de rappatrier et installer la mise à jour de Tor à la place de |
|
| 116 |
+l'utilisateur. Si le temps le permet, nous aimerions aussi être capable de faire de même |
|
| 117 |
+pour les autres applications du « tout en un » comme Polipo et |
|
| 118 |
+Vidalia lui même. |
|
| 119 |
+<br /> |
|
| 120 |
+Pour mener à bien ce projet, l'étudiant devra premièrement avoir besoin d'enquêter |
|
| 121 |
+sur les ensembles de mises à jour déjà existant (p.e. Sparkle sur OS X) pour évaluer |
|
| 122 |
+leur forces, leurs faiblesses, les implications de sécurité, et la capacité à être |
|
| 123 |
+intégré dans Vidalia. Si aucun ne convient, l'étudiant |
|
| 124 |
+fera son propre cadre de mise à jour automatique, documentera la conception, et |
|
| 125 |
+discutera alors avec les autres développeurs pour évaluer tout problème de |
|
| 126 |
+sécurité. L'étudiant pour alors implémenter son cadre (ou intégrer |
|
| 127 |
+l'existant) et le tester. |
|
| 128 |
+<br /> |
|
| 129 |
+L'étudiant qui entreprendra ce projet devra avoir une bonne expérience en |
|
| 130 |
+développement C++. Une expérience passée sur Qt est utile, mais non requise. L' |
|
| 131 |
+étudiant devrait avoir également une compréhension basique des pratiques de sécurité |
|
| 132 |
+usuelles, telle que la vérification de signature de paquet. Une bonne capacité d'écriture |
|
| 133 |
+est également importante pour ce projet, puisqu'une étape cruciale conciste à produire |
|
| 134 |
+un document de conception pour que les autres puissent le relire et discuter avec l'étudiant |
|
| 135 |
+avant l'implémentation. |
|
| 136 |
+</li> |
|
| 137 |
+ |
|
| 138 |
+<li> |
|
| 139 |
+<b>Une carte du réseau étendue et plus utilisable</b> |
|
| 140 |
+<br /> |
|
| 141 |
+L'une des options existante de Vidalia est une carte du réseau qui montre la localisation |
|
| 142 |
+géographique approximative du relais dans le réseau Tor et |
|
| 143 |
+trace le chemin du trafic utilisateur tel qu'il est tunnellisé à travers le |
|
| 144 |
+réseau Tor. La carte n'est pour l'instant pas très interactive et est plutôt |
|
| 145 |
+pauvre graphiquement. À la place, nous aimerions profiter du widget Marble de KDE |
|
| 146 |
+qui nous apporterait une carte de meilleur qualité et étendrait l'interactivité, |
|
| 147 |
+en permettant à l'utilisateur de cliquer sur des relais ou circuit pour |
|
| 148 |
+obtenir des informations supplémentaires. Il serait aussi souhaitable de permettre |
|
| 149 |
+à l'utilisateur de cliquer sur un relais particulier ou un pays contenant un ou |
|
| 150 |
+plusieurs relais Tor de sortie et dire « je souhaite que mes connexions à truc.com sortent |
|
| 151 |
+par là ». |
|
| 152 |
+<br /> |
|
| 153 |
+Ce projet nécessite d'abord que l'étudiant soit à l'aise avec Vidalia |
|
| 154 |
+et l'API de l'objet Marble. L'étudiant devra alors intégrer l'objet dans |
|
| 155 |
+Vidalia et configurer Marble pour s'indapter dans notre application, |
|
| 156 |
+comme faire des circuits cliquable, stocker des données cartes dans le répertoire |
|
| 157 |
+de donnée de Vidalia, et adapter quelques une des boites de dialogue. |
|
| 158 |
+<br /> |
|
| 159 |
+L'étudiant prenant en charge ce projet devra avoir une bonne expérience en |
|
| 160 |
+développement C++. Une expérience avec Qt et CMake est utile, mais non |
|
| 161 |
+requise. |
|
| 162 |
+</li> |
|
| 163 |
+ |
|
| 164 |
+<li> |
|
| 165 |
+<b>Mise en paquet Debian et support</b> |
|
| 166 |
+<br /> |
|
| 167 |
+Vidalia ne s'intègre pas facilement sous Debian et Ubuntu avec les |
|
| 168 |
+paquets par défaut Tor. Le paquet Tor courant démarre automatiquement Tor |
|
| 169 |
+en tant que démon tournant avec l'utilisateur debian-tor et (judicieusement) n'a pas |
|
| 170 |
+de ControlPort défini dans son torrc par défaut. En conséquence de quoi, Vidalia tente |
|
| 171 |
+de lancer son propre processus Tor puisqu'il n'arrive pas à se connecter à un Tor existant, |
|
| 172 |
+Le Tor de Vidalia quitte ensuite avec un message d'erreur que |
|
| 173 |
+l'utilisateur a des chances de ne pas comprendre puisque Tor n'arrive pas à prendre le port |
|
| 174 |
+d'écoute—-il est déjà pris par le démon Tor original. |
|
| 175 |
+<br /> |
|
| 176 |
+La solution actuelle implique soit de dire à l'utilisateur de stopper le Tor |
|
| 177 |
+existant et laisser Vidalia lancer son propre processus Tor, ou |
|
| 178 |
+expliquer à l'utilisateur comment paramètrer le port de control et le mot de passe dans leur |
|
| 179 |
+torrc. Une meilleur solution sous Debian serait d'utiliser le ControlSocket de Tor, |
|
| 180 |
+qui permet à Vidalia de communiquer avec Tor par une socket Unix, et pourrait |
|
| 181 |
+être activée par défaut dans le paquet Debian. Vidalia pourrait |
|
| 182 |
+alors s'identifier sur Tor en utilisant une identification par cookie si l'utilisateur faisant tourner |
|
| 183 |
+Vidalia est également dans le groupe debian-tor. |
|
| 184 |
+<br /> |
|
| 185 |
+Ce projet devra premièrement ajouter le support dans Tor d'une ControlSocket |
|
| 186 |
+pour Vidalia. L'étudiant devra alors développer et tester les paquets pour Debian et |
|
| 187 |
+Ubuntu qui se conforment aux standards de déploiment Debian et |
|
| 188 |
+s'assurer que ça fonctionne bien avec les paquets Tor courant. We nous pouvons également |
|
| 189 |
+mettre en place un dépôt apt pour héberger les nouveaux paquets Vidalia. |
|
| 190 |
+<br /> |
|
| 191 |
+L'étudiant qui prendra en charge ce projet devra avoir une expérience passée dans |
|
| 192 |
+la gestion des paquets Debian et une expérience en développement C++. Des connaissances |
|
| 193 |
+sur Qt aident mais ne sont pas requises. |
|
| 194 |
+</li> |
|
| 195 |
+ |
|
| 196 |
+<li> |
|
| 197 |
+<b>Interface d'évenements de status Tor</b> |
|
| 198 |
+<br /> |
|
| 199 |
+Il existe de nombreux changement de status pour lequel l'utilisateur devrait |
|
| 200 |
+être informé. Par exemple, si l'utilisateur essaye de mettre au point un |
|
| 201 |
+relais Tor et que Tor montre que le relais utilisateur n'est pas atteignable à l'exterieur |
|
| 202 |
+du réseau utilisateur, nous devrions alerter l'utilisateur. Pour l'instant, l'utilisateur n'a |
|
| 203 |
+que deux ligne dans les messages de log de Vidalia, qui ont des chances de n'être jamais vues |
|
| 204 |
+puisqu'aucune notification du dysfonctionnement n'est envoyée. Même si l'utilisateur regarde les messages, |
|
| 205 |
+la plupart sont sans significations pour l'utilisateur novice. |
|
| 206 |
+<br /> |
|
| 207 |
+Tor a la capacité d'informer Vidalia de changement de status similaires, et |
|
| 208 |
+nous avons récemment implémenté le support pour deux de ces évennements. Mais |
|
| 209 |
+il y'a beaucoup d'autres evènements pour lesquels l'utilisateur doit être informé et nous |
|
| 210 |
+avons besoin d'une meilleur interface graphique pour les afficher à l'utilisateur. |
|
| 211 |
+<br /> |
|
| 212 |
+Le but de ce projet est de concevoir et implémenter une interface graphique |
|
| 213 |
+pour afficher les évenements de status Tor à l'utilisateur. Par exemple, nous pourrions mettre un |
|
| 214 |
+petit badge sur l'icone de Vidalia pour alerter l'utilisateur d'un nouvel |
|
| 215 |
+évenement qu'il devrait regarder. Double-cliquer sur l'icone pourrait ouvrir |
|
| 216 |
+une fenêtre qui résumerait les évenements récent en termes simples et pourquoi pas, |
|
| 217 |
+suggerer une solution pour tout status négatif s'ils sont corrigeable par l' |
|
| 218 |
+utilisateur. Bien entendu, ceci n'est qu'un exemple et l'étudiant est libre de |
|
| 219 |
+proposer une autre approche. |
|
| 220 |
+<br /> |
|
| 221 |
+L'étudiant qui prendra en charge ce projet devra avoir une bonne expérience dans la conception et l'ergonomie |
|
| 222 |
+des interfaces graphique et quelques expériences en développement C++. Des expériences passées avec |
|
| 223 |
+Qt et Qt Designer seraient très utiles, mais non requises. Une |
|
| 224 |
+bonne capacité d'écriture en Anglais sera très utile, puisque ce projet à des chances |
|
| 225 |
+de nécessiter la rédaction de petites aides qui puissent être comprises |
|
| 226 |
+par des personnes non techniques. Des points de bonus pour la modelisation de nouvelles |
|
| 227 |
+icone puisque nous en auront surement besoin. |
|
| 228 |
+</li> |
|
| 229 |
+ |
|
| 230 |
+<li> |
|
| 231 |
+<b>Un Wiki traduction</b> |
|
| 232 |
+<br /> |
|
| 233 |
+Nous avons besoin d'un moyen d'éditer et traduire le site web — |
|
| 234 |
+qui pourrait aboutir à un patch pour l'arbre svn. L'actuel |
|
| 235 |
+«Coût» de la publication des modifications apportées au site Web est assez élevé, même pour l'anglais. |
|
| 236 |
+Les mainteneurs ont besoin de consulter nos fichiers modèles, les traduire |
|
| 237 |
+et nous envoyez la traduction. Pour changer un seul mot ou n'importe quel type de |
|
| 238 |
+changement mineur, la page ne peut jamais être corrigées ou traduites. Il serait |
|
| 239 |
+bien d'avoir un wiki qui a été spécialement conçu pour la traduction |
|
| 240 |
+et pourrait traquer à partir de la version officielle (anglaise) si |
|
| 241 |
+une nouvelle traduction est nécessaire. Cela semble être le travail d'un intégrateur wiki |
|
| 242 |
+ou un auteur de logiciel wiki. Certes, la personne devra |
|
| 243 |
+être intéressées par les langues et de la traduction. Il devrait au moins |
|
| 244 |
+à minima être familier avec ce que Tor est mais n'aurait pas d'interaction |
|
| 245 |
+avec le logiciel, seulement la documentation sur le site. |
|
| 246 |
+</li> |
|
| 247 |
+ |
|
| 248 |
+<li> |
|
| 249 |
+<b>Améliorations de notre testeur de configuration active de navigateur</b> - |
|
| 250 |
+<a href="https://check.torproject.org">https://check.torproject.org</a> |
|
| 251 |
+<br /> |
|
| 252 |
+Actuellement, nous avons une page Web fonctionnelle pour détecter si Tor fonctionne. Il |
|
| 253 |
+ya des manques à quelques endroits. Il nécessite quelques améliorations s'agissant |
|
| 254 |
+des langues par défaut et des fonctionnalités. Il répond pour l'instant qu'en |
|
| 255 |
+Anglais. De plus, c'est un hack d'un script perl qui n'aurait |
|
| 256 |
+jamais dû voir le jour. Il devrait être réécrit en python |
|
| 257 |
+avec un support multi-langues. Il utilise actuellement la liste de sortie DNS |
|
| 258 |
+Tor et devrait continuer à faire de même dans le futur. Il peut y'avoir de temps en temps |
|
| 259 |
+des faux positif et ceci devrait être découvert, documenté et corrigé lorsque |
|
| 260 |
+c'est possible. Toute personne travaillant sur ce projet devrait être interessée par |
|
| 261 |
+DNS, les bases de perl ou de préférence python et auront un peu à interagir avec |
|
| 262 |
+Tor pour tester leur code. |
|
| 263 |
+</li> |
|
| 264 |
+ |
|
| 265 |
+<li> |
|
| 266 |
+<b>Amélioration de notre liste de sortie DNS</b> - |
|
| 267 |
+<a href="http://exitlist.torproject.org">http://exitlist.torproject.org</a> |
|
| 268 |
+<br /> |
|
| 269 |
+Le logiciel exitlist est écrit par notre fabuleux contributeur |
|
| 270 |
+anonyme Tup. C'est un serveur DNS écrit en Haskell qui supporte une partie de notre <a |
|
| 271 |
+href="https://www.torproject.org/svn/trunk/doc/contrib/torel-design.txt">document |
|
| 272 |
+de conception exitlist</a>. Actuellement, c'est fonctionnel et utilisé par |
|
| 273 |
+check.torproject.org et d'autres utilisateurs. Les problèmes qui sont en suspens |
|
| 274 |
+sont pour la plupart esthétiques. Ce service merveilleux pourrait bien mieux utiliser |
|
| 275 |
+le site web en utilisant la charte graphique Tor. It serait mieux servi avec une meilleure |
|
| 276 |
+documentation pour les services communs qui utilisent une RBL. Il pourrait y'avoir d'avantage |
|
| 277 |
+de publicité. La personne travaillant sur ce projet devrait être interessée par les DNS, |
|
| 278 |
+la configuration basique de RBL pour des services populaires, et écrire de la documentation. |
|
| 279 |
+La personne devrait avoir un peu d'interaction avec Tor — tester leur propre |
|
| 280 |
+documentation au minimum. De plus, ce serait utile |
|
| 281 |
+qu'il soit interessé par Haskell et souhaite implémenter d'avantages des suggestions du |
|
| 282 |
+torel-design.txt. |
|
| 283 |
+</li> |
|
| 284 |
+ |
|
| 285 |
+<li> |
|
| 286 |
+<b>Tester l'intégration de Tor avec les navigateur pour nos utilisateurs finaux</b> |
|
| 287 |
+<br /> |
|
| 288 |
+ |
|
| 289 |
+Le Projet Tor manque actuellement de test solide pour s'assurer que |
|
| 290 |
+l'utilisateur a proprement configuré son navigateur. Il devrait tester la plupart |
|
| 291 |
+des problèmes connus autant que possible. Il devrait essayer de découvrir |
|
| 292 |
+l'utilisateur par tous les moyens possibles. Deux pages web qui tracent ces |
|
| 293 |
+type de problèmes sont fournies par Greg et HD Moore. Greg conserve une bonne <a |
|
| 294 |
+href="http://pseudo-flaw.net/tor/torbutton/">liste de problèmes avec |
|
| 295 |
+leur code de preuve de concept, les bugs, etc</a>. HD Moore fournit |
|
| 296 |
+le <a href="http://metasploit.com/research/misc/decloak/">site |
|
| 297 |
+decloak</a>. Une personne interessée par l'attaque de Tor peut commencer |
|
| 298 |
+par collecter autant de solutions fonctionnelles et de méthodes connues pour réveller |
|
| 299 |
+un utilisateur Tor. La personne devrait être familière des écueils courants mais pourrait |
|
| 300 |
+avoir d'autres méthodes en tête pour implémenter des outils de désanonymisation. Le |
|
| 301 |
+site web devrait s'assurer d'informer l'utilisateur de ce que sont ses problèmes. Il |
|
| 302 |
+devra l'aider à les résoudre ou les renvoyer directement sur le bon canal de |
|
| 303 |
+soutien. La personne devra être très familière dans l'utilisation de Tor et comment |
|
| 304 |
+palier aux fuites de Tor. |
|
| 305 |
+</li> |
|
| 306 |
+ |
|
| 307 |
+<li> |
|
| 308 |
+<b>Accroitre notre capacité à résister à la censure.</b> |
|
| 309 |
+<br /> |
|
| 310 |
+Tor a besoin de d'avantage de mécanisme de résistance à la censure. Il y a |
|
| 311 |
+plusieurs mécanismes qui peuvent aider. Tor pourrait être capable d'écouter sur de multiples |
|
| 312 |
+adresses et ports, et autoriser les clients à se connecter sur l'ensemble d'entre eux. |
|
| 313 |
+Tor pourrait apparaitre comme un serveur web (HTTP ou HTTPS) lorsqu'il |
|
| 314 |
+est contacté par scanner de ports. |
|
| 315 |
+</li> |
|
| 316 |
+ |
|
| 317 |
+<li> |
|
| 318 |
+<b>Amélioration de l'intégration Libevent et Tor</b> |
|
| 319 |
+<br /> |
|
| 320 |
+Tor devrait faire un meilleur usage des récentes options de Niels Provos dans |
|
| 321 |
+la bibliothèque Libevent. Libevent apporte déjà HTTP et des tampons de socket ; |
|
| 322 |
+Le code de Tor pour ces choses pourrait être remplacé. Nous aurons à améliorer le code |
|
| 323 |
+de libevent autant que nécessaire ; particulièrement, pour ajouter un bon support openssl au dessus de |
|
| 324 |
+la couche d'abstraction des tampons de libevent. |
|
| 325 |
+</li> |
|
| 326 |
+ |
|
| 327 |
+<li> |
|
| 328 |
+<b>Étendre les performances de Tor!</b> |
|
| 329 |
+<br /> |
|
| 330 |
+Tor pourrait mesurer la bande passante de manière distribuée, comme dans cette publication |
|
| 331 |
+<a href="http://freehaven.net/anonbib/">« A Tuneup for Tor »</a> |
|
| 332 |
+de Snader et Borisov. L'étudiant pourrait utiliser le code déjà existant |
|
| 333 |
+pour contrôler les conclusions de ce document et vérifier dans quelle mesure elles |
|
| 334 |
+rejoignent Tor dans la réalité, et déterminer de bonnes méthodes de les incorporer |
|
| 335 |
+dans le réseau Tor sans ajouter un trafic indésirable d'ordre n² |
|
| 336 |
+sur les annuaires principaux. |
|
| 337 |
+</li> |
|
| 338 |
+ |
|
| 339 |
+<li> |
|
| 340 |
+<b>Améliorer le processus qualité de Tor : Intégration continue pour les paquets Windows</b> |
|
| 341 |
+<br /> |
|
| 342 |
+Il serait interessant d'avoir une automatisation des compilation pour Windows et |
|
| 343 |
+probablement d'autres plateformes. Le but d'avoir une intégration continue |
|
| 344 |
+des environnements est de s'assurer que Windows n'est pas mis de coté pour aucun |
|
| 345 |
+des projets logiciels utilisés par le Projet Tor où ses contributions.<br /> |
|
| 346 |
+Buildbot serait un bon choix pour ça puisqu'il semble supporter l'ensemble des |
|
| 347 |
+platformes de Tor. Voyez l' |
|
| 348 |
+<a href="http://en.wikipedia.org/wiki/BuildBot">entrée wikipedia pour |
|
| 349 |
+buildbot</a>.<br /> |
|
| 350 |
+Il pourrait y'avoir de meilleurs options et la personne prenant en charge cette tâche devrait |
|
| 351 |
+évaluer d'autres options. Toute personne travaillant sur ce processur de compilation |
|
| 352 |
+automatique devrait avoir ou être en mesure d'avoir l'expérience pour apprendre à construire l'ensemble |
|
| 353 |
+des sources relatives à Tor à partir du début. En outre, la |
|
| 354 |
+personne devrait avoir l'expérience de la compilation sous un environnement |
|
| 355 |
+Windows puisqu'il s'agit de l'audience finale dont nous voulons nous assurer que nous ne les laissons |
|
| 356 |
+pas à la traine. Ça devrait nécessiter un travail proche du code source de Tor mais |
|
| 357 |
+probablement uniquement sous l'aspect compilation, pas de rédaction de code.<br /> |
|
| 358 |
+De plus, nous avons besoin d'automatiser nos tests de performance pour toutes les plateformes. |
|
| 359 |
+Nous avons buildbot (excepté sous Windows — comme dit au dessus) pour automatiser |
|
| 360 |
+notre intégration régulièrement et tester la compilation déjà, |
|
| 361 |
+mais nous avons besoin d'avoir notre test de simulation de réseau (comme dans torflow) |
|
| 362 |
+mis à jour pour des versions plus récentes de Tor, et faites pour lancer un test |
|
| 363 |
+de réseau à la fois sur une seule machine, et sur plusieurs, afin que nous puissions tester |
|
| 364 |
+les changements de performance sur des machins de roles différents automatiquement.<br /> |
|
| 365 |
+</li> |
|
| 366 |
+ |
|
| 367 |
+<li> |
|
| 368 |
+<b>Amélioration de notre banc de test</b> |
|
| 369 |
+<br /> |
|
| 370 |
+Tor doit être bien plus testé. C'est un effort multi-partie. Pour commencer, |
|
| 371 |
+Notre unité de couverture de test devrait augmenter substantiellement, spécialement dans |
|
| 372 |
+les zones en dehors des fonctions utilitaires. Ceci devra conduire à une refonte |
|
| 373 |
+significative des certaines parties de Tor, dans le but de dissocier autant de logique |
|
| 374 |
+que possible de la globalité.<br /> |
|
| 375 |
+De plus, nous avons besoin d'automatiser nos tests de performance pour toutes les plateformes. |
|
| 376 |
+Nous avons buildbot (excepté sous Windows — comme dit au dessus) pour automatiser |
|
| 377 |
+notre intégration régulièrement et tester la compilation déjà, |
|
| 378 |
+mais nous avons besoin d'avoir notre test de simulation de réseau (comme dans torflow) |
|
| 379 |
+mis à jour pour des versions plus récentes de Tor, et faites pour lancer un test |
|
| 380 |
+de réseau à la fois sur une seule machine, et sur plusieurs, afin que nous puissions tester |
|
| 381 |
+les changements de performance sur des machins de roles différents automatiquement.<br /> |
|
| 382 |
+</li> |
|
| 383 |
+ |
|
| 384 |
+<li> |
|
| 385 |
+<b>Aider à raviver la communauté Java autour de Tor</b> |
|
| 386 |
+<br /> |
|
| 387 |
+Réanimer l'une des approches d'implématation d'un client Tor en Java, |
|
| 388 |
+p.e. le <a href="http://onioncoffee.sourceforge.net/">Projet |
|
| 389 |
+OnionCoffee</a>, et le faire tourner sur <a |
|
| 390 |
+href="http://code.google.com/android/">Android</a>. La première étape |
|
| 391 |
+pourrait être de porter le code existant et l'exécuter dans un environnement |
|
| 392 |
+Android. Ensuite, le code pourrait être mis à jour pour supporter les nouvelles |
|
| 393 |
+version de protocole comme la <a href="<svnsandbox>doc/spec/dir-spec.txt">v3 |
|
| 394 |
+des protocole d'annuaire</a>. Ensuite, le support pour les requêtes ou même |
|
| 395 |
+apporter des services cachés serait sympa, mais non requis. L'étudiant |
|
| 396 |
+devrait être capable de comprendre et écrire du code Java, comprenant |
|
| 397 |
+une API de cryptographie Java. Capable de lire du code C serait utile, |
|
| 398 |
+également. L'étudiant devrait être prêt à lire la documentation existante, |
|
| 399 |
+implémenter du code de celle ci, et, si nécessaire, refaire la documentation |
|
| 400 |
+si des éléments ne sont pas documentés. Ce projet est principalement du codage et |
|
| 401 |
+à un degré moindre, de la conception. |
|
| 402 |
+</li> |
|
| 403 |
+ |
|
| 404 |
+<li> |
|
| 405 |
+<b>Devenir le Maître PuppeTor</b> |
|
| 406 |
+<br /> |
|
| 407 |
+Écrire un outil qui lance un système de tests automatique en plus |
|
| 408 |
+de l'unité de tests existante. Le simulateur Tor en Java <a |
|
| 409 |
+href="https://tor-svn.freehaven.net/svn/puppetor/trunk/">PuppeTor</a> |
|
| 410 |
+devrait être un bon départ pour commencer un réseau privé Tor, l'utiliser |
|
| 411 |
+quelques temps, et verifier qu'au moins quelques parties fonctionnent. Ce |
|
| 412 |
+projet nécessite de concevoir un plan pour effectuer les tests système |
|
| 413 |
+du réseau privé Tor, avant de commencer à coder. Les tests typiques |
|
| 414 |
+vont de la simple requête dans le réseau privé à la |
|
| 415 |
+manipulation des messages echangés et |
|
| 416 |
+voir si les nœuds peuvent correctement prendre en compte les messages corrompus. |
|
| 417 |
+L'étudiant devrait pouvoir obtenir une bonne comprehension de |
|
| 418 |
+comment Tor fonctionne et quels problèmes ou bugs peuvent survenir pour concevoir de bons |
|
| 419 |
+bancs de tests. Comprendre le code Tor et la documentation existante est |
|
| 420 |
+vital. Si PuppeTor est utilisé, l'étudiant devrait aussi être en mesure de comprendre |
|
| 421 |
+et éventuellement étendre une application Java existante. Ce projet est en partie |
|
| 422 |
+de la conception et en partie du codage. |
|
| 423 |
+</li> |
|
| 424 |
+ |
|
| 425 |
+<li> |
|
| 426 |
+<b>Donner vie à moniTor</b> |
|
| 427 |
+<br /> |
|
| 428 |
+Implémenter un outil <a href="http://www.ss64.com/bash/top.html">comme top</a> |
|
| 429 |
+d'administration pour les relais Tor. Le but de cet outil serait de |
|
| 430 |
+superviser un relais Tor local via son port de control et inclure des informations |
|
| 431 |
+système utiles de la machine. Lorsque l'outil tourne, il |
|
| 432 |
+devrait dynamiquement se mettre à jour comme top le faire pour les processus Linux. |
|
| 433 |
+<a href="http://archives.seul.org/or/dev/Jan-2008/msg00005.html">Ce |
|
| 434 |
+post sur or-dev</a> devrait être un point d'entré. L'étudiant devrait être familier |
|
| 435 |
+ou prêt à apprendre l'administration d'un relais Tor et sa configuration |
|
| 436 |
+à travers son port de control. Du fait qu'un prototype exist en Python |
|
| 437 |
+quelques connaissances en Python serait interessantes. Ce projet porte sur |
|
| 438 |
+l'identification des nécessités pour un tel outil et sur la conception d'une interface ; |
|
| 439 |
+et d'un autre coté nécessite beaucoup de codage. |
|
| 440 |
+</li> |
|
| 441 |
+ |
|
| 442 |
+<li> |
|
| 443 |
+<b>Amélioration du scanneur des sorties Tor</b> |
|
| 444 |
+<br /> |
|
| 445 |
+Priorité : <i>élevée</i> |
|
| 446 |
+<br /> |
|
| 447 |
+Niveau d'effort : <i>élevé</i> |
|
| 448 |
+<br /> |
|
| 449 |
+Mentors supposés : <i>Mike Perry</i> |
|
| 450 |
+ |
|
| 451 |
+<br /> |
|
| 452 |
+Le scanner des nœuds de sortie Tor 'SoaT', partie du <a |
|
| 453 |
+ href="https://www.torproject.org/svn/torflow/">projet Torflow</a>, est |
|
| 454 |
+ pour l'instant écrit dans un perl plutôt bancal et s'appuie sur des MD5sums de |
|
| 455 |
+ documents entier dans le but de savoir si un nœud de sortie modifie des contenusin order to determine if exit nodes are modifying |
|
| 456 |
+ content. The problem with this is threefold: 1) Perl sucks at life. |
|
| 457 |
+ 2) The scanner can't verify pages that are dynamic, and attackers can |
|
| 458 |
+ focus malicious content injection on only those dynamic pages. 3) |
|
| 459 |
+ Pages change after a while (or based on GeoIP) and begin generating |
|
| 460 |
+ false positives. |
|
| 461 |
+ <br /> |
|
| 462 |
+ Ideally, soat.pl would be reimplemented in a sane language with a |
|
| 463 |
+ robust html parser library (since the rest of Torflow is in Python, |
|
| 464 |
+ that would be nice, but not required), and calculate signatures only for |
|
| 465 |
+ tags and content likely to be targeted by a malicious attacker (script |
|
| 466 |
+ tags, object links, images). It should also be robust in the face of |
|
| 467 |
+ changes to content outside of Tor, and ultimately even GeoIP localized |
|
| 468 |
+ content. |
|
| 469 |
+ <br /> |
|
| 470 |
+ This scanner would likely be run by the directory authorities and |
|
| 471 |
+ report its results to the control port via the AuthDirBadExit config |
|
| 472 |
+ setting. |
|
| 473 |
+ <br /> |
|
| 474 |
+ </li> |
|
| 475 |
+ <li> |
|
| 476 |
+ <b>Tor Node Scanner Improvements</b> |
|
| 477 |
+ <br /> |
|
| 478 |
+ Priority: <i>High</i> |
|
| 479 |
+ <br /> |
|
| 480 |
+ Effort Level: <i>Medium-High</i> |
|
| 481 |
+ <br /> |
|
| 482 |
+ Likely Mentors: <i>Mike Perry</i> |
|
| 483 |
+ <br /> |
|
| 484 |
+ Similar to the exit scanner (or perhaps even during exit scanning), |
|
| 485 |
+ statistics can be gathered about the reliability of nodes. Nodes that |
|
| 486 |
+ fail a certain percentage of their circuits should not be used for |
|
| 487 |
+ Guard status, and perhaps should have their reported bandwidth |
|
| 488 |
+ penalized by some ratio as well, or just get marked as Invalid. In |
|
| 489 |
+ addition, nodes that exhibit a very low average stream capacity but |
|
| 490 |
+ advertise a very high node bandwidth can also be marked as Invalid. |
|
| 491 |
+ Much of this statistics gathering is already done, it just needs to be |
|
| 492 |
+ transformed into something that can be reported to the Directory |
|
| 493 |
+ Authorities to blacklist/penalize nodes in such a way that clients |
|
| 494 |
+ will listen. |
|
| 495 |
+ <br /> |
|
| 496 |
+ In addition, these same statistics can be gathered about the traffic |
|
| 497 |
+ through a node. Events can be added to the <a |
|
| 498 |
+ href="https://www.torproject.org/svn/torctl/doc/howto.txt">Tor Control |
|
| 499 |
+ Protocol</a> to |
|
| 500 |
+ report if a circuit extend through the node succeeds or fails, and |
|
| 501 |
+ passive statistics can be gathered on both bandwidth and reliability |
|
| 502 |
+ of other nodes via a node-based monitor using these events. Such a |
|
| 503 |
+ scanner which would also report information on oddly-behaving nodes to |
|
| 504 |
+ the Directory Authorities, but a communication channel for this |
|
| 505 |
+ currently does not exist and would need to be developed as well. |
|
| 506 |
+ </li> |
|
| 507 |
+ <li> |
|
| 508 |
+ <b>Tor path selection improvements</b> |
|
| 509 |
+ <br /> |
|
| 510 |
+ Priority: <i>High</i> |
|
| 511 |
+ <br /> |
|
| 512 |
+ Effort Level: <i>Low-Medium</i> |
|
| 513 |
+ <br /> |
|
| 514 |
+ Likely Mentors: <i>Mike Perry</i> |
|
| 515 |
+ <br /> |
|
| 516 |
+ Some simple improvements can be made to Tor's path selection to vastly |
|
| 517 |
+ improve Tor speed. For instance, some of the (unofficial) <a |
|
| 518 |
+ href="http://wiki.noreply.org/noreply/TheOnionRouter/FireFoxTorPerf">Tor |
|
| 519 |
+ Performance Recommendations</a> on the wiki are to increase the number of |
|
| 520 |
+ guards and decrease the CircuitBuildTimeout. Ideally, the client would |
|
| 521 |
+ learn these values by gathering statistics on circuit construction |
|
| 522 |
+ time (and/or using values gained from Torflow), and set the timeouts |
|
| 523 |
+ low enough such that some high percentile (75%, 90%, 1-stddev?) of |
|
| 524 |
+ circuits succeed, yet extremely slow nodes are avoided. This would |
|
| 525 |
+ involve some statistics gathering+basic research, and some changes to |
|
| 526 |
+ Tor path selection code. |
|
| 527 |
+ <br /> |
|
| 528 |
+ |
|
| 529 |
+ In addition, to improve path security, some elements from the <a |
|
| 530 |
+ href="http://www.torproject.org/svn/trunk/doc/spec/proposals/115-two-hop-paths.txt">Two |
|
| 531 |
+ Hop Paths proposal</a> could be done as part of this (since it will |
|
| 532 |
+ likely touch the same code anyways), regardless of the adoption of |
|
| 533 |
+ thatproposal. In particular, clients probably should avoid guards thatseem to |
|
| 534 |
+ fail an excessive percentage of their circuits through them, and non-bridged |
|
| 535 |
+ clients should issue a warn if they are only able toconnect to a limited set |
|
| 536 |
+ of guard nodes. |
|
| 537 |
+ |
|
| 538 |
+ </li> |
|
| 539 |
+ <li> |
|
| 540 |
+ <b>Torbutton improvements</b> |
|
| 541 |
+ <br /> |
|
| 542 |
+ Priority: <i>Low</i> |
|
| 543 |
+ <br /> |
|
| 544 |
+ Effort Level: <i>Medium-High</i> |
|
| 545 |
+ <br /> |
|
| 546 |
+ Likely Mentors: <i>Mike Perry</i> |
|
| 547 |
+ <br/> |
|
| 548 |
+ |
|
| 549 |
+ Torbutton has a number of improvements that can be made in the post-1.2 |
|
| 550 |
+ timeframe. Most of these are documented as feature requests in the <a |
|
| 551 |
+ href="https://bugs.torproject.org/flyspray/index.php?tasks=all&project=5">Torbutton |
|
| 552 |
+ flyspray section</a>. Good examples include: stripping off node.exit on http |
|
| 553 |
+ headers, more fine-grained control over formfill blocking, improved referrer |
|
| 554 |
+ spoofing based on the domain of the site (a-la refspoof extension), tighter |
|
| 555 |
+ integration with Vidalia for reporting Tor status, a New Identity button with |
|
| 556 |
+ Tor integration and multiple identity management, and anything else you might |
|
| 557 |
+ think of. |
|
| 558 |
+ |
|
| 559 |
+ <br /> |
|
| 560 |
+ |
|
| 561 |
+ This work would be independent coding in Javascript and the fun world of <a |
|
| 562 |
+ href="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">XUL</a>, |
|
| 563 |
+ with not too much involvement in the Tor internals. |
|
| 564 |
+ |
|
| 565 |
+ </li> |
|
| 566 |
+ <li> |
|
| 567 |
+ <b>Help track the overall Tor Network status</b> |
|
| 568 |
+ Torstatus. Set up an automated system for tracking network health |
|
| 569 |
+ over time, graphing it, etc. Better metrics for assessing network |
|
| 570 |
+ health and growth. Make it short and simple. Unbloated and easy to audit. |
|
| 571 |
+ </li> |
|
| 572 |
+ |
|
| 573 |
+ <li>vidalia and upnp</li> |
|
| 574 |
+ <li>nymble</li> |
|
| 575 |
+ |
|
| 576 |
+ <li> |
|
| 577 |
+ <b>Porting Polipo to Windows</b> |
|
| 578 |
+ <br /> |
|
| 579 |
+ Help port <a |
|
| 580 |
+ href="http://www.pps.jussieu.fr/~jch/software/polipo/">Polipo</a> to |
|
| 581 |
+ Windows. 1) handle spaces in path names and understand the filesystem |
|
| 582 |
+ namespace — namespace meaning where application data, personal data, |
|
| 583 |
+ and program data typically reside in various versions of Windows. 2) the |
|
| 584 |
+ ability to handle ipv6 communications. 3) the ability to asynchronously |
|
| 585 |
+ query name servers, find the system nameservers, and manage netbios |
|
| 586 |
+ and dns queries. 4) use native regex capabilities of Windows, rather |
|
| 587 |
+ than using 3rd party GNU regex libraries. 5) manage events and buffers |
|
| 588 |
+ natively (i.e. in Unix-like OSes, Polipo defaults to 25% of ram, in |
|
| 589 |
+ Windows it's whatever the config specifies). 6) some sort of GUI config |
|
| 590 |
+ and reporting tool, bonus if it has a systray icon with right clickable |
|
| 591 |
+ menu options. Double bonus if it's cross-platform compatible. |
|
| 592 |
+ </li> |
|
| 593 |
+ |
|
| 594 |
+ <li> |
|
| 595 |
+ <b>Make our diagrams beautiful and automated</b> |
|
| 596 |
+ <br /> |
|
| 597 |
+ a way to generate the website diagrams from source, so we can translate |
|
| 598 |
+ them as utf-8 text rather than with gimp. (svg? or imagemagick?) |
|
| 599 |
+ integrate this with a wml file so translations are easy and images are |
|
| 600 |
+ generated in multiple languages at web publish |
|
| 601 |
+ </li> |
|
| 602 |
+ |
|
| 603 |
+ <li> |
|
| 604 |
+ <b>Improve the LiveCD offerings for the Tor community</b> |
|
| 605 |
+ <br /> |
|
| 606 |
+ How can we make the <a |
|
| 607 |
+ href="http://anonymityanywhere.com/incognito/">Incognito LiveCD</a> |
|
| 608 |
+ easier to maintain, improve, and document?</li> |
|
| 609 |
+ <li>We need a distributed testing framework. We have unit tests, |
|
| 610 |
+ but it would be great to have a script that starts up a Tor network, uses |
|
| 611 |
+ it for a while, and verifies that at least parts of it are working.</li> |
|
| 612 |
+ |
|
| 613 |
+ <li> |
|
| 614 |
+ <b>Bring up new ideas!</b> |
|
| 615 |
+ <br /> |
|
| 616 |
+ Don't like any of these? Look at the <a |
|
| 617 |
+ href="<svnsandbox>doc/design-paper/roadmap-future.pdf">Tor development |
|
| 618 |
+ roadmap</a> for more ideas.<br /><br /> |
|
| 619 |
+ Don't see your idea here? We probably need it anyway! Contact |
|
| 620 |
+ us and find out.</li> |
|
| 621 |
+ </ol> |
|
| 95 | 622 |
<h2><a class="anchor" href="#Coding">Conception et Code</a></h2> |
| 96 | 623 |
<ol> |
| 97 | 624 |
<li>Les serveurs de Tor ne fonctionnent pas parfaitement sur Windows XP. Sur |
| 98 | 625 |