Skip to content
FreedomBox version of Privoxy
C Shell Python
Find file
Pull request Compare This branch is 16 commits ahead of jvasile:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


# freedombox-privoxy
James Vasile <>

Released under GPLv3 or later.  Modifications to Privoxy are copyright
2012 James Vasile and are released under GNU General Public License,
version 3 or later.

One thing many people seem to agree the FreedomBox should do is web
filtering for privacy and ad-removal.  Toward that end, this is a first
draft version of a privoxy package for FreedomBox.

To use:

If you are on a Debian system:
("wheezy" release)

     cd freedombox-privoxy
     sudo apt-get build-dep privoxy
     sudo apt-get install logrotate docbook-website quilt python-beautifulsoup python-lxml devscripts
     make deb
     sudo apt-get purge privoxy # yes, this is necessary the first time
     sudo dpkg -i Debian/*.deb
     sudo service freedombox-privoxy restart

Or, you can do the usual
(after installing library dependencies)

     cd freedombox-privoxy
     sudo make install

If you want to see what I changed, look in
Debian/freedombox-privacy*/debian/patches/9*.dpatch after doing the make
deb.  I'll get some binary packages up for x86 and Dream Plug soon.

This package differs from the standard Debian privoxy package in a few
key ways.

 * First (and most importantly) it doesn't just listen on localhost.  The
plan is eventually to control access to it via iptables, so by default
it listens to the world.  Be careful with that if your FreedomBox is
reachable via public net.

 * Second, I imported the https-everywhere ruleset as a privoxy action file
and modified the privoxy binary to handle it.

 * Third, I imported the easyprivacy ruleset from Ad-Block Plus as a
privoxy action file.  Easyprivacy is not included in ABP and most users
are unaware that they can add it in.  To me, that makes it a good
candidate for inclusion here.

 * Fourth, I *started* to pull in the easylist ruleset from ABP.  It is
impossible to fully duplicate easylist with a proxy because the proxy
lacks information the browser uses to make more nuanced decisions about
what to block.  Scripted import of easylist might be buggy, and this
needs more investigation.

 * Fifth, I lowered the amount of filtering compared to the stock
privoxy config (see the match-all.action file for details).  I did this
because unlike a proxy running on your local machine, a proxy that
clients don't control should be a bit more careful about breaking sites.
I'm trying to get down to a level where we don't break anything and then
seeing how we build up from there.

If you are a privoxy user, please do give this package a test run and
report any problems to:

Further work will include writing a script to test all the
https-everywhere rules and discard the ones that are broken.
As well as one to periodically check for new regexes.  Anybody
who wants to contribute to writing that is welcome to jump on in!

## Dependencies

### Privoxy

This package is based on privoxy, which is copyright (C) 2001 the
SourceForge Privoxy team.  Privoxy is
released under GNU General Public License, version 2 or later.

### Internet Junkbuster

Privoxy is in turn based on the Internet Junkbuster originally written
by and copyright (C) 1997 Anonymous Coders and Junkbusters
Corporation. The Internet Junkbuster was
released under the GNU General Public License, version 2 or later.

### https-everywhere

This package downloads https-everywhere, which is released under
GNU General Public License version 2 or later and has the following copyright

Copyright © 2010 Mike Perry <>
                 Peter Eckersley <>

Incorporating code from NoScript,
Copyright © 2004-2007 Giorgio Maone <>

### git2changelog

This package downloads git2changelog, which is copyright 2012 James
Vasile and released under GNU General Public License version 3 or

### URL Compare

Using the URL Compare tests requires GNU Parallel and Lynx.
Something went wrong with that request. Please try again.