Introduction
Whoogle Search is a lightweight, self-hosted metasearch engine that fetches results from Google and serves them through a clean, ad-free interface. It removes all tracking, JavaScript beacons, and AMP redirects, giving users Google-quality results without the privacy cost. Built with Python and Flask, it runs in a single container with no external dependencies.
What Whoogle Does
- Proxies Google search results without ads or tracking scripts
- Strips AMP links and redirects to original page URLs
- Supports image, news, video, and map search categories
- Provides search result theming and dark mode
- Allows per-user configuration with encrypted session cookies
Architecture Overview
Whoogle is a single-process Flask application that intercepts search queries, forwards them to Google via server-side HTTP requests, and parses the HTML response to remove tracking elements. It uses no database and no JavaScript on the frontend. The application is stateless by default, with optional encrypted cookies for user preferences. Deployment is a single Docker container behind any reverse proxy.
Self-Hosting & Configuration
- Deploy via Docker, pip install, or from source with Python 3
- Set environment variables for default theme, language, and search region
- Place behind a reverse proxy with TLS for secure access
- Optionally configure Tor routing for additional anonymity
- Use WHOOGLE_CSP_HEADER to customize Content Security Policy
Key Features
- Zero JavaScript served to the client for maximum privacy
- Bang syntax (!g, !d, !w) for quick redirects to other search engines
- Built-in Tor and HTTP proxy support for anonymized queries
- Lightweight: runs in under 50 MB of RAM
- No accounts, no telemetry, no cookies by default
Comparison with Similar Tools
- SearXNG — aggregates multiple engines; heavier to configure and run
- DuckDuckGo — privacy-focused but SaaS-only, not self-hostable
- Startpage — proxies Google results but is a commercial service
- LibreX — similar concept but smaller community and fewer features
FAQ
Q: Does Whoogle break Google's terms of service? A: Whoogle makes server-side requests similar to a browser. Self-hosting it for personal use is a common practice, though Google's ToS is broad. Use at your own discretion.
Q: Can I use Whoogle as my browser's default search engine? A: Yes. Point your browser's custom search URL to your Whoogle instance with the query parameter appended.
Q: Does Whoogle support image search? A: Yes. Image, news, video, and map tabs are all supported with the same privacy protections.
Q: How do I keep Whoogle updated?
A: Pull the latest Docker image with docker pull benbusby/whoogle-search and restart the container.