Privoxy

Rating: 
5
Your rating: None Average: 5 (9 votes)

Privoxy is a non-caching web proxy with advanced filtering capabilities for enhancing privacy, modifying web page data and HTTP headers, controlling access, and removing ads and other obnoxious Internet junk. Privoxy has a flexible configuration and can be customized to suit individual needs and tastes.

Current version support HTTPS-Inspection (experimentally) which allows privoxy to also filter content requested through HTTPS.

NOTE: This isn't doing anything without some additional interaction. See gitlab README.md on what and how.

Updates will preserve the config in sailfish.action and config.sailfish. If you have edited them, check after an update and merge your changes from the *.rpmnew files.

 

NEW BETA Feature:

Extensive adblocking including Element Hiding through AdBlock lists and the adblock2privoxy tool. See the README, and the -ab2p package.

Deprecation notice:

As the extra-lists package never produced very useful configurations, I will not be updating it. You can use the scripts from the old package to generate your own if you like them. But really use AB2P, it works.

Screenshots: 
Application versions: 
AttachmentSizeDate
File harbour-privoxy-3.0.28-5.armv7hl.rpm321.2 KB12/02/2020 - 22:00
File harbour-privoxy-extra-lists-2020.12.25-1.noarch.rpm876.55 KB26/12/2020 - 02:39
File harbour-privoxy-3.0.29-12.armv7hl.rpm357.16 KB27/12/2020 - 03:08
File harbour-privoxy-docs-3.0.29-12.noarch.rpm303.44 KB27/12/2020 - 03:08
File harbour-privoxy-extra-lists-2020.12.26-1.noarch.rpm700.9 KB27/12/2020 - 03:08
File harbour-privoxy-3.0.29-13.aarch64.rpm367.47 KB29/12/2020 - 00:05
File harbour-privoxy-3.0.29-13.i486.rpm372.03 KB29/12/2020 - 00:05
File harbour-privoxy-extra-lists-2021.01.06-2.noarch.rpm1.29 MB07/01/2021 - 04:40
File harbour-privoxy-httpd-1.1-2.noarch.rpm48.54 KB19/01/2021 - 22:10
File harbour-privoxy-extra-lists-ab2p-2021.01.19-1.noarch.rpm10.94 KB19/01/2021 - 22:10
File harbour-privoxy-docs-3.0.30-0.2git2ecae8.noarch.rpm335.81 KB19/01/2021 - 22:10
File harbour-privoxy-3.0.30-0.2git2ecae8.armv7hl.rpm376.75 KB19/01/2021 - 22:10
File harbour-privoxy-3.0.30-0.2git2ecae8.i486.rpm390.46 KB19/01/2021 - 22:10
File harbour-privoxy-3.0.30-0.2git2ecae8.aarch64.rpm385.2 KB19/01/2021 - 22:10
File harbour-privoxy-httpd-1.1-3.noarch.rpm71.15 KB21/01/2021 - 20:20
File harbour-privoxy-docs-3.0.30-1.3gitfa7a3c.noarch.rpm336.11 KB21/01/2021 - 20:20
File harbour-privoxy-ab2p-2021.01.21-1.noarch.rpm1.07 MB21/01/2021 - 20:20
File harbour-privoxy-3.0.30-1.3gitfa7a3c.i486.rpm392.52 KB21/01/2021 - 20:20
File harbour-privoxy-3.0.30-1.3gitfa7a3c.armv7hl.rpm378.81 KB21/01/2021 - 20:20
File harbour-privoxy-3.0.30-1.3gitfa7a3c.aarch64.rpm387.33 KB21/01/2021 - 20:20
File harbour-privoxy-tools-3.0.30-1.4gitfa7a3c.noarch.rpm51.57 KB21/01/2021 - 23:25
File harbour-privoxy-tools-3.0.30-1.5.noarch.rpm52.23 KB28/01/2021 - 21:17
File harbour-privoxy-docs-3.0.30-1.5.noarch.rpm336.78 KB28/01/2021 - 21:17
File harbour-privoxy-3.0.30-1.5.armv7hl.rpm377.95 KB28/01/2021 - 21:17
File harbour-privoxy-3.0.30-1.5.i486.rpm391.64 KB28/01/2021 - 21:17
File harbour-privoxy-3.0.30-1.5.aarch64.rpm386.63 KB28/01/2021 - 21:17
File harbour-privoxy-3.0.31-1.1.aarch64.rpm386.67 KB31/01/2021 - 22:00
File harbour-privoxy-3.0.31-1.1.armv7hl.rpm378.03 KB31/01/2021 - 22:00
File harbour-privoxy-3.0.31-1.1.i486.rpm391.88 KB31/01/2021 - 22:00
File harbour-privoxy-docs-3.0.31-1.1.noarch.rpm337.16 KB31/01/2021 - 22:00
File harbour-privoxy-tools-3.0.31-1.1.noarch.rpm52.31 KB31/01/2021 - 22:00
File harbour-privoxy-3.0.31-1.4.aarch64.rpm387.25 KB11/02/2021 - 12:00
File harbour-privoxy-3.0.31-1.4.armv7hl.rpm378.56 KB11/02/2021 - 12:00
File harbour-privoxy-3.0.31-1.4.i486.rpm392.45 KB11/02/2021 - 12:00
File harbour-privoxy-docs-3.0.31-1.4.noarch.rpm337.39 KB11/02/2021 - 12:00
File harbour-privoxy-tools-3.0.31-1.4.noarch.rpm52.5 KB11/02/2021 - 12:00
File harbour-privoxy-3.0.32-1.1.aarch64.rpm379.88 KB28/02/2021 - 12:48
File harbour-privoxy-3.0.32-1.1.armv7hl.rpm371.71 KB28/02/2021 - 12:48
File harbour-privoxy-3.0.32-1.1.i486.rpm385.69 KB28/02/2021 - 12:48
File harbour-privoxy-ab2p-2021.01.21-1.noarch.rpm1.1 MB28/02/2021 - 12:48
File harbour-privoxy-docs-3.0.32-1.1.noarch.rpm338.06 KB28/02/2021 - 12:48
File harbour-privoxy-httpd-1.1-3.noarch.rpm71.88 KB28/02/2021 - 12:48
File harbour-privoxy-tools-3.0.32-1.1.noarch.rpm53.03 KB28/02/2021 - 12:48
Changelog: 

3.0.32-1.1

  • upstream version bump
  • update and package ab2p package (untested)

 

3.0.31-1.4

  • add OMP url to whitelist
  • sync up default config file with upstream
  • depend on explicit mbedtls and brotli versions

3.0.31-1.1

  • bump version: 3.0.31-RELEASE
  • security release, fixes two issues that slipped into 3.0.30, OVE-20210130-0001.OVE-20210128-0001. 

3.0.30-1.5

  • bump version: 3.0.30-RELEASE
  • update ab2p task
  • add configuraton to not break jolla store downloads
  • tune cipher list for faster connestions
  • revamp package groups
  • add tools package

3.0.30-1.3

  • bump source version
  • fix systemd install locations
  • improve housekeeping timer and service
  • remove tmpfiles config in favour of housekeeping timer
  • add ab2p.task examples
  • add ab2p files as compressed tar file
  • rename -extra-lists-ab2p package to -ab2p
  • update README

3.0.30-0.2

  • add brotli compression support
  • use MbedTLS instead of OpenSSL
  • add some more default options to sailfish.action
  • tune config.sailfish for better(??) memory consumption
  • better systemd service
  • enable external filters
  • enable pcre extended host patterns
  • some improvememts to CSS
  • deprecate extra-lists package
  • add infrastructure for ab2p
  • add python-based httpd and systemd files for ab2p
  • update documentation

3.0.29-13

  • add arm64, i486 build

3.0.29-12

  • drop service pivileges to default user and inet group
  • some improved restart handling in service script
  • relax permissions on config files
  • fix cleanup certs tmpfiles.d config
  • extra-lists: update extra actions,
  • extra-lists: use new (...)-ish updater script
  • extra-lists: add fanboy-cookiemonster
  • extra-lists: remove ab2p scripts

3.0.28-5

  • Add Toggle Link and icon

 

Comments

rossholmes's picture

Thanks for the explanation. Yes, you are right - youtube-dl is the best current solution for this nasty situation..

rossholmes's picture

Since the v4 update the native Browser is quite usable. When trying to watch youtube screen gets stuck on the Ads, looks like privoxy trying to block them which is great, however it doesnt allow me to proceed to video itself. Have you got any advice for that?

nephros's picture

Yeah, I have noticed that myself.

I have tried various things to unblock YT but haven't succeeded yet.

A general strategy for nonworking sites is to:

  1. Use the web interface to  "See which rules apply and why"
  2. enable logging for blocked requests
  3. view the log
  4. Add rules to the `user.action` file which unbreak the site, something like this:
### unblock youtube
{\
-filter{FILTERNAME1} \
-filter{FILTERNAME2} \
-filter{FILTERNAME3} \
}
YOUTUBE-URL-PATTERN1
YOUTUBE-URL-PATTERN2

Of course FILTERNAME and YOUTUBE-URL-PATTERN in this example must be replaced by whatever you got from the analysis steps above.

Example to start out with:

{\
-block -filter \
-filter{google} \
}
.youtube.*
m.youtube.com/api/stats/qoe?event=streamingstats*
googlevideo.com
.googlevideo.com

I have found it hard to impossible to both use youtube, AND block anything Google.
Personally I chose to block Google and not use Youtube in the Browser, and go with youtube-dl instead.

nephros's picture

Another workaround, not a solution, is redirecting YT links to invidious. I think this is what some Android apps and Browser extensions do as well.

You can look at the scripts here for more inspiration:

https://github.com/SimonBrazell/privacy-redirect/tree/master/src/assets/...

