Giter Site home page Giter Site logo

barre / privaxy Goto Github PK

View Code? Open in Web Editor NEW
2.3K 27.0 92.0 10.75 MB

Privaxy is the next generation tracker and advertisement blocker. It blocks ads and trackers by MITMing HTTP(s) traffic.

License: GNU Affero General Public License v3.0

Python 9.90% HTML 10.44% Rust 78.69% CSS 0.87% JavaScript 0.10%
adblock adblocking http-proxy mitm proxy servers adblocker ad-blocker blocker blocker-proxy

privaxy's Introduction

Privaxy

Next generation tracker and advertisement blocker

dashboard requests filters exclusions custom_fiters taskbar

About

Privaxy is a MITM HTTP(s) proxy that sits in between HTTP(s) talking applications, such as a web browser and HTTP servers, such as those serving websites.

By establishing a two-way tunnel between both ends, Privaxy is able to block network requests based on URL patterns and to inject scripts as well as styles into HTML documents.

Operating at a lower level, Privaxy is both more efficient as well as more streamlined than browser add-on-based blockers. A single instance of Privaxy on a small virtual machine, server or even, on the same computer as the traffic is originating from, can filter thousands of requests per second while requiring a very small amount of memory.

Privaxy is not limited by the browser’s APIs and can operate with any HTTP traffic, not only the traffic flowing from web browsers.

Privaxy is also way more capable than DNS-based blockers as it is able to operate directly on URLs and to inject resources into web pages.

Features

  • Suppport for Adblock Plus filters, such as easylist.
  • Web graphical user interface with a statistics display as well as a live request explorer.
  • Support for uBlock origin's js syntax.
  • Support for uBlock origin's redirect syntax.
  • Support for uBlock origin's scriptlets.
  • Browser and HTTP client agnostic.
  • Support for custom filters.
  • Support for excluding hosts from the MITM pipeline.
  • Support for protocol upgrades, such as with websockets.
  • Automatic filter lists updates.
  • Very low resource usage.
    • Around 50MB of memory with approximately 320 000 filters enabled.
    • Able to filter thousands of requests per second on a small machine.

Installation

Using a pre-built binary

Pre-built binaries for major operating systems and platforms are provided at github releases.

Local system configuration

  1. Go to the GUI, click on "Save CA certificate".
  2. Install the downloaded certificate locally.
  3. Configure your local system to pass http traffic through privaxy which listens on localhost:8100.

privaxy's People

Contributors

barre avatar mintss-zez0 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

privaxy's Issues

Initial release

  • Write proper documentation.
  • Keep only the most recent requests in the "Requests" pane of the gui.
  • Serve the gui from the server instead of from trunk.

Privaxy only binds to 127.0.0.1

I know this is currently on purpose, however, many of us would like to use this in our home environments. I've built a docker container with privaxy, but it doesn't work correctly with your restriction. Please remove this restriction.

Static musl libc for x86_64 linux

Hi,
Thank you for your work.
It would be great if you could consider release of privaxy built with static musl libc for the x86_64 linux target. I mean for nogui version:)
Thanks,

How would one go about using privaxy for tvOS?

I'm not sure if this is the right place to ask the following question. I would like to use privaxy on my Raspberry Pi as a replacement for Pi-Hole, and somehow redirect network traffic from Apple TV though privaxy. I realise Pi-Hole only handles DNS traffic. So somehow i also need to configure Apple TV to connect to a proxy server. Is this even realistic?

Local Proxy Messing Up Other Connections

When setting up Privaxy one of the requirements is to set the proxy on your machine to 127.0.0.1, but whenever I do this on Windows 10 it breaks EVERY other app besides my browser. So every other application that requires internet connection seem to stop working while my browser stays working. The issue is fixed when I disable the 127.0.0.1 proxy on my machine, but Privaxy stops working. Is there any way I could fix that?

I also tested it with Edge and that wasn't working either. So my main browser was the only thing working basically.

