MCPcopy Index your code
hub / github.com/Barre/privaxy

github.com/Barre/privaxy @v0.5.2

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.5.2 ↗ · + Follow
189 symbols 293 edges 31 files 6 documented · 3%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Privaxy

<strong>Next generation tracker and advertisement blocker</strong>

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.
  4. Macos: https://support.apple.com/guide/mac-help/change-proxy-settings-network-preferences-mac-mchlp2591/mac
  5. Ubuntu (gnome): https://phoenixnap.com/kb/ubuntu-proxy-settings

Core symbols most depended-on inside this repo

get
called by 7
privaxy/src/server/cert.rs
save
called by 6
privaxy/src/server/configuration.rs
set_title
called by 6
web_frontend/src/main.rs
get_home_directory
called by 4
privaxy/src/server/configuration.rs
is_match
called by 4
privaxy/src/server/proxy/exclusions.rs
insert
called by 3
privaxy/src/server/cert.rs
get_empty_response
called by 3
privaxy/src/server/proxy/serve.rs
contains
called by 3
privaxy/src/server/proxy/exclusions.rs

Shape

Method 81
Class 52
Function 42
Enum 14

Languages

Rust91%
Python9%

Modules by API surface

privaxy/src/server/configuration.rs28 symbols
privaxy/src/server/blocker.rs16 symbols
filters/registry.py15 symbols
web_frontend/src/filters.rs11 symbols
privaxy/src/server/statistics.rs10 symbols
src-tauri/src/commands.rs9 symbols
web_frontend/src/settings_textarea.rs8 symbols
web_frontend/src/dashboard.rs8 symbols
web_frontend/src/requests.rs7 symbols
web_frontend/src/main.rs7 symbols
privaxy/src/server/cert.rs7 symbols
privaxy/src/server/blocker_utils.rs7 symbols

For agents

$ claude mcp add privaxy \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact