explaingit

benbusby/whoogle-search

11,508PythonAudience · developerComplexity · 3/5Setup · moderate

TLDR

A self-hosted privacy proxy that fetches Google Search results while stripping ads, tracking cookies, and your IP from Google, though as of April 2026 the project has reached its final release due to Google blocking its request method.

Mindmap

mindmap
  root((whoogle-search))
    What it does
      Private Google results
      Strips ads and tracking
      Self-hosted proxy
    Tech Stack
      Python
      Docker
    Deployment
      Heroku
      Fly.io
      Render
    Audience
      Privacy-focused users
      Self-hosters
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Host your own private search interface that returns Google results without Google tracking your real IP address or setting cookies

USE CASE 2

Route all search queries through Tor via Whoogle for maximum anonymity beyond hiding your IP

USE CASE 3

Study how to build a web-request proxy that strips tracking elements from HTML responses, using Whoogle as a reference codebase

Tech stack

PythonDocker

Getting it running

Difficulty · moderate Time to first run · 30min

As of April 2026, Google blocks Whoogle's query method, a Google Custom Search Engine key may be required to get results.

In plain English

Whoogle Search is a self-hosted search tool that fetches results from Google but strips away the parts many people find intrusive: ads, tracking of your IP address, cookies from Google, AMP links, and URL tracking tags. You run it on your own server or a free cloud host, then point your browser to use it as your default search engine. You get Google's search results through a clean, private interface that does not identify you to Google. Important notice from the README: as of April 2026, Whoogle has reached its final release. Since early 2025, Google has been blocking the type of requests Whoogle relies on by continuously banning the identifiers Whoogle uses to query Google without JavaScript. The project maintainer states that all efforts to find a workaround have failed. The project is no longer being actively maintained. Existing installs may continue to work if you supply your own Google Custom Search Engine key, or if you find a compatible identifier string to hardcode, but no further fixes are planned. Before this situation, the project offered a wide range of deployment options: a one-click Docker image, a deploy button for Heroku, and integrations with Fly.io, Render, Repl.it, Koyeb, and other platforms. It also supported routing all requests through Tor or a proxy for additional privacy, custom search shortcuts similar to those in DuckDuckGo, light and dark themes, and optional location-based results. The tool worked by acting as a go-between: your browser talks to your Whoogle instance, Whoogle queries Google without JavaScript, and the results come back to you without Google ever seeing your real IP address or setting its own cookies in your browser. That go-between approach is what Google's recent changes disrupted. The repository is still publicly available and the code still exists for anyone who wants to study it, fork it, or attempt to revive it with a new method for querying Google. The full README is longer than what was shown.

Copy-paste prompts

Prompt 1
Walk me through deploying Whoogle Search using Docker on a VPS so I can use it as my private Google search interface.
Prompt 2
How do I configure Whoogle to route all requests through Tor for extra privacy beyond hiding my IP from Google?
Prompt 3
Show me how to set Whoogle as the default search engine in Chrome or Firefox so all my searches go through my self-hosted instance.
Prompt 4
I want to fork Whoogle and add a new method for querying Google now that the original approach is blocked. Explain how the Python request proxying works in the codebase.
Open on GitHub → Explain another repo

← benbusby on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.