Adding a volunteer project for expanding arm's client use cases.
Damian Johnson

Damian Johnson commited on 2010-12-20 18:47:12
Zeige 1 geänderte Dateien mit 63 Einfügungen und 0 Löschungen.

... ...
@@ -220,6 +220,69 @@ meetings around the world.</li>
220 220
     design/Photoshop fu, since we might want/need some shiny new icons too.</p>
221 221
     </li>
222 222
     
223
+    <li>
224
+    <b>Client Mode Use Cases for Arm</b>
225
+    <br>
226
+    Priority: <i>Medium</i>
227
+    <br>
228
+    Effort Level: <i>High</i>
229
+    <br>
230
+    Skill Level: <i>Medium</i>
231
+    <br>
232
+    Likely Mentors: <i>Damian</i>
233
+    <p><a href="<page projects/arm>">Arm</a> is a Tor command line status
234
+    monitor on *nix environments (Linux, Mac, and BSD). It functions much like
235
+    top does, giving a CLI overlay of Tor's bandwidth usage, connections,
236
+    configuration, log, etc. Thus far its design has been geared for Tor relay
237
+    operators. However, this doesn't need to be the case. This project would be
238
+    to expand and simplify arm to make it useful for Tor's client users
239
+    too.</p>
240
+    
241
+    <p>This would include UI design, experimenting, and a lot of python
242
+    hacking. Here's some ideas for client functionality arm could provide:</p>
243
+    
244
+    <ul>
245
+      <li>A panel for client connections, showing each hop of the user's
246
+      circuits with the ISP, country, and jurisdiction where those relays
247
+      reside. Other interesting information would be the circuit's latency, how
248
+      long its been around, and its possible exit ports. Some of this will be
249
+      pretty tricky and require some experimentation to figure out what
250
+      information can be fetched safely (for instance, scraping rdns and whois
251
+      lookups could give hints about a relay's ISP, but we'd need to do it on
252
+      all Tor relays to avoid leaking our connections to the resolver).</li>
253
+      
254
+      <li>Options to let the user request new circuits (the &quot;New
255
+      Identity&quot; feature in Vidalia), select the exit country, etc.</li>
256
+      
257
+      <li>A panel showing Internet application and if their connections are
258
+      being routed through Tor or not (giving a warning if there's leaks).</li>
259
+      
260
+      <li>The status of the bridges we're configured to use (ie, are they up?).
261
+      This would include adding control port functionality to Tor for <a
262
+      href="https://trac.torproject.org/projects/tor/ticket/2068">ticket
263
+      2068</a>.</li>
264
+      
265
+      <li>A one click option to set Tor to be a client, relay, or bridge. The
266
+      goal would be to make it trivial for users to voluntarily contribute to
267
+      the Tor network.</li>
268
+      
269
+      <li>Menus as an alternative to hotkeys to make the interface more
270
+      intuitive and usable for beginners (<a
271
+      href="http://gnosis.cx/publish/programming/charming_python_6.html">example</a>).</li>
272
+      
273
+      <li>Look at Vidalia and TorK for ideas and solicit input from the Tor community.</li>
274
+      
275
+      <li>Make it easier for users to install arm by <a
276
+      href="https://secure.wikimedia.org/wikipedia/en/wiki/Opkg">packaging for
277
+      OpenWrt</a> (as a UI for the <a
278
+      href="https://trac.torproject.org/projects/tor/wiki/TheOnionRouter/Torouter">Torouter
279
+      project</a>) and Macs.</li>
280
+    </ul>
281
+    
282
+    <p>For more project ideas see arm's <a
283
+    href="https://svn.torproject.org/svn/arm/trunk/TODO">TODO</a>.</p>
284
+    </li>
285
+    
223 286
     <li>
224 287
     <b>Improve our unit testing process</b>
225 288
     <br>
226 289