So, for YT specifically:

  1. EIther host your own invidious instance, or select a public one from the list at https://docs.invidious.io/Invidious-Instances.md
  2. Define an alias for redirection, note that you have to replace your.invidious.server with a valid name:
    youtube-redirect = \
      +redirect{s@^(http|https)://[^/]*/watch\?(.*)@$1://your.invidious.server/watch\?$2\&thin_mode=true\&quality=medium\&dark_mode=true\&quality=medium\&dark_mode=true\&controls=1@} \
      -hide-referrer
    
  3. And then use that alias in a rule:
    {youtube-redirect}
    *.youtube.com/watch
    *.youtube.*/watch
    m.youtube.com
    youtube.com
    img.youtube.com
    www.youtube.com
    youtu.be
    s.ytimg.com
    music.youtube.com
    

This does not work if you click a link from e.g. a list of search results on YT, but it works if you ”open in new tab”.

nephros's picture

Of course, the pragmatic solution to the problem would be to disable privoxy through the web interface for watching videos, and enabling it again after ;)

nephros's picture

Usually no, you don't need to do anything as long as it's running on 127.0.0.1/loopback and not some other interface.
Slow loading pages can have several reasons, most unrelated to privoxy. My blind guess no. 1 would be DNS, followed by perhaps a transparent proxy used by your cell provider, or maybe IPv6 things. Very wild guesses all.
The easiest way to blame/unblame privoxy is to disable it from the web interface. if page loading gets faster, it's something in the config/rules. If not, the problem is somewhere else.
For debugging you can look at enabling debug options 2 and 4, or even 16 and the log file.

That being said, certain blocking rules *can* make page loading slow, but that should appear independently of your network connection. Unless of course your wifi uplink is wayyy faster than mobile.

rossholmes's picture

Thanks, my problem is not related to Privoxy I can confirm. I am able to replicate the same issue with Privoxy disabled. Appreciate all the hints above - at least I know now how to troubleshoot

rossholmes's picture

I just realised that my Browser wouldn't load any pages when I am on mobile data with Privoxy enabled. Do I need to adjust something when disconnecting from WiFi and connecting to mobile data? When WiFi on Browser works as expected.

Edit: there is internet when running on mobile data, but the Browser loading the pages very slow - not fully sure if its connected to Privoxy at all...

rossholmes's picture

Nice one, thanks! I've copied all uncompressed files from extra/ab2p/ab2p.tar
xz github folder to relevant folder /usr/share/harbour-privoxy/files/extra/ab2p... And I'm trying to add the action and filter entries to config file, but I got stuck as I have two of it: 1called config and other is called config.sailfish. Which one do I need to edit, please? Cheers

Edit: uncommented the ab2p entries at sailfish.config but the privoxy service stopped operating. I must do something very wrong

nephros's picture

Ok, I checked both the tar in master on gihub and the one in harbour-privoxy-ab2p-2021.01.21-1.noarch.rpm (which should be the same), and the contents are error-free.

It must be something else, probably a typo or something in the config.

rossholmes's picture

Thanks for the support. I might have found the cause of my problem. It's my noobish knowledge of unix systems. I didn't decompressed the tar file thoroughly.

nephros's picture

Hi,

Yes, config.sailfish is the correct one.

If the service stops and doesn't come up again, there is something wrong in the config files. Probably an illegal entry in the ab2p files, or in  the config.sailfish file. Did you enable the "filterfile" directives as well?

Please run:

/usr/sbin/harbour-privoxy --config-test --no-daemon /usr/share/harbour-privoxy/conf/config.sailfish

Which will tell you where it fails.

OR, enable the  'logfile' option in config.sailfish and check /var/log/harbour-privoxy/logfile.

 

Note that privoxy watches all its files and will reload them whenever they change. So don't save incompletely edited files!

rossholmes's picture

Works as a charm. Guidance war clear and helpful. Thanks!!

nephros's picture

You're welcome and thanks for the feedback. I just uploaded 3.0.30 which has several improvements (I think), most importantly possibility to use converted AdBlock lists through ab2b which works much better than the previous converter script. But you have to make the files yourself.

I have updated the docs on how.

flanker's picture

Sorry for silly question, I don't mean it offending. What is good for to run proxy server on ordinary cell phone?

nephros's picture

See the links for more information.
But basically, this is not a caching proxy but a filtering one. This means you can add all kinds of rules which can block or alter whatever web content is requested through the proxy.
On a phone this can be beneficial as it may save bandwidth, improve browsing performance and of course improve privacy. There are no guarantees for this though, it may also have the reverse effect depending on what you do with it.

Bocephus's picture

It's literally right there in the description.

Stezkoy's picture

Nice app, thanks for the update!
Through the application, I did not see that 2 files!
 

nephros's picture

Yeah sorry I thought I could split them up, turns out the templates are needed. The -2 version should work okay now.

Also I'm learning how openrepos does things, did not know that you need a seperate application for different RPMs to be made available.

Bocephus's picture

Good job! I always ran Privoxy on the N900. Sailfish is so far behind that 10+ year old device in so many ways...