guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 2/2] gnu: Add nyx.


From: Tobias Geerinckx-Rice
Subject: [PATCH 2/2] gnu: Add nyx.
Date: Mon, 30 Jan 2017 01:09:04 +0100

* gnu/packages/tor.scm (nyx): New variable.
---

Guix,

This adds Nyx (no relation), a handy status monitor for Tor relays.

A 2.0 release has been just around the corner for... more than half a
year now, but the last 1.x version is from 2012. It also had an entirely
different name (‘Arm’) and I'd rather not deal with the confusion.

This one has been nothing but stable for me, so I'd thought I'd share it.

If we instead decide to wait another year for a ‘real’ release, so be it.

Kind regards,

T G-R

gnu/packages/tor.scm | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 61 insertions(+)

diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm
index 97e7ec9..b3b8238 100644
--- a/gnu/packages/tor.scm
+++ b/gnu/packages/tor.scm
@@ -3,6 +3,7 @@
 ;;; Copyright © 2014, 2015 Mark H Weaver <address@hidden>
 ;;; Copyright © 2016 Efraim Flashner <address@hidden>
 ;;; Copyright © 2016, 2017 ng0 <address@hidden>
+;;; Copyright © 2017 Tobias Geerinckx-Rice <address@hidden>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -223,3 +224,63 @@ internet.  The other user just needs to use Tor Browser to 
download the file
 from you.")
     (license (list license:gpl3+
                    license:bsd-3))))    ; onionshare/socks.py
+
+(define-public nyx
+  (let ((commit "fea209127484d9b304b908a4711c9528b1d065bc")
+        (revision "1"))                 ; Guix package revision
+    (package
+      (name "nyx")
+      (version (string-append "1.9-" revision "."
+                              (string-take commit 7)))
+      (source
+       (origin
+         (method git-fetch)
+         (file-name (string-append name "-" version "-checkout"))
+         (uri (git-reference
+               (url "https://git.torproject.org/nyx.git";)
+               (commit commit)))
+         (sha256
+          (base32
+           "1g0l4988076xg5gs0x0nxzlg58rfx5g5agmklvyh4yp03vxncdb9"))))
+      (build-system python-build-system)
+      (native-inputs
+       ;; For tests.
+       `(("python-mock" ,python-mock)
+         ("python-pep8" ,python-pep8)
+         ("python-pyflakes" ,python-pyflakes)))
+      (inputs
+       `(("python-stem" ,python-stem)))
+      (arguments
+       `(#:configure-flags
+         (list (string-append "--man-page="
+                              (assoc-ref %outputs "out")
+                              "/share/man/man1/nyx.1")
+               (string-append "--sample-path="
+                              (assoc-ref %outputs "out")
+                              "/share/doc/nyx/nyxrc.sample"))
+         #:use-setuptools? #f           ; setup.py still uses distutils
+         #:phases
+         (modify-phases %standard-phases
+           (replace 'check
+                    (lambda _
+                      (zero? (system* "./run_tests.py" "--unit")))))))
+      ;; There's no home page yet.  This should change before the 2.0 release.
+      (home-page "https://gitweb.torproject.org/nyx.git";)
+      (synopsis "Tor relay status monitor")
+      (description "Nyx monitors the performance of relays participating in the
address@hidden://www.torproject.org/, Tor anonymity network}.  It displays this
+information visually and in real time, using a curses-based terminal interface.
+This makes Nyx well-suited for remote shell connections and servers without a
+graphical display.  It's like @command{top} for Tor, providing detailed
+statistics and status reports on:
+
address@hidden
address@hidden connections (with IP address, hostname, fingerprint, and 
consensus data),
address@hidden bandwidth, processor, and memory usage,
address@hidden the relay's current configuration,
address@hidden logged events,
address@hidden and much more.
address@hidden enumerate
+
+Potential client and exit connections are scrubbed of sensitive information.")
+      (license license:gpl3))))
-- 
2.9.3




reply via email to

[Prev in Thread] Current Thread [Next in Thread]