gnu: perl-net-dns-resolver-programmable: Shorten patch file name.
[jackhill/guix/guix.git] / gnu / packages / networking.scm
CommitLineData
f6d9b3de 1;;; GNU Guix --- Functional package management for GNU
89e34644 2;;; Copyright © 2014, 2017 Ludovic Courtès <ludo@gnu.org>
42c939a8 3;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
a2b2aebe 4;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
9e6c7c42 5;;; Copyright © 2015, 2016 Stefan Reichör <stefan@xsteve.at>
95146623 6;;; Copyright © 2016 Raimon Grau <raimonster@gmail.com>
e05647ad 7;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
42ff54d5 8;;; Copyright © 2016 John Darrington <jmd@gnu.org>
834a2fc1 9;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr>
d85b398b 10;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
5ed96226 11;;; Copyright © 2016, 2017 ng0 <ng0@libertad.pw>
307347fe 12;;; Copyright © 2016 Arun Isaac <arunisaac@systemreboot.net>
b747718e 13;;; Copyright © 2016 Benz Schenk <benz.schenk@uzh.ch>
38510546 14;;; Copyright © 2016, 2017 Pjotr Prins <pjotr.guix@thebird.nl>
3cd501c8 15;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
f6d9b3de
LC
16;;;
17;;; This file is part of GNU Guix.
18;;;
19;;; GNU Guix is free software; you can redistribute it and/or modify it
20;;; under the terms of the GNU General Public License as published by
21;;; the Free Software Foundation; either version 3 of the License, or (at
22;;; your option) any later version.
23;;;
24;;; GNU Guix is distributed in the hope that it will be useful, but
25;;; WITHOUT ANY WARRANTY; without even the implied warranty of
26;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
27;;; GNU General Public License for more details.
28;;;
29;;; You should have received a copy of the GNU General Public License
30;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
31
8a413bca 32(define-module (gnu packages networking)
68b14f2e 33 #:use-module (guix build-system perl)
f6d9b3de
LC
34 #:use-module ((guix licenses) #:prefix license:)
35 #:use-module (guix packages)
36 #:use-module (guix download)
834a2fc1 37 #:use-module (guix build-system glib-or-gtk)
f6d9b3de 38 #:use-module (guix build-system gnu)
9e6c7c42 39 #:use-module (guix build-system python)
8d60dd71 40 #:use-module (gnu packages)
834a2fc1
NG
41 #:use-module (gnu packages admin)
42 #:use-module (gnu packages adns)
82ee141b 43 #:use-module (gnu packages algebra)
834a2fc1
NG
44 #:use-module (gnu packages audio)
45 #:use-module (gnu packages bison)
998afc36 46 #:use-module (gnu packages check)
4fb5f830 47 #:use-module (gnu packages code)
834a2fc1 48 #:use-module (gnu packages compression)
9e6c7c42 49 #:use-module (gnu packages curl)
d85b398b 50 #:use-module (gnu packages databases)
834a2fc1 51 #:use-module (gnu packages flex)
82ee141b 52 #:use-module (gnu packages gettext)
834a2fc1
NG
53 #:use-module (gnu packages gnupg)
54 #:use-module (gnu packages gtk)
9c798f90 55 #:use-module (gnu packages libidn)
834a2fc1
NG
56 #:use-module (gnu packages linux)
57 #:use-module (gnu packages lua)
89e34644 58 #:use-module (gnu packages kerberos)
834a2fc1 59 #:use-module (gnu packages ncurses)
d85b398b 60 #:use-module (gnu packages pcre)
834a2fc1 61 #:use-module (gnu packages perl)
998afc36 62 #:use-module (gnu packages pkg-config)
834a2fc1 63 #:use-module (gnu packages python)
4fb5f830
TGR
64 #:use-module (gnu packages textutils)
65 #:use-module (gnu packages tls)
66 #:use-module (gnu packages valgrind))
f6d9b3de 67
c791efde
JD
68(define-public macchanger
69 (package
70 (name "macchanger")
71 (version "1.6.0")
72 (source (origin
73 (method url-fetch)
74 (uri (string-append "mirror://gnu/"
75 name "/" name "-" version ".tar.gz"))
76 (sha256
77 (base32
78 "1xsiivjjyhqcs6dyjcshrnxlgypvyfzacjz7gcjgl88xiw9lylri"))))
79 (build-system gnu-build-system)
6fd52309 80 (home-page "https://www.gnu.org/software/macchanger/")
a3947cb1 81 (synopsis "Viewing and manipulating MAC addresses of network interfaces")
c791efde
JD
82 (description "GNU MAC Changer is a utility for viewing and changing MAC
83addresses of networking devices. New addresses may be set explicitly or
84randomly. They can include MAC addresses of the same or other hardware vendors
38510546 85or, more generally, MAC addresses of the same category of hardware.")
c791efde
JD
86 (license license:gpl2+)))
87
1e61e22f
TUBK
88(define-public miredo
89 (package
90 (name "miredo")
91 (version "1.2.6")
92 (source (origin
93 (method url-fetch)
94 (uri (string-append "http://www.remlab.net/files/miredo/miredo-"
95 version ".tar.xz"))
96 (sha256
97 (base32
98 "0j9ilig570snbmj48230hf7ms8kvcwi2wblycqrmhh85lksd49ps"))))
99 (build-system gnu-build-system)
100 (arguments
101 '(#:phases
102 (modify-phases %standard-phases
103 ;; The checkconf test in src/ requires network access.
104 (add-before
105 'check 'disable-checkconf-test
106 (lambda _
107 (substitute* "src/Makefile"
108 (("^TESTS = .*") "TESTS = \n")))))))
109 (home-page "http://www.remlab.net/miredo/")
110 (synopsis "Teredo IPv6 tunneling software")
111 (description
112 "Miredo is an implementation (client, relay, server) of the Teredo
113specification, which provides IPv6 Internet connectivity to IPv6 enabled hosts
114residing in IPv4-only networks, even when they are behind a NAT device.")
115 (license license:gpl2+)))
116
f6d9b3de
LC
117(define-public socat
118 (package
119 (name "socat")
4efc8eb2 120 (version "1.7.3.1")
f6d9b3de
LC
121 (source (origin
122 (method url-fetch)
123 (uri (string-append
124 "http://www.dest-unreach.org/socat/download/socat-"
125 version ".tar.bz2"))
126 (sha256
127 (base32
4efc8eb2 128 "1apvi7sahcl44arnq1ad2y6lbfqnmvx7nhz9i3rkk0f382anbnnj"))))
f6d9b3de
LC
129 (build-system gnu-build-system)
130 (arguments '(#:tests? #f)) ;no 'check' phase
131 (inputs `(("openssl" ,openssl)))
132 (home-page "http://www.dest-unreach.org/socat/")
133 (synopsis
134 "Open bidirectional communication channels from the command line")
135 (description
136 "socat is a relay for bidirectional data transfer between two independent
137data channels---files, pipes, devices, sockets, etc. It can create
138\"listening\" sockets, named pipes, and pseudo terminals.
139
140socat can be used, for instance, as TCP port forwarder, as a shell interface
141to UNIX sockets, IPv6 relay, for redirecting TCP oriented programs to a serial
142line, to logically connect serial lines on different computers, or to
143establish a relatively secure environment (su and chroot) for running client
e881752c 144or server shell scripts with network connections.")
f6d9b3de 145 (license license:gpl2)))
603090d8 146
c4947d0e
JD
147(define-public tcp-wrappers
148 (package
149 (name "tcp-wrappers")
150 (version "7.6")
151 (source (origin
152 (method url-fetch)
153 (uri (string-append
154 "ftp://ftp.porcupine.org/pub/security/tcp_wrappers_"
155 version ".tar.gz"))
156 (sha256
157 (base32
158 "0p9ilj4v96q32klavx0phw9va21fjp8vpk11nbh6v2ppxnnxfhwm"))))
159 (build-system gnu-build-system)
160 (arguments
161 `(#:phases
162 (modify-phases %standard-phases
163 (delete 'configure) ; there is no configure script
164 (delete 'check) ; there are no tests
165 (replace 'build
166 (lambda _
167 (chmod "." #o755)
168 ;; Upstream doesn't generate a shared library. So we have to do it.
169 (setenv "CC" "gcc -fno-builtin -fPIC")
170 (substitute* "Makefile"
171 (("^(all[^\n]*)" line) (string-append line " libwrap.so\n
172libwrap.so: $(LIB_OBJ)\n
173\tgcc -shared $^ -o $@\n")))
174 ;; Deal with some gcc breakage.
175 (substitute* "percent_m.c"
176 (("extern char .sys_errlist.*;") ""))
177 (substitute* "scaffold.c"
178 (("extern char .malloc.*;") ""))
179 ;; This, believe it or not, is the recommended way to build!
180 (zero? (system* "make" "REAL_DAEMON_DIR=/etc" "linux"))))
181 ;; There is no make install stage, so we have to do it ourselves.
182 (replace 'install
183 (lambda _
184 (let ((out (assoc-ref %outputs "out"))
185 (man-pages `("hosts_access.3"
186 "hosts_access.5"
187 "hosts_options.5"
188 "tcpd.8"
189 "tcpdchk.8"
190 "tcpdmatch.8"))
191 (libs `("libwrap.a"
192 "libwrap.so"))
193 (headers `("tcpd.h"))
194 (bins `("safe_finger"
195 "tcpd"
196 "tcpdchk"
197 "tcpdmatch"
198 "try-from")))
199 (for-each
200 (lambda (x)
201 (install-file x (string-append out "/include")))
202 headers)
203 (for-each
204 (lambda (x)
205 (install-file x (string-append out "/share/man/man"
206 (string-take-right x 1))))
207 man-pages)
208 (for-each
209 (lambda (x)
210 (install-file x (string-append out "/lib/")))
211 libs)
212 (for-each
213 (lambda (x)
214 (install-file x (string-append out "/bin/")))
215 bins)))))))
216 (home-page "http://www.porcupine.org")
217 (synopsis "Monitor and filter incoming requests for network services")
218 (description "With this package you can monitor and filter incoming requests for
219network services. It includes a library which may be used by daemons to
220transparently check connection attempts against an access control list.")
221 (license (license:non-copyleft "file://DISCLAIMER"
222 "See the file DISCLAIMER in the distribution."))))
223
224
603090d8
RW
225(define-public zeromq
226 (package
227 (name "zeromq")
d6c108a9 228 (version "4.0.7")
603090d8
RW
229 (source (origin
230 (method url-fetch)
231 (uri (string-append "http://download.zeromq.org/zeromq-"
232 version ".tar.gz"))
233 (sha256
234 (base32
d6c108a9 235 "00vvwhgcdr1lva2pavicvy92iad0hj8cf71n702hv6blw1kjj2z0"))))
603090d8
RW
236 (build-system gnu-build-system)
237 (home-page "http://zeromq.org")
238 (synopsis "Library for message-based applications")
239 (description
240 "The 0MQ lightweight messaging kernel is a library which extends the
241standard socket interfaces with features traditionally provided by specialized
242messaging middle-ware products. 0MQ sockets provide an abstraction of
243asynchronous message queues, multiple messaging patterns, message
244filtering (subscriptions), seamless access to multiple transport protocols and
245more.")
246 (license license:lgpl3+)))
a2b2aebe 247
2c1286f4
SB
248(define-public librdkafka
249 (package
250 (name "librdkafka")
251 (version "0.9.1")
252 (source (origin
253 (method url-fetch)
254 (uri (string-append
255 "https://github.com/edenhill/librdkafka/archive/"
256 version ".tar.gz"))
257 (file-name (string-append name "-" version ".tar.gz"))
258 (sha256
259 (base32
260 "10ldx7g7ymmg17snzx78vy4n8ma1rjx0agzi34g15j2fk867xmas"))))
261 (build-system gnu-build-system)
262 (arguments
263 '(#:phases
264 (modify-phases %standard-phases
265 (replace 'configure
266 ;; its custom configure script doesn't understand 'CONFIG_SHELL'.
267 (lambda* (#:key outputs #:allow-other-keys)
268 (let ((out (assoc-ref outputs "out")))
269 ;; librdkafka++.so lacks RUNPATH for librdkafka.so
270 (setenv "LDFLAGS"
271 (string-append "-Wl,-rpath=" out "/lib"))
272 (zero? (system* "./configure"
273 (string-append "--prefix=" out)))))))))
274 (native-inputs
275 `(("python" ,python-wrapper)))
276 (propagated-inputs
277 `(("zlib" ,zlib))) ; in the Libs.private field of rdkafka.pc
278 (home-page "https://github.com/edenhill/librdkafka")
279 (synopsis "Apache Kafka C/C++ client library")
280 (description
281 "librdkafka is a C library implementation of the Apache Kafka protocol,
282containing both Producer and Consumer support.")
283 (license license:bsd-2)))
284
a2b2aebe
MW
285(define-public libndp
286 (package
287 (name "libndp")
ad42be83 288 (version "1.6")
a2b2aebe
MW
289 (source (origin
290 (method url-fetch)
291 (uri (string-append "http://libndp.org/files/"
292 name "-" version ".tar.gz"))
293 (sha256
294 (base32
ad42be83 295 "03mczwrxqbp54msafxzzyhaazkvjdwm2kipjkrb5xg8kw22glz8c"))))
a2b2aebe
MW
296 (build-system gnu-build-system)
297 (home-page "http://libndp.org/")
298 (synopsis "Library for Neighbor Discovery Protocol")
299 (description
300 "libndp contains a library which provides a wrapper for IPv6 Neighbor
301Discovery Protocol. It also provides a tool named ndptool for sending and
302receiving NDP messages.")
303 (license license:lgpl2.1+)))
5df2316d
MW
304
305(define-public ethtool
306 (package
307 (name "ethtool")
efba8327 308 (version "4.10")
5df2316d
MW
309 (source (origin
310 (method url-fetch)
311 (uri (string-append "mirror://kernel.org/software/network/"
312 name "/" name "-" version ".tar.xz"))
313 (sha256
314 (base32
efba8327 315 "1fklbjwr41cvd5b7d1qvpl3bqzc4aak732r3m2wjhhgkxhk9f07h"))))
5df2316d
MW
316 (build-system gnu-build-system)
317 (home-page "https://www.kernel.org/pub/software/network/ethtool/")
318 (synopsis "Display or change Ethernet device settings")
319 (description
320 "ethtool can be used to query and change settings such as speed,
321auto-negotiation and checksum offload on many network devices, especially
322Ethernet devices.")
323 (license license:gpl2)))
24a848c8
SR
324
325(define-public ifstatus
326 (package
327 (name "ifstatus")
328 (version "1.1.0")
329 (source (origin
330 (method url-fetch)
de67e922
LF
331 (uri (string-append "mirror://sourceforge/ifstatus/ifstatus/"
332 "ifstatus%20v" version "/ifstatus-v"
24a848c8
SR
333 version ".tar.gz"))
334 (sha256
335 (base32
336 "045cbsq9ps32j24v8y5hpyqxnqn9mpaf3mgvirlhgpqyb9jsia0c"))
337 (modules '((guix build utils)))
338 (snippet
339 '(substitute* "Main.h"
340 (("#include <stdio.h>")
341 "#include <stdio.h>\n#include <stdlib.h>")))))
342 (build-system gnu-build-system)
343 (arguments
344 '(#:tests? #f ; no "check" target
345 #:phases
346 (modify-phases %standard-phases
347 (delete 'configure) ; no configure script
348 (replace 'install
349 (lambda* (#:key outputs #:allow-other-keys)
350 (let* ((out (assoc-ref outputs "out"))
351 (bin (string-append out "/bin")))
352 (mkdir-p bin)
353 (copy-file "ifstatus"
354 (string-append bin "/ifstatus"))))))))
355 (inputs `(("ncurses" ,ncurses)))
356 (home-page "http://ifstatus.sourceforge.net/graphic/index.html")
357 (synopsis "Text based network interface status monitor")
358 (description
359 "IFStatus is a simple, easy-to-use program for displaying commonly
8874f766 360needed/wanted real-time traffic statistics of multiple network
24a848c8
SR
361interfaces, with a simple and efficient view on the command line. It is
362intended as a substitute for the PPPStatus and EthStatus projects.")
8874f766 363 (license license:gpl2+)))
95146623
RG
364
365(define-public nload
366 (package
367 (name "nload")
368 (version "0.7.4")
369 (source (origin
370 (method url-fetch)
de67e922
LF
371 (uri (string-append "mirror://sourceforge/nload/nload/" version
372 "/nload-" version ".tar.gz"))
95146623
RG
373 (sha256
374 (base32
375 "1rb9skch2kgqzigf19x8bzk211jdfjfdkrcvaqyj89jy2pkm3h61"))))
376 (build-system gnu-build-system)
377 (inputs `(("ncurses" ,ncurses)))
378 (home-page "http://www.roland-riegel.de/nload/")
379 (synopsis "Realtime console network usage monitor")
380 (description
381 "Nload is a console application which monitors network traffic and
382bandwidth usage in real time. It visualizes the in- and outgoing traffic using
d1e4ad1b 383two graphs, and provides additional info like total amount of transferred data
95146623
RG
384and min/max network usage.")
385 (license license:gpl2+)))
998afc36
TGR
386
387(define-public iodine
388 (package
389 (name "iodine")
390 (version "0.7.0")
391 (source (origin
392 (method url-fetch)
393 (uri (string-append "http://code.kryo.se/" name "/"
394 name "-" version ".tar.gz"))
395 (sha256
396 (base32
397 "0gh17kcxxi37k65zm4gqsvbk3aw7yphcs3c02pn1c4s2y6n40axd"))))
398 (build-system gnu-build-system)
399 (arguments
400 '(#:phases
401 (modify-phases %standard-phases
402 (delete 'configure)
60880ac5
TGR
403 (add-before 'build 'fix-ifconfig-path
404 ;; This package works only with the net-tools version of ifconfig.
405 (lambda* (#:key inputs #:allow-other-keys)
406 (substitute* "src/tun.c"
407 (("PATH=[^ ]* ")
408 (string-append (assoc-ref inputs "net-tools") "/sbin/")))))
998afc36 409 (add-before 'check 'delete-failing-tests
60880ac5 410 ;; Avoid https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=802105.
998afc36
TGR
411 (lambda _
412 (substitute* "tests/common.c"
413 (("tcase_add_test\\(tc, \
414test_parse_format_ipv(4(|_listen_all|_mapped_ipv6)|6)\\);")
415 "")))))
416 #:make-flags (list "CC=gcc"
417 (string-append "prefix=" (assoc-ref %outputs "out")))
418 #:test-target "test"))
60880ac5
TGR
419 (inputs `(("net-tools" ,net-tools)
420 ("zlib" ,zlib)))
998afc36
TGR
421 (native-inputs `(("check" ,check)
422 ("pkg-config" ,pkg-config)))
423 (home-page "http://code.kryo.se/iodine/")
424 (synopsis "Tunnel IPv4 data through a DNS server")
425 (description "Iodine tunnels IPv4 data through a DNS server. This
426can be useful in different situations where internet access is firewalled, but
427DNS queries are allowed. The bandwidth is asymmetrical, with limited upstream
428and up to 1 Mbit/s downstream.")
429 ;; src/md5.[ch] is released under the zlib license
430 (license (list license:isc license:zlib))))
834a2fc1 431
9c798f90 432(define-public whois
433 (package
434 (name "whois")
a6d9f883 435 (version "5.2.15")
9c798f90 436 (source
437 (origin
438 (method url-fetch)
439 (uri (string-append "mirror://debian/pool/main/w/whois/"
440 name "_" version ".tar.xz"))
441 (sha256
442 (base32
a6d9f883 443 "123ingf699javzh8qm6ny10nl28zbjzasa4k5pcn0qzw1dlnnnks"))))
9c798f90 444 (build-system gnu-build-system)
445 ;; TODO: unbundle mkpasswd binary + its po files.
446 (arguments
447 `(#:tests? #f ; Does not exist
448 #:make-flags (list "CC=gcc"
449 (string-append "prefix=" (assoc-ref %outputs "out")))
450 #:phases
451 (modify-phases %standard-phases
452 (delete 'configure) ; No configure
453 (add-before 'build 'setenv
454 (lambda _
455 (setenv "HAVE_ICONV" "1")
268b3802
EF
456 (setenv "HAVE_LIBIDN" "1")
457 #t)))))
9c798f90 458 (inputs
459 `(("libidn" ,libidn)))
460 (native-inputs
7c90d0f4 461 `(("gettext" ,gettext-minimal)
9c798f90 462 ("perl" ,perl)))
463 (synopsis "Improved whois client")
464 (description "This whois client is intelligent and can
465automatically select the appropriate whois server for most queries.
466Because of historical reasons this also includes a tool called mkpasswd
467which can be used to encrypt a password with @code{crypt(3)}.")
468 (home-page "https://github.com/rfc1036/whois")
469 (license license:gpl2+)))
470
834a2fc1
NG
471(define-public wireshark
472 (package
473 (name "wireshark")
32380cdb 474 (version "2.2.6")
834a2fc1
NG
475 (synopsis "Network traffic analyzer")
476 (source
477 (origin
478 (method url-fetch)
479 (uri (string-append "https://www.wireshark.org/download/src/wireshark-"
480 version ".tar.bz2"))
481 (sha256
482 (base32
32380cdb 483 "0jd89i9si43lyv3hsl6p1lkjmz4zagvc37wcbigsxxc5v8gda9zn"))))
834a2fc1
NG
484 (build-system glib-or-gtk-build-system)
485 (inputs `(("bison" ,bison)
486 ("c-ares" ,c-ares)
487 ("flex" ,flex)
488 ("gnutls" ,gnutls)
489 ("gtk+" ,gtk+)
490 ("libcap" ,libcap)
491 ("libgcrypt" ,libgcrypt)
492 ("libnl" ,libnl)
493 ("libpcap" ,libpcap)
331ef882 494 ("lua" ,lua-5.2)
834a2fc1
NG
495 ("krb5" ,mit-krb5)
496 ("openssl" ,openssl)
497 ("portaudio" ,portaudio)
498 ("sbc" ,sbc)
499 ("zlib" ,zlib)))
500 (native-inputs `(("perl" ,perl)
501 ("pkg-config" ,pkg-config)
502 ("python" ,python-wrapper)))
503 (arguments
504 `(#:configure-flags
505 (list (string-append "--with-c-ares=" (assoc-ref %build-inputs "c-ares"))
506 (string-append "--with-krb5=" (assoc-ref %build-inputs "krb5"))
507 (string-append "--with-libcap=" (assoc-ref %build-inputs "libcap"))
508 (string-append "--with-lua=" (assoc-ref %build-inputs "lua"))
509 (string-append "--with-pcap=" (assoc-ref %build-inputs "libpcap"))
510 (string-append "--with-portaudio="
511 (assoc-ref %build-inputs "portaudio"))
512 (string-append "--with-sbc=" (assoc-ref %build-inputs "sbc"))
513 (string-append "--with-ssl=" (assoc-ref %build-inputs "openssl"))
514 (string-append "--with-zlib=" (assoc-ref %build-inputs "zlib"))
515 "--without-qt")))
516 (description "Wireshark is a network protocol analyzer, or @dfn{packet
517sniffer}, that lets you capture and interactively browse the contents of
518network frames.")
519 (license license:gpl2+)
520 (home-page "https://www.wireshark.org/")))
82ee141b
TGR
521
522(define-public httping
523 (package
524 (name "httping")
2f968727 525 (version "2.5")
82ee141b
TGR
526 (source
527 (origin
528 (method url-fetch)
529 (uri (string-append "https://www.vanheusden.com/httping/httping-"
530 version ".tgz"))
531 (sha256
532 (base32
2f968727 533 "1y7sbgkhgadmd93x1zafqc4yp26ssiv16ni5bbi9vmvvdl55m29y"))))
82ee141b
TGR
534 (build-system gnu-build-system)
535 (native-inputs
b94a6ca0 536 `(("gettext" ,gettext-minimal)))
82ee141b
TGR
537 (inputs
538 `(("fftw" ,fftw)
539 ("ncurses" ,ncurses)
540 ("openssl" ,openssl)))
541 (arguments
542 `(#:make-flags (list "CC=gcc"
543 (string-append "DESTDIR=" (assoc-ref %outputs "out"))
544 "PREFIX=")
545 #:tests? #f)) ; no tests
546 (home-page "https://www.vanheusden.com/httping/")
547 (synopsis "Web server latency and throughput monitor")
548 (description
549 "httping measures how long it takes to connect to a web server, send an
550HTTP(S) request, and receive the reply headers. It is somewhat similar to
551@command{ping}, but can be used even in cases where ICMP traffic is blocked
552by firewalls or when you want to monitor the response time of the actual web
553application stack itself.")
554 (license license:gpl2))) ; with permission to link with OpenSSL
68b14f2e 555
9e6c7c42
SR
556(define-public httpstat
557 (package
558 (name "httpstat")
559 (version "1.2.1")
560 (source
561 (origin
562 (method url-fetch)
563 (uri (pypi-uri "httpstat" version))
564 (sha256
565 (base32
566 "1chw2nk56vaq87aba012a270k9na06hfx1pfbsrc3jfvlc2kb9hb"))))
567 (build-system python-build-system)
568 (inputs `(("curl" ,curl)))
569 (arguments
570 '(#:phases
571 (modify-phases %standard-phases
572 (add-before 'build 'fix-curl-path
573 (lambda* (#:key inputs #:allow-other-keys)
574 (substitute* "httpstat.py"
575 (("ENV_CURL_BIN.get\\('curl'\\)")
576 (string-append "ENV_CURL_BIN.get('"
577 (assoc-ref inputs "curl")
578 "/bin/curl')"))))))))
579 (home-page "https://github.com/reorx/httpstat")
580 (synopsis "Visualize curl statistics")
581 (description
582 "@command{httpstat} is a tool to visualize statistics from the
583@command{curl} HTTP client. It acts as a wrapper for @command{curl} and
584prints timing information for each step of the HTTP request (DNS lookup,
585TCP connection, TLS handshake and so on) in the terminal.")
586 (license license:expat)))
587
be9f3a83
AI
588(define-public bwm-ng
589 (package
590 (name "bwm-ng")
591 (version "0.6.1")
592 (source
593 (origin
594 (method url-fetch)
595 (uri (string-append "https://www.gropp.org/bwm-ng/bwm-ng-"
596 version ".tar.gz"))
597 (sha256
598 (base32
599 "1w0dwpjjm9pqi613i8glxrgca3rdyqyp3xydzagzr5ndc34z6z02"))))
600 (build-system gnu-build-system)
601 (inputs `(("ncurses" ,ncurses)))
602 (synopsis "Console based live network and disk I/O bandwidth monitor")
603 (description "Bandwidth Monitor NG is a small and simple console based
604live network and disk I/O bandwidth monitor.")
605 (home-page "https://www.gropp.org/?id=projects&sub=bwm-ng")
606 (license license:gpl2)))
607
d85b398b
EB
608(define-public aircrack-ng
609 (package
610 (name "aircrack-ng")
611 (version "1.2-rc4")
612 (source
613 (origin
614 (method url-fetch)
615 (uri (string-append "http://download.aircrack-ng.org/aircrack-ng-"
616 version ".tar.gz"))
617 (sha256
618 (base32
619 "0dpzx9kddxpgzmgvdpl3rxn0jdaqhm5wxxndp1xd7d75mmmc2fnr"))))
620 (build-system gnu-build-system)
621 (native-inputs
622 `(("pkg-config" ,pkg-config)))
623 (inputs
624 `(("libgcrypt" ,libgcrypt)
625 ("libnl" ,libnl)
626 ("ethtool" ,ethtool)
627 ("pcre" ,pcre)
628 ("sqlite" ,sqlite)
629 ("zlib" ,zlib)))
630 (arguments
631 `(#:make-flags `("sqlite=true"
632 "gcrypt=true"
633 "libnl=true"
634 "pcre=true"
635 "experimental=true" ;build wesside-ng, etc.
636 "AVX2FLAG=N" "AVX1FLAG=N" "SSEFLAG=Y"
637 ,(string-append "prefix=" %output))
638 #:phases (modify-phases %standard-phases
639 (delete 'configure) ;no configure phase
640 (add-after 'build 'absolutize-tools
641 (lambda* (#:key inputs #:allow-other-keys)
642 (let ((ethtool (string-append (assoc-ref inputs "ethtool")
643 "/sbin/ethtool")))
644 (substitute* "scripts/airmon-ng"
645 (("\\[ ! -x \"\\$\\(command -v ethtool 2>&1)\" \\]")
646 (string-append "! " ethtool " --version "
647 ">/dev/null 2>&1"))
648 (("\\$\\(ethtool")
649 (string-append "$(" ethtool)))
650 #t))))))
651 (home-page "http://www.aircrack-ng.org")
652 (synopsis "Assess WiFi network security")
653 (description
654 "Aircrack-ng is a complete suite of tools to assess WiFi network
655security. It focuses on different areas of WiFi security: monitoring,
656attacking, testing, and cracking. All tools are command-line driven, which
657allows for heavy scripting.")
658 (license (list license:gpl2+ license:bsd-3))))
659
68b14f2e
DM
660(define-public perl-net-dns
661 (package
662 (name "perl-net-dns")
663 (version "1.06")
664 (source
665 (origin
666 (method url-fetch)
667 (uri (string-append
668 "mirror://cpan/authors/id/N/NL/NLNETLABS/Net-DNS-"
669 version
670 ".tar.gz"))
671 (sha256
672 (base32
673 "07m5331132h9xkh1i6jv9d80f571yva27iqa31aq4sm31iw7nn53"))))
674 (build-system perl-build-system)
675 (inputs
676 `(("perl-digest-hmac" ,perl-digest-hmac)))
677 (home-page "http://search.cpan.org/dist/Net-DNS")
678 (synopsis
679 "Perl Interface to the Domain Name System")
680 (description "Net::DNS is the Perl Interface to the Domain Name System.")
681 (license license:x11)))
87b14091
DM
682
683(define-public perl-socket6
684 (package
685 (name "perl-socket6")
686 (version "0.28")
687 (source
688 (origin
689 (method url-fetch)
690 (uri (string-append
691 "mirror://cpan/authors/id/U/UM/UMEMOTO/Socket6-"
692 version
693 ".tar.gz"))
694 (sha256
695 (base32
696 "11j5jzqbzmwlws9zals43ry2f1nw9qy6im7yhn9ck5rikywrmm5z"))))
697 (build-system perl-build-system)
698 (arguments
699 `(#:phases
700 (modify-phases %standard-phases
701 (replace 'configure
702 (lambda* (#:key outputs #:allow-other-keys)
703 (let* ((out (assoc-ref outputs "out"))
704 (args `("Makefile.PL"
705 ,(string-append "PREFIX=" out)
706 "INSTALLDIRS=site")))
707 (setenv "CONFIG_SHELL" (which "sh"))
708 (zero? (apply system* "perl" args))))))))
709 (home-page "http://search.cpan.org/dist/Socket6")
710 (synopsis
711 "IPv6 related part of the C socket.h defines and structure manipulators for Perl")
712 (description "Socket6 binds the IPv6 related part of the C socket header
713definitions and structure manipulators for Perl.")
714 (license license:bsd-3)))
8d60dd71
DM
715
716(define-public perl-net-dns-resolver-programmable
717 (package
718 (name "perl-net-dns-resolver-programmable")
719 (version "v0.003")
720 (source
721 (origin
722 (method url-fetch)
723 (uri (string-append
724 "mirror://cpan/authors/id/J/JM/JMEHNLE/net-dns-resolver-programmable/"
725 "Net-DNS-Resolver-Programmable-" version ".tar.gz"))
726 (sha256
727 (base32
728 "1v3nl2kaj4fs55n1617n53q8sa3mir06898vpy1rq98zjih24h4d"))
729 (patches
1d248adb 730 (search-patches "perl-net-dns-resolver-programmable-fix.patch"))))
8d60dd71
DM
731 (build-system perl-build-system)
732 (native-inputs
733 `(("perl-module-build" ,perl-module-build)))
734 (inputs `(("perl-net-dns" ,perl-net-dns)))
735 (home-page
736 "http://search.cpan.org/dist/Net-DNS-Resolver-Programmable")
737 (synopsis
738 "Programmable DNS resolver class for offline emulation of DNS")
739 (description "Net::DNS::Resolver::Programmable is a programmable DNS resolver for
740offline emulation of DNS.")
2f3108ad 741 (license license:perl-license)))
1201eab9
DM
742
743(define-public perl-netaddr-ip
744 (package
745 (name "perl-netaddr-ip")
746 (version "4.079")
747 (source
748 (origin
749 (method url-fetch)
750 (uri (string-append
751 "mirror://cpan/authors/id/M/MI/MIKER/NetAddr-IP-"
752 version
753 ".tar.gz"))
754 (sha256
755 (base32
756 "1rx0dinrz9fk9qcg4rwqq5n1dm3xv2arymixpclcv2q2nzgq4npc"))))
757 (build-system perl-build-system)
758 (arguments
759 `(#:phases
760 (modify-phases %standard-phases
761 (replace 'configure
762 (lambda* (#:key outputs #:allow-other-keys)
763 (let* ((out (assoc-ref outputs "out"))
764 (args `("Makefile.PL"
765 ,(string-append "PREFIX=" out)
766 "INSTALLDIRS=site")))
767 (setenv "CONFIG_SHELL" (which "sh"))
768 (zero? (apply system* "perl" args))))))))
769 (home-page
770 "http://search.cpan.org/dist/NetAddr-IP")
771 (synopsis
772 "Manages IPv4 and IPv6 addresses and subnets")
773 (description "NetAddr::IP manages IPv4 and IPv6 addresses and subsets.")
2f3108ad 774 (license license:perl-license)))
3ed361ea
DM
775
776(define-public perl-net-patricia
777 (package
778 (name "perl-net-patricia")
779 (version "1.22")
780 (source
781 (origin
782 (method url-fetch)
783 (uri (string-append
784 "mirror://cpan/authors/id/G/GR/GRUBER/Net-Patricia-"
785 version
786 ".tar.gz"))
787 (sha256
788 (base32
789 "0ln5f57vc8388kyh9vhx2infrdzfhbpgyby74h1qsnhwds95m0vh"))))
790 (build-system perl-build-system)
791 (inputs
792 `(("perl-net-cidr-lite" ,perl-net-cidr-lite)
793 ("perl-socket6" ,perl-socket6)))
794 (home-page
795 "http://search.cpan.org/dist/Net-Patricia")
796 (synopsis
797 "Patricia Trie Perl module for fast IP address lookups")
798 (description
799 "Net::Patricia does IP address lookups quickly in Perl.")
800 ;; The bindings are licensed under GPL2 or later.
801 ;; libpatricia is licensed under 2-clause BSD.
802 (license (list license:gpl2+ license:bsd-2))))
b09a8b6f
DM
803
804(define-public perl-net-cidr-lite
805 (package
806 (name "perl-net-cidr-lite")
807 (version "0.21")
808 (source
809 (origin
810 (method url-fetch)
811 (uri (string-append
812 "mirror://cpan/authors/id/D/DO/DOUGW/Net-CIDR-Lite-"
813 version
814 ".tar.gz"))
815 (sha256
816 (base32
817 "14shj73zbqmfjbp0qz1fs9j4p2dpvz5hfkm4qfdjbydflbl2b8fg"))))
818 (build-system perl-build-system)
819 (home-page
820 "http://search.cpan.org/dist/Net-CIDR-Lite")
821 (synopsis
822 "Perl extension for merging IPv4 or IPv6 CIDR addresses")
823 (description "Net::CIDR::Lite merges IPv4 or IPv6 CIDR addresses.")
824 (license license:gpl1+)))
e741c4e4
DM
825
826;; TODO: Use the geolite-mirror-simple.pl script from the example
827;; directory to stay current with the databases. How?
828(define-public perl-geo-ip
829 (package
830 (name "perl-geo-ip")
831 (version "1.50")
832 (source
833 (origin
834 (method url-fetch)
835 (uri (string-append
836 "mirror://cpan/authors/id/M/MA/MAXMIND/Geo-IP-"
837 version
838 ".tar.gz"))
839 (sha256
840 (base32
841 "0ar69lrm26rp6sqxjf0p6cvjfprjx8gkxx11r399lvh99rqfl7zr"))))
842 (build-system perl-build-system)
843 (home-page "http://search.cpan.org/dist/Geo-IP")
844 (synopsis
845 "Look up location and network information by IP Address in Perl")
846 (description "The Perl module 'Geo::IP'. It looks up location and network
847information by IP Address.")
2f3108ad 848 (license license:perl-license)))
e818f321
DM
849
850(define-public perl-io-socket-inet6
851 (package
852 (name "perl-io-socket-inet6")
853 (version "2.72")
854 (source
855 (origin
856 (method url-fetch)
857 (uri (string-append
858 "mirror://cpan/authors/id/S/SH/SHLOMIF/IO-Socket-INET6-"
859 version
860 ".tar.gz"))
861 (sha256
862 (base32
863 "1fqypz6qa5rw2d5y2zq7f49frwra0aln13nhq5gi514j2zx21q45"))))
864 (build-system perl-build-system)
865 (native-inputs
866 `(("perl-module-build" ,perl-module-build)
867 ("perl-test-pod" ,perl-test-pod)
868 ("perl-test-pod-coverage" ,perl-test-pod-coverage)))
869 (inputs `(("perl-socket6" ,perl-socket6)))
870 (arguments `(;; Need network socket API
871 #:tests? #f))
872 (home-page
873 "http://search.cpan.org/dist/IO-Socket-INET6")
874 (synopsis
875 "Perl object interface for AF_INET/AF_INET6 domain sockets")
876 (description "IO::Socket::INET6 is an interface for AF_INET/AF_INET6 domain
877sockets in Perl.")
2f3108ad 878 (license license:perl-license)))
a1c83fef 879
880(define-public proxychains-ng
881 (package
882 (name "proxychains-ng")
cdb93e50 883 (version "4.12")
a1c83fef 884 (source (origin
885 (method url-fetch)
886 (uri (string-append "https://github.com/rofl0r/" name "/releases/"
887 "download/v" version "/" name "-" version
cdb93e50 888 ".tar.xz"))
a1c83fef 889 (sha256
890 (base32
cdb93e50 891 "0kiss3ih6cwayzvqi5cx4kw4vh7r2kfxlbgk56v1f1066ncm8aj8"))))
a1c83fef 892 (build-system gnu-build-system)
893 (arguments
894 `(#:tests? #f ; there are no tests
895 #:make-flags '("CC=gcc")
896 #:phases
897 (modify-phases %standard-phases
898 (add-after 'unpack 'fix-configure-script
899 (lambda _
900 ;; The configure script is very intolerant to unknown arguments,
901 ;; such as "CONFIG_SHELL".
902 (substitute* "configure"
903 (("\\*\\) break ;;" line)
904 (string-append "[A-Z]*) shift ;;\n"
905 line)))
906 #t)))))
907 (synopsis "Redirect any TCP connection through a proxy or proxy chain")
908 (description "Proxychains-ng is a preloader which hooks calls to sockets
909in dynamically linked programs and redirects them through one or more SOCKS or
910HTTP proxies.")
911 (home-page "https://github.com/rofl0r/proxychains-ng")
912 (license license:gpl2+)))
93666cf7 913
914(define-public enet
915 (package
916 (name "enet")
917 (version "1.3.13")
918 (source (origin
919 (method url-fetch)
920 (uri (string-append "http://enet.bespin.org/download/"
921 name "-" version ".tar.gz"))
922 (sha256
923 (base32
924 "0p53mnmjbm56wizwraznynx13fcibcxiqny110dp6a5a3w174q73"))))
925 (build-system gnu-build-system)
926 (native-inputs
927 `(("pkg-config" ,pkg-config)))
928 (synopsis
929 "Network communication layer on top of UDP")
930 (description
931 "ENet's purpose is to provide a relatively thin, simple and robust network
932communication layer on top of UDP. The primary feature it provides is optional
933reliable, in-order delivery of packets. ENet omits certain higher level
934networking features such as authentication, server discovery, encryption, or
935other similar tasks that are particularly application specific so that the
936library remains flexible, portable, and easily embeddable.")
937 (home-page "http://enet.bespin.org")
938 (license license:expat)))
4fb5f830
TGR
939
940(define-public sslh
941 (package
942 (name "sslh")
943 (version "1.18")
944 (source (origin
945 (method url-fetch)
946 (uri (string-append "https://github.com/yrutschle/sslh/archive/v"
947 version ".tar.gz"))
948 (file-name (string-append name "-" version ".tar.gz"))
949 (sha256
950 (base32
951 "1vzw7a7s9lhspbn5zn3hw8hir4pkjgbd68yys4hfsnjp1h7bzjpn"))))
952 (build-system gnu-build-system)
953 (native-inputs
954 `(;; Tests dependencies.
955 ("lcov" ,lcov)
956 ("perl" ,perl)
957 ("perl-io-socket-inet6" ,perl-io-socket-inet6)
958 ("perl-socket6" ,perl-socket6)
959 ("psmisc" ,psmisc)
960 ("valgrind" ,valgrind)))
961 (inputs
962 `(("libcap" ,libcap)
963 ("libconfig" ,libconfig)
964 ("tcp-wrappers" ,tcp-wrappers)))
965 (arguments
966 '(#:phases
967 (modify-phases %standard-phases
968 (delete 'configure) ; no configure script
969 (add-before 'check 'fix-tests
970 (lambda _
971 (substitute* "./t"
972 (("\"/tmp") "$ENV{\"TMPDIR\"} . \"")
973 ;; The Guix build environment lacks ‘ip6-localhost’.
974 (("ip6-localhost") "localhost"))
975 #t))
976 ;; Many of these files are mentioned in the man page. Install them.
977 (add-after 'install 'install-documentation
978 (lambda* (#:key outputs #:allow-other-keys)
979 (let* ((out (assoc-ref outputs "out"))
980 (doc (string-append out "/share/doc/sslh")))
981 (install-file "README.md" doc)
982 (for-each
983 (lambda (file)
984 (install-file file (string-append doc "/examples")))
985 (append (find-files "." "\\.cfg")
986 (find-files "scripts"))))
987 #t)))
988 #:make-flags (list "CC=gcc"
989 "USELIBCAP=1"
990 "USELIBWRAP=1"
991 (string-append "PREFIX=" (assoc-ref %outputs "out")))
992 #:test-target "test"))
993 (home-page "http://www.rutschle.net/tech/sslh.shtml")
994 (synopsis "Applicative network protocol demultiplexer")
995 (description
996 "sslh is a network protocol demultiplexer. It acts like a switchboard,
997accepting connections from clients on one port and forwarding them to different
998servers based on the contents of the first received data packet. Detection of
999common protocols like HTTP(S), SSL, SSH, OpenVPN, tinc, and XMPP is already
1000implemented, but any other protocol that matches a regular expression can be
1001added. sslh's name comes from its original application of serving both SSH and
1002HTTPS on port 443, allowing SSH connections from inside corporate firewalls
1003that block port 22.")
1004 (license (list license:bsd-2 ; tls.[ch]
1005 license:gpl2+)))) ; everything else
b747718e
BS
1006
1007(define-public iperf
1008 (package
1009 (name "iperf")
9c974c93 1010 (version "3.1.7")
b747718e
BS
1011 (source (origin
1012 (method url-fetch)
1013 (uri (string-append "http://downloads.es.net/pub/iperf"
1014 "/iperf-" version ".tar.gz"))
1015 (sha256
1016 (base32
9c974c93 1017 "0kvk8d0a3dcxc8fisyprbn01y8akxj4sx8ld5dh508p9dx077vx4"))))
b747718e
BS
1018 (build-system gnu-build-system)
1019 (synopsis "TCP, UDP and SCTP bandwidth measurement tool")
1020 (description
1021 "iPerf is a tool to measure achievable bandwidth on IP networks. It
1022supports tuning of various parameters related to timing, buffers and
1023protocols (TCP, UDP, SCTP with IPv4 and IPv6). For each test it reports
1024the bandwidth, loss, and other parameters.")
1025 (home-page "http://software.es.net/iperf/")
1026 (license (list license:bsd-3 ; Main distribution.
1027 license:ncsa ; src/{units,iperf_locale,tcp_window_size}.c
1028 license:expat ; src/{cjson,net}.[ch]
1029 license:public-domain)))) ; src/portable_endian.h
b7f3cf2c
AI
1030
1031(define-public nethogs
1032 (package
1033 (name "nethogs")
1034 (version "0.8.5")
1035 (source (origin
1036 (method url-fetch)
1037 (uri (string-append "https://github.com/raboof/nethogs/archive/v"
1038 version ".tar.gz"))
1039 (sha256
1040 (base32
1041 "1k4x8r7s4dgcb6n2rjn28h2yyij92mwm69phncl3597cdxr954va"))
1042 (file-name (string-append name "-" version ".tar.gz"))))
1043 (build-system gnu-build-system)
1044 (inputs
1045 `(("libpcap" ,libpcap)
1046 ("ncurses" ,ncurses)))
1047 (arguments
1048 `(#:make-flags `("CC=gcc"
1049 ,(string-append "PREFIX=" %output))
1050 #:phases
1051 (modify-phases %standard-phases
1052 (delete 'configure)))) ; No ./configure script.
1053 (home-page "https://github.com/raboof/nethogs")
1054 (synopsis "Per-process bandwidth monitor")
1055 (description "NetHogs is a small 'net top' tool for Linux. Instead of
1056breaking the traffic down per protocol or per subnet, like most tools do, it
1057groups bandwidth by process.
1058
1059NetHogs does not rely on a special kernel module to be loaded. If there's
1060suddenly a lot of network traffic, you can fire up NetHogs and immediately see
1061which PID is causing this. This makes it easy to identify programs that have
1062gone wild and are suddenly taking up your bandwidth.")
1063 (license license:gpl2+)))
92ac2cff
SB
1064
1065(define-public openvswitch
1066 (package
1067 (name "openvswitch")
1068 (version "2.6.1")
1069 (source (origin
1070 (method url-fetch)
1071 (uri (string-append
1072 "http://openvswitch.org/releases/openvswitch-"
1073 version ".tar.gz"))
1074 (sha256
1075 (base32
1076 "036gq741j9kqsjlp693nff838c9wjd1c56nswl9vyyd1lsmj0yrh"))))
1077 (build-system gnu-build-system)
1078 (arguments
1079 '(;; FIXME: many tests fail with:
1080 ;; […]
1081 ;; test -e $OVS_RUNDIR/ovs-vswitchd.pid
1082 ;; ovs-appctl -t ovs-vswitchd exit
1083 ;; hard failure
1084 #:tests? #f
1085 #:configure-flags
1086 '("--enable-shared"
1087 "--localstatedir=/var"
1088 "--with-dbdir=/var/lib/openvswitch")
1089 #:phases
1090 (modify-phases %standard-phases
1091 (replace 'install
1092 (lambda _
1093 (zero? (system* "make"
1094 ;; Don't try to create directories under /var.
1095 "RUNDIR=/tmp"
1096 "PKIDIR=/tmp"
1097 "LOGDIR=/tmp"
1098 "DBDIR=/tmp"
1099 "install")))))))
1100 (native-inputs
1101 `(("perl" ,perl)
1102 ("pkg-config" ,pkg-config)
1103 ("python" ,python-2)
1104 ;; for testing
1105 ("util-linux" ,util-linux)))
1106 (propagated-inputs
1107 `(("python-six" ,python2-six)))
1108 (inputs
1109 `(("libcap-ng" ,libcap-ng)
1110 ("openssl" ,openssl)))
1111 (synopsis "Virtual network switch")
1112 (home-page "http://www.openvswitch.org/")
1113 (description
1114 "Open vSwitch is a multilayer virtual switch. It is designed to enable
1115massive network automation through programmatic extension, while still
1116supporting standard management interfaces and protocols (e.g. NetFlow, sFlow,
1117IPFIX, RSPAN, CLI, LACP, 802.1ag).")
1118 (license ; see debian/copyright for detail
1119 (list license:lgpl2.1 ; xenserver and utilities/bugtool
1120 license:gpl2 ; datapath
1121 license:bsd-2 license:bsd-3
1122 license:asl2.0)))) ; all other
38510546 1123
42c939a8
RW
1124(define-public python-ipy
1125 (package
1126 (name "python-ipy")
1127 (version "0.83")
1128 (source (origin
1129 (method url-fetch)
1130 (uri (pypi-uri "IPy" version))
1131 (sha256
1132 (base32
1133 "1f6sdrxclifky4gvkf4gvyv5hx3fjh8vzspnfrqki6qm5d9mmnk1"))))
1134 (build-system python-build-system)
1135 (home-page "https://github.com/autocracy/python-ipy/")
1136 (synopsis "Python class and tools for handling IP addresses and networks")
1137 (description "The @code{IP} class allows a comfortable parsing and
1138handling for most notations in use for IPv4 and IPv6 addresses and
1139networks.")
1140 (license license:bsd-3)))
1141
38510546
PP
1142(define-public speedtest-cli
1143 (package
1144 (name "speedtest-cli")
f930ef5c 1145 (version "1.0.6")
38510546
PP
1146 (source
1147 (origin
1148 (method url-fetch)
1149 (uri (string-append
1150 "https://github.com/sivel/speedtest-cli/archive/v" version ".tar.gz"))
1151 (file-name (string-append name "-" version ".tar.gz"))
1152 (sha256
1153 (base32
f930ef5c 1154 "1alambi1ljng6j04k7pq58jqwd0wh1q9630f17nl34ljabji5lwy"))))
38510546
PP
1155 (build-system python-build-system)
1156 (home-page "https://github.com/sivel/speedtest-cli")
1157 (synopsis "Internet bandwidth tester")
1158 (description
1159 "Command line interface for testing internet bandwidth using
1160speedtest.net.")
1161 (license license:asl2.0)))
5b5cf3c7
GB
1162
1163(define-public tftp-hpa
1164 (package
1165 (name "tftp-hpa")
1166 (version "5.2")
1167 (source (origin
1168 (method url-fetch)
1169 (uri (string-append "mirror://kernel.org/software/"
1170 "network/tftp/tftp-hpa/tftp-hpa-" version
1171 ".tar.xz"))
1172 (sha256
1173 (base32
1174 "12vidchglhyc20znq5wdsbhi9mqg90jnl7qr9qs8hbvaz4fkdvmg"))))
1175 (build-system gnu-build-system)
1176 (arguments `(#:tests? #f)) ; no test target
1177 (synopsis "HPA's tftp client")
1178 (description
1179 "This is a tftp client derived from OpenBSD tftp with some extra options
1180added and bugs fixed. The source includes readline support but it is not
1181enabled due to license conflicts between the BSD advertising clause and the GPL.")
1182 (home-page "http://git.kernel.org/cgit/network/tftp/tftp-hpa.git/about/")
1183 ;; Some source files are distributed under a 3-clause BSD license, and
1184 ;; others under a 4-clause BSD license. Refer to the files in the source
1185 ;; distribution for clarification.
1186 (license (list license:bsd-3 license:bsd-4))))