Edit: I just found out that on Windows 10 proxy settings, there's a check box that says "Don't use the proxy server for local (intranet) addresses", ticking this check box makes everything work again but breaks Privaxy.

Moderate-high RAM usage, internet throttling (Windows)

Taskmgr_LLUzegQh0l

Not sure if I'm doing something wrong, or if by default it uses many more filters than in the tests, but Privaxy uses around 100mb by default on Windows ( (I realise RAM usage will increase with number of filters used) and internet browsing feels slow. Is there a way to run it silently without the console window? I found out how to run Privaxy on Windows without a console window, using an old method.

chrome_lyJg10BTR0

Internet Speed Test:

Same speed with and without Privaxy, but there is a noticeable delay of a second or two when loading pages while Privaxy is running, while the same pages load instantly without Privaxy.
Speedtest_vCW9kVG8tN

Maybe HDD throttling? Not sure what the limiting factor is.

"Object.fromEntries is not a function" when executing step 4

When trying step 4 of the project homepage ("Using the Rust toolchain") I get the following error:

npx: installed 60 in 4.011s
Object.fromEntries is not a function
2022-05-23T14:38:40.843197Z ERROR ❌ error
error from HTML pipeline

Caused by:
hook call to sh returned a bad status
Error: error from HTML pipeline

Any suggestion were I can look for this function call? I cannot find any file which contains this. I'm using:
rustup 1.24.3
cargo 1.61.0
trunk 0.15.0
Ubuntu 20.04.4 LTS

Universal?

Since when is your definition of "universal" in Privacy_universal.app.tar.gz, MacOs?

wildcards don't seem to work in the exclusions list

I've tried both *.dropbox.com and just dropbox.com, and in both cases subdomains continue to generate TLS handshake errors in the log. Adding each offending subdomain fixes it.

I also noticed that the UI says that domains that have handshake failures will be automatically added to the exclusion list, but that doesn't seem to be happening in my case.

Context: MacOS, pre-built binary

Windows pre-built installation fails midway

Hello and thank you for developing such a wonderful application.

I tried to install Privaxy on my computer, but after the PowerShell window appears during the installation, a dialog box appeared, saying

There is a problem with this Windows Installer package. A program run as part of the setup did not finish as expected. Contact your support personnel or package vendor.

After pressing OK, the installer says

Privaxy Setup Wizard ended prematurely because of an error. Your system has not been modified. [...]

OS version: Windows 7 Professional SP1 (64 bit)
Privaxy version: 0.5.2 (from Github releases)

I am willing to provide more details to resolve this issue. Thanks.

Firewall function

are any plans for firewall integration in privaxy???
it would very improve the power of the program!

Error compiling web_frontend

I tried following the instruction but I ended up getting the below.

~/src/privaxy$ cd web_frontend && trunk build --release && cd ..
2022-06-04T15:37:07.156633Z INFO 📦 starting build
2022-06-04T15:37:07.157325Z INFO spawning asset pipelines
2022-06-04T15:37:07.157372Z INFO spawned hook sh command_arguments=["-c", "npx tailwindcss build -i src/tailwind.css -o $TRUNK_STAGING_DIR/tailwind.css"]
2022-06-04T15:37:07.157410Z INFO spawning hook stage=PreBuild command=sh
npx: installed 60 in 4.694s
Object.fromEntries is not a function
2022-06-04T15:37:13.041231Z ERROR ❌ error
error from HTML pipeline

Caused by:
hook call to sh returned a bad status
Error: error from HTML pipeline

Caused by:
hook call to sh returned a bad status
===============================

Any idea on what could be the reason?

Thanks!

Docker Support

Having a Docker container for this would make it easy to setup locally using unRAID, Portainer, or similar software. It looks like #13 is currently blocking this for now though.

Cloudflare responds with 400 Bad Request

Hello,

Thank you very much for sharing your excellent work.

