aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorTobias Geerinckx-Rice <me@tobias.gr>2017-01-29 14:08:14 +0100
committerTobias Geerinckx-Rice <me@tobias.gr>2017-02-01 15:53:32 +0100
commit61ac75445320890e9be38dc04492cae3caf657a2 (patch)
tree2ff87208b0cbc36e0feb8f66ba42c6302b2b58cd /gnu
parent71794d7b94bd94685195d01ec7ea8546ba5a0f9c (diff)
downloadguix-61ac75445320890e9be38dc04492cae3caf657a2.tar
guix-61ac75445320890e9be38dc04492cae3caf657a2.tar.gz
gnu: Add nyx.
* gnu/packages/tor.scm (nyx): New variable.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/tor.scm64
1 files changed, 64 insertions, 0 deletions
diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm
index 6695ebbf32..9339dcdd70 100644
--- a/gnu/packages/tor.scm
+++ b/gnu/packages/tor.scm
@@ -3,6 +3,7 @@
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net>
+;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -227,3 +228,66 @@ 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
+ ;; The last ‘arm’ relase was 5 years ago. Meanwhile, python3 support has
+ ;; been added and the software was renamed to ‘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
+ `(("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")))))))
+ ;; A Nyx home page is ‘being worked on’. Use Arm's for now, which at
+ ;; least mentions the new source repository:
+ (home-page "http://www.atagar.com/arm/")
+ (synopsis "Tor relay status monitor")
+ (description "Nyx (formerly Anonymizing Relay Monitor or \"arm\")
+monitors the performance of relays participating in the
+@uref{https://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:
+
+@enumerate
+@item connections (with IP address, hostname, fingerprint, and consensus data),
+@item bandwidth, processor, and memory usage,
+@item the relay's current configuration,
+@item logged events,
+@item and much more.
+@end enumerate
+
+Potential client and exit connections are scrubbed of sensitive information.")
+ (license license:gpl3+))))