gnu: Add dfc.
[jackhill/guix/guix.git] / gnu / packages / tor.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
3 ;;;
4 ;;; This file is part of GNU Guix.
5 ;;;
6 ;;; GNU Guix is free software; you can redistribute it and/or modify it
7 ;;; under the terms of the GNU General Public License as published by
8 ;;; the Free Software Foundation; either version 3 of the License, or (at
9 ;;; your option) any later version.
10 ;;;
11 ;;; GNU Guix is distributed in the hope that it will be useful, but
12 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
13 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 ;;; GNU General Public License for more details.
15 ;;;
16 ;;; You should have received a copy of the GNU General Public License
17 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
18
19 (define-module (gnu packages tor)
20 #:use-module ((guix licenses) #:select (bsd-3 gpl2+))
21 #:use-module (guix packages)
22 #:use-module (guix download)
23 #:use-module (guix build-system gnu)
24 #:use-module (gnu packages libevent)
25 #:use-module (gnu packages compression)
26 #:use-module (gnu packages openssl)
27 #:use-module (gnu packages pcre)
28 #:use-module (gnu packages autotools)
29 #:use-module (gnu packages w3m))
30
31 (define-public tor
32 (package
33 (name "tor")
34 (version "0.2.3.25")
35 (source (origin
36 (method url-fetch)
37 (uri (string-append "https://www.torproject.org/dist/tor-"
38 version ".tar.gz"))
39 (sha256
40 (base32
41 "183n667zgmp37brxl4qna1ciw6dz8d0ihd3fgv9i2gpk6q8nybdv"))))
42 (build-system gnu-build-system)
43 (inputs
44 `(("zlib" ,zlib)
45 ("openssl" ,openssl)
46 ("libevent" ,libevent)))
47
48 ;; TODO: Recommend `torsocks' since `torify' needs it.
49
50 (home-page "http://www.torproject.org/")
51 (synopsis "An anonymous network router to improve privacy on the Internet")
52 (description
53 "Tor protects you by bouncing your communications around a distributed
54 network of relays run by volunteers all around the world: it prevents
55 somebody watching your Internet connection from learning what sites you
56 visit, and it prevents the sites you visit from learning your physical
57 location. Tor works with many of your existing applications, including
58 web browsers, instant messaging clients, remote login, and other
59 applications based on the TCP protocol.")
60 (license bsd-3)))
61
62 (define-public torsocks
63 (package
64 (name "torsocks")
65 (version "1.2")
66 (source (origin
67 (method url-fetch)
68 (uri (string-append "http://torsocks.googlecode.com/files/torsocks-"
69 version ".tar.gz"))
70 (sha256
71 (base32
72 "1m0is5q24sf7jjlkl0icfkdc0m53nbkg0q72s57p48yp4hv7v9dy"))))
73 (build-system gnu-build-system)
74 (home-page "http://code.google.com/p/torsocks/")
75 (synopsis "Use socks-friendly applications with Tor")
76 (description
77 "Torsocks allows you to use most socks-friendly applications in a safe
78 way with Tor. It ensures that DNS requests are handled safely and explicitly
79 rejects UDP traffic from the application you're using.")
80 (license gpl2+)))
81
82 (define-public privoxy
83 (package
84 (name "privoxy")
85 (version "3.0.21")
86 (source (origin
87 (method url-fetch)
88 (uri (string-append "mirror://sourceforge/ijbswa/Sources/"
89 version "%20%28stable%29/privoxy-"
90 version "-stable-src.tar.gz"))
91 (sha256
92 (base32
93 "1f6xb7aa47p90c26vqaw74y6drs9gpnhxsgby3mx0awdjh0ydisy"))))
94 (build-system gnu-build-system)
95 (arguments
96 '(#:phases (alist-cons-before
97 'configure 'autoconf
98 (lambda _
99 ;; Unfortunately, this is not a tarball produced by
100 ;; "make dist".
101 (zero? (system* "autoreconf" "-vfi")))
102 %standard-phases)
103 #:tests? #f))
104 (inputs
105 `(("w3m" ,w3m)
106 ("pcre" ,pcre)
107 ("zlib" ,zlib)
108 ("autoconf" ,autoconf)
109 ("automake" ,automake)))
110 (home-page "http://www.privoxy.org")
111 (synopsis "Web proxy with advanced filtering capabilities for enhancing privacy")
112 (description
113 "Privoxy is a non-caching web proxy with advanced filtering capabilities
114 for enhancing privacy, modifying web page data and HTTP headers, controlling
115 access, and removing ads and other obnoxious Internet junk. Privoxy has a
116 flexible configuration and can be customized to suit individual needs and
117 tastes. It has application for both stand-alone systems and multi-user
118 networks.")
119 (license gpl2+)))