Cloudflare responds to Websocket connections with a 400 (Bad Request) status code.

Example: https://agar.io

This doesn't happen when connecting to non-Cloudflare-protected Websocket services.

Do you know why this is happening? I have noticed this with other proxy implementations as well and was hoping Privaxy would be different.

I am looking forward to your response.

Thanks in advance.

Feature request: parent proxy and portable mode

Thanks for the great software!
Privaxy is almost perfect, but it missed two things:
Firstly - it can't work in a proxy chain, so I need to choose between Privaxy and other proxies. For proxy chaining there is should be an option for disable MitM-mode - it's not always necessary. Theoretically, proxy chaining can help with hiding Privaxy behind reverse-proxy and transparent proxying.
Secondly - config path shouldn't be hard-coded.

Help with configuration

Hello, I am a newbie. Tell me how to configure the program. I will check its functionality and it does not want to work. Or did I configure something wrong? My system is Windows 11

Windows Usage Instructions

To be added to here:

1. Navigate to the web gui at `http://127.0.0.1:8000`, click on "Download CA certificate".
2. Install the downloaded certificate locally.
  - MacOS: https://support.apple.com/guide/keychain-access/add-certificates-to-a-keychain-kyca2431/mac
  - Linux: `cp privaxy_ca_certificate.pem /usr/local/share/ca-certificates/`
  - Windows CLI: Open an Admin Command Prompt, then run `certutil –addstore –f "Root" privaxy_ca_certificate.pem` ([Source](https://superuser.com/questions/1031444/importing-pem-certificates-on-windows-7-on-the-command-line))
  - Windows GUI: `Control Panel` >> `Network and Sharing Center` >> `Internet Options` (link, bottom left) >> `Content` tab >> `Certificates` button >> `Trusted Root Certification Authorities` tab >> `Import` button >> `Next`, `Browse` to the `privaxy_ca_certificate.pem`, `Next`, `Finish`. **Done**, you can close it all.
3. Configure your local system to pass http traffic through privaxy.
  - MacOS: https://support.apple.com/guide/mac-help/change-proxy-settings-network-preferences-mac-mchlp2591/mac
  - Ubuntu (gnome): https://phoenixnap.com/kb/ubuntu-proxy-settings
  - Windows 10: `Settings` >> `Network & Internet` >> `Proxy` >> `Manual Proxy Setup` (Enable `Use a proxy` toggle, Address: `127.0.0.1`, Port: `8100`
  - Windows 7: `Control Panel` >> `Network and Sharing Center` >> `Internet Options` (link, bottom left) >> `Connections` tab >> `LAN Settings` button >> [ x ] Use a proxy server for your LAN, Address: `127.0.0.1`, Port: `8100`

I'll open a pull request

How to use proxy Exclusions

Hi
I want to exclude complete domains (incl. all subdomains) from the proxy and bypass the MITM functionality.
If I use the full domain incl. subdomain, this feature is working and the certificate will stay unchanged.
e.g.
Privaxy Exclusions: www.ubs.com
URL: www.ubs.com -> cert original

But exclude all possible subdomains from ubs.com did not work:
Privaxy Exclusions: ubs.com
URL: www.ubs.com -> privaxy cert
URL: ebanking-de2.ubs.com -> privaxy cert

How can I exclude full domains and set them as transparent? Which syntax is needed?
Thanks for advice

Debian 11 Bullseye (Stable) still uses Glibc version 2.31

deb
privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.32' not found (required by privaxy) privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.34' not found (required by privaxy)
privaxy: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by privaxy)


AppImage
privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.32' not found (required by privaxy) privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.34' not found (required by privaxy)
privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.33' not found (required by privaxy) privaxy: /lib/x86_64-linux-gnu/libm.so.6: version GLIBC_2.35' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libwebkit2gtk-4.0.so.37)
privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.32' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libwebkit2gtk-4.0.so.37) privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.34' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libwebkit2gtk-4.0.so.37)
privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.33' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libwebkit2gtk-4.0.so.37) privaxy: /lib/x86_64-linux-gnu/libstdc++.so.6: version GLIBCXX_3.4.29' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libwebkit2gtk-4.0.so.37)
privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.33' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libgtk-3.so.0) privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.34' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libgdk-3.so.0)
privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.34' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libcairo.so.2) privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.33' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libgio-2.0.so.0)
privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.34' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libgio-2.0.so.0) privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.33' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libjavascriptcoregtk-4.0.so.18)
privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.34' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libjavascriptcoregtk-4.0.so.18) privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.32' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libjavascriptcoregtk-4.0.so.18)
privaxy: /lib/x86_64-linux-gnu/libstdc++.so.6: version GLIBCXX_3.4.30' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libjavascriptcoregtk-4.0.so.18) privaxy: /lib/x86_64-linux-gnu/libstdc++.so.6: version GLIBCXX_3.4.29' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libjavascriptcoregtk-4.0.so.18)
privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.33' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libglib-2.0.so.0) privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.32' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libglib-2.0.so.0)
privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.34' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libglib-2.0.so.0) privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.33' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libdbus-1.so.3)
privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.34' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libdbus-1.so.3) privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.33' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libicuuc.so.70)
privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.34' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libicuuc.so.70) privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.33' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libsystemd.so.0)
privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.32' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libsystemd.so.0) privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.34' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libsystemd.so.0)
privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.33' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libxml2.so.2) privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.34' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libxml2.so.2)
privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.33' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libsqlite3.so.0) privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.34' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libsqlite3.so.0)
privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.33' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libxslt.so.1) privaxy: /lib/x86_64-linux-gnu/libstdc++.so.6: version GLIBCXX_3.4.29' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libwoff2dec.so.1.0.2)
privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.33' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libgcrypt.so.20) privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.34' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libgstreamer-1.0.so.0)
privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.33' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libgstreamer-1.0.so.0) privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.33' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libgstpbutils-1.0.so.0)
privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.34' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libopenjp2.so.7) privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.34' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libwebp.so.7)
privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.33' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libenchant-2.so.2) privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.34' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libgmodule-2.0.so.0)
privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.33' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libwayland-server.so.0) privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.34' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libwayland-server.so.0)
privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.34' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libepoxy.so.0) privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.33' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libxkbcommon.so.0)
privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.33' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libmount.so.1) privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.34' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libmount.so.1)
privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.33' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libselinux.so.1) privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.34' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libselinux.so.1)
privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.32' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/liblzma.so.5) privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.34' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/liblzma.so.5)
privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.33' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libcap.so.2) privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.33' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libunwind.so.8)
privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.34' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libunwind.so.8) privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.33' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libdw.so.1)
privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.34' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libdw.so.1) privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.33' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libgudev-1.0.so.0)
privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.33' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libpsl.so.5) privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.33' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libgssapi_krb5.so.2)
privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.33' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libevdev.so.2) privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.33' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libXau.so.6)
privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.33' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libblkid.so.1) privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.33' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libelf.so.1)
privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.34' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libudev.so.1) privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.33' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libudev.so.1)
privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.32' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libunistring.so.2) privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.34' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libunistring.so.2)
privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.33' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libkrb5.so.3) privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.34' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libkrb5.so.3)
privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.33' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libk5crypto.so.3) privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.33' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libkrb5support.so.0)
privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.34' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libkrb5support.so.0) privaxy: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.33' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libbsd.so.0)
privaxy: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /tmp/.mount_privax4xcRWU/usr/lib/libmd.so.0)


