Skip to content

whoogle-search

Privacy & Ad-blocking

A privacy‑focused, ad‑free Google search proxy that can be deployed as a Docker app or installed via pip/pipx

Python Latest v1.2.4 · 1mo ago Security brief →

Features

  • No ads, JavaScript, cookies, AMP links, or IP tracking
  • Tor and HTTP/SOCKS proxy support with rotating Safari User‑Agents
  • Light/Dark/System theme modes and custom CSS theming
  • DuckDuckBang (bang) searches and user‑defined custom bangs
  • JSON API output via content negotiation

Recent releases

View all 2 releases →
v1.2.4 Breaking risk
⚠ Upgrade required
  • This is the final official release; no further maintenance will be provided
  • To continue operation after remaining User-Agents are blocked, either bring your own Google Custom Search Engine key or hardcode a working User-Agent string via environment variables or custom UA list file
  • Dependencies updated: pytest 8.3.3→9.0.3, cryptography 46.0.5→46.0.7, pyOpenSSL 25.3.0→26.0.0
Full changelog

🕊️ End of an Era: The Final Release of Whoogle

It is with a heavy heart that we announce this will be the final official release of Whoogle Search.

Since early 2025, Google has been aggressively blocking search queries performed without JavaScript enabled by continuously banning working User-Agent strings. Requesting JavaScript-free search results, filtering out the tracking garbage, and proxying the content safely to the user is the fundamental foundation of how Whoogle works.

Unfortunately, the cat-and-mouse game has reached its end. All efforts to find and build a reliable method to continue bypassing these restrictions have failed. Unless an incredibly simple and reliable method is discovered, no additional efforts will be placed into finding workarounds.

We want to sincerely thank everyone who has contributed, hosted instances, submitted PRs, and supported privacy-respecting search over the years.

🛠️ How to continue using Whoogle

When Google eventually neuters the remaining UAs that we've published, Whoogle can theoretically continue to operate for personal use if you take one of the following approaches:

  1. Bring Your Own CSE Key: You can configure Whoogle to use a Google Custom Search Engine key.
  2. Hardcode Your Own UA: If you are able to find a working User-Agent string in the future, you can supply it via the environment variables or a custom UA list file.

📝 What's Changed in this Final Release

While this marks the end of official maintenance, we wanted to leave the repository in the most functional state possible:

  • New User-Agent Pool: Removed the completely blocked Mozilla/5.0 WebKit patterns. The internal generator now cycles between known-working Opera/12.02 (Android) permutations and a static HTC_Touch_3G UA string to restore default functionality for as long as Google permits them to breathe.
  • Dependency Updates:
    • Bumped pytest from 8.3.3 to 9.0.3
    • Bumped cryptography from 46.0.5 to 46.0.7
    • Bumped pyOpenSSL from 25.3.0 to 26.0.0

Thank you for searching safely with us.

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

About

Stars
11,535
Forks
1,042
Languages
Python HTML CSS

Install & Platforms

Install via
docker pipx pip helm
Platforms
linux arm64

Beta — feedback welcome: [email protected]