Add 'Expand Nyx' project idea
Damian Johnson

Damian Johnson commited on 2016-02-26 18:39:06
Zeige 1 geänderte Dateien mit 51 Einfügungen und 0 Löschungen.

... ...
@@ -463,6 +463,11 @@ meetings around the world.</li>
463 463
     a bit more.
464 464
     </p>
465 465
 
466
+    <p>
467
+    <b>Project Ideas:</b><br />
468
+    <i><a href="#expand_nyx">Expand Nyx</a></i>
469
+    </p>
470
+
466 471
     <a id="project-orbot"></a>
467 472
     <h3><a href="https://guardianproject.info/apps/orbot/">Orbot</a> (<a
468 473
     href="https://gitweb.torproject.org/orbot.git">code</a>, <a
... ...
@@ -1257,6 +1262,52 @@ in order to make the code base more robust.
1257 1262
     </p>
1258 1263
     </li>
1259 1264
 
1265
+    <a id="expand_nyx"></a>
1266
+    <li>
1267
+    <b>Expand Nyx</b>
1268
+    <br>
1269
+    Effort Level: <i>Medium</i>
1270
+    <br>
1271
+    Skill Level: <i>Medium</i>
1272
+    <br>
1273
+    Likely Mentors: <i>Damian (atagar)</i>
1274
+    <p>
1275
+Nyx (previously known as <a href="https://www.atagar.com/arm/">arm</a>) is an
1276
+ncurses monitor that provides Tor relay operators...
1277
+    </p>
1278
+
1279
+    <ul>
1280
+      <li><a href="https://www.atagar.com/arm/images/screenshot_page1_full.png">bandwidth graphs and event log</a></li>
1281
+      <li><a href="https://www.atagar.com/arm/images/screenshot_page2_full.png">connections</a></li>
1282
+      <li><a href="https://www.atagar.com/arm/images/screenshot_page3_full.png">user's torrc</a></li>
1283
+      <li><a href="https://www.atagar.com/arm/images/screenshot_configPanel_full.png">config editor</a></li>
1284
+    </ul>
1285
+
1286
+    <p>
1287
+Nyx is presently under development in preparation for its next release. If you
1288
+like python, terminals, and collaborating on an active codebase this just might
1289
+be the project for you!
1290
+    </p>
1291
+
1292
+    <p>
1293
+Proposals should involve a grab-bag of moderately small improvements you'd like
1294
+to make. You're encouraged to brainstorm ideas of their own but here's a few to
1295
+get ya started...
1296
+    </p>
1297
+
1298
+    <ul>
1299
+      <li>Bring back the <a href="https://www.atagar.com/arm/images/screenshot_interpretor_full.png">interpreter panel</a>. This panel was dropped when refactoring Nyx, but it would be a neat component to bring back. You can <a href="https://gitweb.torproject.org/nyx.git/tree/src/cli/interpretorPanel.py?h=release">find old code for it in the history</a> and Stem (the library backing Nyx) has a much improved <a href="https://stem.torproject.org/tutorials/down_the_rabbit_hole.html">variant of this we can leverage</a>. This task would involve writing the curses code around Stem's interpreter functions.</li>
1300
+      <li>Windows support. Like most curses applications Nyx doesn't run natively on Windows. We've had dozens of users request this and <a href="https://trac.torproject.org/projects/tor/wiki/doc/arm#Windows">it should be possible</a>. This would involve supporting PDCurses and expanding Stem to be able to query the cpu/memory usage of the tor process.</li>
1301
+      <li>Unit testing! Nyx has <a href="https://gitweb.torproject.org/nyx.git/tree/test">started adding tests</a> but it's still very minimal. Achieving any substantial code coverage will require us to figure out how to unit test curses components.</li>
1302
+      <li>Onionoo provides additional relay information that could enrich our connection panel such as geoip and rdns. Trick is that at present we can only query it on a per-relay basis which would leak our connections (no-go for security). However, if we could get information about all relays in bulk it would sidestep this. For some old thoughts on this see <a href="https://trac.torproject.org/projects/tor/wiki/doc/arm#CircuitDetails">here</a>.</li>
1303
+      <li>... and more! Again, don't hesitate to propose ideas of your own.</li>
1304
+    </ul>
1305
+
1306
+    <p>
1307
+    <b>As part of your application for this project please get your hands wet with the codebase by contributing patches for <a href="https://gitweb.torproject.org/nyx.git">Nyx</a> and <a href="https://stem.torproject.org/faq.html#how-do-i-get-started">Stem</a>!</b>
1308
+    </p>
1309
+    </li>
1310
+
1260 1311
     <a id="coniks_in_messenger"></a>
1261 1312
     <li>
1262 1313
     <b>Implement and Integrate CONIKS for Tor Messenger</b>
1263 1314