OS: Debian 11 Bullseye

Error compiling web_frontend ( arm64 )

I have same issue like #18 but on arm64, nodejs already upgrade (18.9).
warning: web_frontend (bin "web_frontend") generated 2 warnings
Finished release [optimized] target(s) in 1m 17s
2022-09-23T18:03:21.417497Z INFO fetching cargo artifacts
2022-09-23T18:03:21.541404Z INFO processing WASM for web_frontend
2022-09-23T18:03:21.546225Z INFO calling wasm-bindgen for web_frontend
2022-09-23T18:03:21.549376Z ERROR ❌ error
error from HTML pipeline

Caused by:
0: error from asset pipeline
1: error spawning wasm-bindgen call
2: Exec format error (os error 8)
Error: error from HTML pipeline

Caused by:
0: error from asset pipeline
1: error spawning wasm-bindgen call
2: Exec format error (os error 8)

Thanks!

Certificate Not Working on Android Device

Hi @Barre

I have been able to run privaxy from source locally on my Mac
and made it available(changing let ip = [0, 0, 0, 0] ) on my home network and connected a android device using proxy on wifi
but the certificate is causing an issue even though I installed certificate on my android device.
it shows following error

Your Connection is not private

NET:ERR_CERT_DATE_INVALID.

I have no problem browsing on my Mac if connected to same proxy and it is effectively blocking all ads.
I want to have this on entire home network so that I don't have to install on all devices.

