Giter VIP home page Giter VIP logo

privoxy's People

Contributors

alimy 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

privoxy's Issues

Privoxy breaking SNI/ECH and leaking DNS requests to my ISP?

Hi!

Not sure if this can be considered a Privoxy "issue" or just a general lack of knowledge from my side, but I'm posting here in case you can help me understand any potential solutions.

I've installed privoxy on my Raspberry Pi (running the latest version of the stock Pi OS, nothing fancy). My goal is to use the Pi as an HTTP proxy occasionally from other PCs in my LAN.

Everything works well so far: if I set my Raspberry as a proxy in Firefox from my laptop, all my web traffic now goes through the Pi.

However, I've noticed something:

When using Firefox normally on my laptop (direct connection with no proxy), I can browse websites that are blocked by my ISP. That's because I have ECH/SNI enabled ("Maximum protection" in the settings) and I'm using Cloudflare as DNS provider, so all my DNS requests are encrypted and hidden from my ISP if the website is hosted in a provider that uses ECH (such as Cloudflare themselves). Because they can't detect my DNS requests, they don't know which websites I'm visiting and can't block anything.

But when I switch to the proxied connection through the Pi and Privoxy, those websites are blocked again. So I'm assuming the DNS lookups that are done by Privoxy are not using ECH. Am I right on this?

I understand Privoxy relies on the system DNS to resolve domain names, so I guess those DNS requests do not use ECH and get intercepted by my ISP.

Just to confirm: if I open an actual web browser on my Raspberry (Chrome or Firefox) ECH does work and I can browse "blocked" sites again, which I guess happens because the browsers use secure (ECH) DNS lookups against Cloudflare without relying on the system ones.

Any way I could fix this? Couple of things I can think of:

  1. Would using a transparent proxy instead of Privoxy solve this? (I read in the docs that Privoxy does not support transparent mode). I'm not sure what happens to DNS requests when using transparent proxies.
  2. Is there any way to make the system-wide Raspberry DNS resolution use ECH? I tried installing Cloudflare's WARP on my Raspberry, but unfortunately there doesn't seem to be an ARM64 version available yet.

Any suggestions would be appreciated :-)

GDB debug on privoxy found missing file in privoxy

I run sudo systemctl start privoxy.service. Got error:

● privoxy.service - Privacy enhancing HTTP Proxy
     Loaded: loaded (/lib/systemd/system/privoxy.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Mon 2020-07-27 05:14:31 CST; 5h 39min ago
       Docs: man:privoxy(8)
             https://www.privoxy.org/user-manual/
    Process: 1109 ExecStart=/usr/sbin/privoxy --pidfile $PIDFILE --user $OWNER $CONFIGFILE (code>
    Process: 1326 ExecStopPost=/bin/rm -f $PIDFILE (code=exited, status=0/SUCCESS)

7月 27 05:14:30 dark systemd[1]: Starting Privacy enhancing HTTP Proxy...
7月 27 05:14:31 dark systemd[1]: privoxy.service: Control process exited, code=exited, status=1/>
7月 27 05:14:31 dark systemd[1]: privoxy.service: Failed with result 'exit-code'.
7月 27 05:14:31 dark systemd[1]: Failed to start Privacy enhancing HTTP Proxy.

Then I try to run command manually:

sudo privoxy --pidfile /run/privoxy.pid --user privoxy /etc/privoxy/config

Got nothing output, no error, no running.

Then I GDB debug on privoxy:

$ sudo gdb privoxy
[sudo] password for stardiviner:
GNU gdb (Ubuntu 9.1-0ubuntu1) 9.1
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from privoxy...
(No debugging symbols found in privoxy)
(gdb) run --pidfile /run/privoxy.pid --user privoxy /etc/privoxy/config
Starting program: /usr/sbin/privoxy --pidfile /run/privoxy.pid --user privoxy /etc/privoxy/config
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Detaching after fork from child process 90278]
[Inferior 1 (process 90274) exited with code 01]
(gdb) n
The program is not being run.
(gdb) l
1       ../sysdeps/x86_64/crti.S: No such file or directory.
(gdb)

Seems some files missing.

  • privoxy version: 3.0.28-2
  • System: Ubuntu 20.4

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.