gnu: upower: Enable GObject introspection.
[jackhill/guix/guix.git] / gnu / packages / tor.scm
CommitLineData
7f08437b 1;;; GNU Guix --- Functional package management for GNU
9355498d 2;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
722ec722 3;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
7f08437b
LC
4;;;
5;;; This file is part of GNU Guix.
6;;;
7;;; GNU Guix is free software; you can redistribute it and/or modify it
8;;; under the terms of the GNU General Public License as published by
9;;; the Free Software Foundation; either version 3 of the License, or (at
10;;; your option) any later version.
11;;;
12;;; GNU Guix is distributed in the hope that it will be useful, but
13;;; WITHOUT ANY WARRANTY; without even the implied warranty of
14;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15;;; GNU General Public License for more details.
16;;;
17;;; You should have received a copy of the GNU General Public License
18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
19
20(define-module (gnu packages tor)
ba583bd2 21 #:use-module ((guix licenses) #:select (bsd-3 gpl2+ gpl2))
7f08437b
LC
22 #:use-module (guix packages)
23 #:use-module (guix download)
ba583bd2 24 #:use-module (guix git-download)
7f08437b 25 #:use-module (guix build-system gnu)
ba583bd2 26 #:use-module (gnu packages)
7f08437b
LC
27 #:use-module (gnu packages libevent)
28 #:use-module (gnu packages compression)
b2e3dd94 29 #:use-module (gnu packages pcre)
ba583bd2 30 #:use-module (gnu packages perl)
8850303e 31 #:use-module (gnu packages python)
b2e3dd94 32 #:use-module (gnu packages autotools)
cc2b77df 33 #:use-module (gnu packages tls)
b2e3dd94 34 #:use-module (gnu packages w3m))
7f08437b
LC
35
36(define-public tor
37 (package
38 (name "tor")
6bb5c4ef 39 (version "0.2.6.10")
7f08437b
LC
40 (source (origin
41 (method url-fetch)
42 (uri (string-append "https://www.torproject.org/dist/tor-"
43 version ".tar.gz"))
44 (sha256
45 (base32
6bb5c4ef 46 "13ab4bqz19980q4qgmbr7ar4r9y70bmsfbw66y9n31ivwkpw0hh5"))))
7f08437b 47 (build-system gnu-build-system)
8850303e
MW
48 (native-inputs
49 `(("python" ,python-2))) ; for tests
7f08437b
LC
50 (inputs
51 `(("zlib" ,zlib)
52 ("openssl" ,openssl)
53 ("libevent" ,libevent)))
4f7e152b
LC
54
55 ;; TODO: Recommend `torsocks' since `torify' needs it.
56
7f08437b 57 (home-page "http://www.torproject.org/")
9e771e3b 58 (synopsis "Anonymous network router to improve privacy on the Internet")
7f08437b
LC
59 (description
60 "Tor protects you by bouncing your communications around a distributed
61network of relays run by volunteers all around the world: it prevents
62somebody watching your Internet connection from learning what sites you
63visit, and it prevents the sites you visit from learning your physical
35b9e423 64location. Tor works with many of your existing applications, including
7f08437b
LC
65web browsers, instant messaging clients, remote login, and other
66applications based on the TCP protocol.")
67 (license bsd-3)))
4f7e152b
LC
68
69(define-public torsocks
70 (package
71 (name "torsocks")
ba583bd2 72 (version "2.0.0")
4f7e152b 73 (source (origin
ba583bd2
LC
74 (method git-fetch)
75 (uri (git-reference
76 (url "https://git.torproject.org/torsocks.git")
77 (commit (string-append "v" version))))
78 (sha256
79 (base32
80 "0an2q5ail9z414riyjbkjkm29504hy778j914baz2gn5hlv2cfak"))
81 (file-name (string-append name "-" version "-checkout"))
82 (patches (list (search-patch "torsocks-dns-test.patch")))))
4f7e152b 83 (build-system gnu-build-system)
ba583bd2
LC
84 (arguments
85 '(#:phases (modify-phases %standard-phases
86 (add-before 'configure 'bootstrap
87 (lambda _
88 (system* "autoreconf" "-vfi"))))))
89 (native-inputs `(("autoconf" ,(autoconf-wrapper))
90 ("automake" ,automake)
91 ("libtool" ,libtool)
92 ("perl-test-harness" ,perl-test-harness)))
93 (home-page "http://www.torproject.org/")
4f7e152b
LC
94 (synopsis "Use socks-friendly applications with Tor")
95 (description
96 "Torsocks allows you to use most socks-friendly applications in a safe
97way with Tor. It ensures that DNS requests are handled safely and explicitly
98rejects UDP traffic from the application you're using.")
ba583bd2
LC
99
100 ;; All the files explicitly say "version 2 only".
101 (license gpl2)))
b2e3dd94
LC
102
103(define-public privoxy
104 (package
105 (name "privoxy")
106 (version "3.0.21")
107 (source (origin
108 (method url-fetch)
109 (uri (string-append "mirror://sourceforge/ijbswa/Sources/"
110 version "%20%28stable%29/privoxy-"
111 version "-stable-src.tar.gz"))
112 (sha256
113 (base32
114 "1f6xb7aa47p90c26vqaw74y6drs9gpnhxsgby3mx0awdjh0ydisy"))))
115 (build-system gnu-build-system)
116 (arguments
ae5c6fca
LC
117 '(;; The default 'sysconfdir' is $out/etc; change that to
118 ;; $out/etc/privoxy.
119 #:configure-flags (list (string-append "--sysconfdir="
120 (assoc-ref %outputs "out")
121 "/etc/privoxy"))
722ec722
MW
122 #:phases (alist-cons-after
123 'unpack 'autoconf
b2e3dd94
LC
124 (lambda _
125 ;; Unfortunately, this is not a tarball produced by
126 ;; "make dist".
127 (zero? (system* "autoreconf" "-vfi")))
128 %standard-phases)
129 #:tests? #f))
130 (inputs
131 `(("w3m" ,w3m)
132 ("pcre" ,pcre)
133 ("zlib" ,zlib)
134 ("autoconf" ,autoconf)
135 ("automake" ,automake)))
136 (home-page "http://www.privoxy.org")
137 (synopsis "Web proxy with advanced filtering capabilities for enhancing privacy")
138 (description
139 "Privoxy is a non-caching web proxy with advanced filtering capabilities
140for enhancing privacy, modifying web page data and HTTP headers, controlling
141access, and removing ads and other obnoxious Internet junk. Privoxy has a
142flexible configuration and can be customized to suit individual needs and
143tastes. It has application for both stand-alone systems and multi-user
144networks.")
145 (license gpl2+)))