In application logs I am seeing

Unable to perform handshake for host: go-updater.brave.com:443. Consider excluding it from blocking. The service may not tolerate TLS interception.

Any help here is appreciated.

Thanks

Bring the WebUI back

Since #40, the web UI was removed in favor of a Tauri app. I think having an app is great, but I'd still like to use the UI in a headless server context (I run privaxy on my router basically).
Would you be open to bringing the web UI back?

I understand you have security concerns with that (see #13), and I think the easiest solution would be to make the configuration editing app only, and the web UI be read-only. Anyways on a headless server you usually want to manage the config via files.

Besides that having separate listen address for the proxy and web UI could be nice, so it's easy to make the web UI accessible on localhost/a specific network.

Longer term. I think it's fine to allow users to do what they want with the web UI. Once you feel the app is in decent shape, you can pass the security burden on users/admins. That's what most apps do so I don't think that'd be an issue here as long as the docs say not to expose that.

Thanks for the great software, I don't route all my HTTP traffic through it yet, but it's already quite useful to me!

Blocking Ads on Windows

Running Privaxy on Windows does not block any ads and shows 0 for all stats including proxied requests.
Privaxy_MrhRebVonW

OpenWRT GLInet Router installation

So I have the following flash router https://www.gl-inet.com/products/gl-ax1800/#specs

The good thing about privaxy is it allows to run URL filters instead of DNS filters as with the YouTube APP on phones for example this is a brilliant soloution.

But not sure if your project is compatible with OpenWRT flash routers.

Any update on when you can also secure your admin login page ?

The router does already use AdGuard home what is only blocking DNS level ad domains but the features of Ublock Origin URL filtering lists and javascript capabilities makes it so much better and more powerful.

Enhancement: Auto start when login and background process

After doing some research I've come up with the ultimate solution
Adding login plist
Note that this is for Mac only. You'll have to edit a little bit in the plist and it'll be more clear when you open the file
You'll have to put into the LaunchAgent folder and run
sudo launchctl load "path to plist"
Thank you I just wasted 3 hours

Feature to import filterlists

Is there any plan to add this feature to import filterlist. I use stevenblack and Legitimate URL Shortener which are not in list? Also is there any plan to add feature to bypass DPI with privaxy?

How to import custom filterlists?

I see it's possible to add custom individual filters to Privaxy, but can't see how to add custom filterlists. Is this possible, e.g. by adding it to a config file somewhere?

openwrt support

This is a really cool project!
It would be great to enable it to run on openwrt, so that it can provide services for all devices on the LAN.
Tried AdguardHome and pi-hole, but they are not as good as privaxy.
Looking forward to your good news!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.