dpatch is ugly and unnecessary
[freedombox-privoxy:freedombox-privoxy.git] / README
1 # freedombox-privoxy
2 James Vasile <james@jamesvasile.com>
3
4 Released under GPLv3 or later.  Modifications to Privoxy are copyright
5 2012 James Vasile and are released under GNU General Public License,
6 version 3 or later.
7
8 One thing many people seem to agree the FreedomBox should do is web
9 filtering for privacy and ad-removal.  Toward that end, this is a first
10 draft version of a privoxy package for FreedomBox.
11
12 To use, you can do the usual
13
14      cd freedombox-privoxy
15      make
16      sudo make install
17
18 Or if you are on a Debian system:
19
20      cd freedombox-privoxy
21      sudo apt-get build-dep privoxy
22      sudo apt-get install logrotate docbook-website quilt
23      make deb
24      sudo apt-get purge privoxy # yes, this is necessary the first time
25      sudo dpkg -i Debian/*.deb
26      sudo service freedombox-privoxy restart
27
28 If you want to see what I changed, look in
29 Debian/freedombox-privacy*/debian/patches/9*.dpatch after doing the make
30 deb.  I'll get some binary packages up for x86 and Dream Plug soon.
31
32 This package differs from the standard Debian privoxy package in a few
33 key ways.
34
35  * First (and most importantly) it doesn't just listen on localhost.  The
36 plan is eventually to control access to it via iptables, so by default
37 it listens to the world.  Be careful with that if your FreedomBox is
38 reachable via public net.
39
40  * Second, I imported the https-everywhere ruleset as a privoxy action file
41 and modified the privoxy binary to handle it.
42
43  * Third, I imported the easyprivacy ruleset from Ad-Block Plus as a
44 privoxy action file.  Easyprivacy is not included in ABP and most users
45 are unaware that they can add it in.  To me, that makes it a good
46 candidate for inclusion here.
47
48  * Fourth, I *started* to pull in the easylist ruleset from ABP.  It is
49 impossible to fully duplicate easylist with a proxy because the proxy
50 lacks information the browser uses to make more nuanced decisions about
51 what to block.  Scripted import of easylist might be buggy, and this
52 needs more investigation.
53
54  * Fifth, I lowered the amount of filtering compared to the stock
55 privoxy config (see the match-all.action file for details).  I did this
56 because unlike a proxy running on your local machine, a proxy that
57 clients don't control should be a bit more careful about breaking sites.
58 I'm trying to get down to a level where we don't break anything and then
59 seeing how we build up from there.
60
61 If you are a privoxy user, please do give this package a test run and
62 report any problems to:
63
64      https://github.com/jvasile/freedombox-privoxy/issues
65
66 Further work will include writing a script to test all the
67 https-everywhere rules and discard the ones that are broken.  
68 As well as one to periodically check for new regexes.  Anybody
69 who wants to contribute to writing that is welcome to jump on in!
70
71
72 ## Dependencies
73
74 ### Privoxy
75
76 This package is based on privoxy, which is copyright (C) 2001 the
77 SourceForge Privoxy team. http://www.privoxy.org/.  Privoxy is
78 released under GNU General Public License, version 2 or later.
79
80 ### Internet Junkbuster
81
82 Privoxy is in turn based on the Internet Junkbuster originally written
83 by and copyright (C) 1997 Anonymous Coders and Junkbusters
84 Corporation.  http://www.junkbusters.com The Internet Junkbuster was
85 released under the GNU General Public License, version 2 or later.
86
87 ### https-everywhere
88
89 This package downloads https-everywhere, which is released under
90 GNU General Public License version 2 or later and has the following copyright
91 information:
92
93 Copyright © 2010 Mike Perry <mikeperry@fscked.org>
94                  Peter Eckersley <pde@eff.org>
95
96 Incorporating code from NoScript,
97 Copyright © 2004-2007 Giorgio Maone <g.maone@informaction.com>
98
99 ### git2changelog
100
101 This package downloads git2changelog, which is copyright 2012 James
102 Vasile and released under GNU General Public License version 3 or
103 later.