From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tobias Geerinckx-Rice Subject: [PATCH 2/2] gnu: Add nyx. Date: Mon, 30 Jan 2017 01:09:04 +0100 Message-ID: <20170130000904.31174-2-me@tobias.gr> References: <20170130000904.31174-1-me@tobias.gr> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:44858) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cXzWY-0002RG-Ee for guix-devel@gnu.org; Sun, 29 Jan 2017 19:08:48 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cXzWU-0008Nj-Ly for guix-devel@gnu.org; Sun, 29 Jan 2017 19:08:46 -0500 Received: from relay4-d.mail.gandi.net ([217.70.183.196]:42954) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cXzWU-0008Mq-FI for guix-devel@gnu.org; Sun, 29 Jan 2017 19:08:42 -0500 Received: from localhost.localdomain (ptr-1poeq1gz8evpzditf9c.18120a2.ip6.access.telenet.be [IPv6:2a02:1810:3919:8200:1558:d985:61a7:880]) (Authenticated sender: me@tobias.gr) by relay4-d.mail.gandi.net (Postfix) with ESMTPSA id 3512417209D for ; Mon, 30 Jan 2017 01:08:40 +0100 (CET) In-Reply-To: <20170130000904.31174-1-me@tobias.gr> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: guix-devel@gnu.org * 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 ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2016, 2017 ng0 +;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; ;;; 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 +@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)))) -- 2.9.3