update fr/volunteer.wml
Fredzupy

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 &mdash;
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 &mdash; 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 &mdash; 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 &mdash; 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 &mdash; 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