Deploying Whoogle
Introduction
Whoogle is a self-hosted, privacy-focused search engine that acts as a proxy for Google Search. It provides Google’s search results without the tracking, ads, JavaScript, and privacy-invasive features that come with using Google directly. Your searches are made from your server’s IP address, not your own.
Built with Python and Flask, Whoogle offers a clean, fast interface that works without JavaScript and respects your privacy completely.
Key features of Whoogle include:
- No Ads: Google search results without advertisements
- No Tracking: No cookies, no JavaScript tracking
- No JavaScript Required: Full functionality without JS
- IP Anonymity: Searches made from your server, not your IP
- Customizable: Themes, languages, and search preferences
- Bang Operators: DuckDuckGo-style !bangs for quick searches
- View Images: Direct links to images without visiting sites
- Dark Mode: Built-in dark theme support
- Search Suggestions: Optional autocomplete suggestions
- Tor Support: Route searches through Tor
- Container Friendly: Designed for Docker deployment
- Lightweight: Minimal resource usage
This guide walks you through deploying Whoogle on Klutch.sh using Docker for private Google searching.
Prerequisites
Before deploying Whoogle on Klutch.sh, ensure you have:
- A Klutch.sh account
- A GitHub account with a repository for your configuration
- Basic familiarity with Docker concepts
Repository Structure
Create a GitHub repository with the following structure:
whoogle-deploy/├── Dockerfile└── .dockerignoreDockerfile
Create a Dockerfile in your repository:
FROM benbusby/whoogle-search:latest
# Web interface portEXPOSE 5000
# The base image handles the entrypointEnvironment Variables
| Variable | Required | Default | Description |
|---|---|---|---|
WHOOGLE_CONFIG_COUNTRY | No | - | Default country for search results |
WHOOGLE_CONFIG_LANGUAGE | No | - | Interface language |
WHOOGLE_CONFIG_SEARCH_LANGUAGE | No | - | Search results language |
WHOOGLE_CONFIG_THEME | No | system | Theme (dark, light, system) |
WHOOGLE_CONFIG_SAFE | No | off | Safe search (on, moderate, off) |
WHOOGLE_CONFIG_ALTS | No | false | Use alternative frontends for links |
WHOOGLE_CONFIG_TOR | No | false | Use Tor for requests |
WHOOGLE_CONFIG_NEW_TAB | No | false | Open links in new tab |
WHOOGLE_CONFIG_DISABLE | No | - | Disable specific features |
WHOOGLE_ALT_TW | No | nitter.net | Alternative Twitter frontend |
WHOOGLE_ALT_YT | No | invidious.io | Alternative YouTube frontend |
WHOOGLE_ALT_RD | No | libreddit.spike.codes | Alternative Reddit frontend |
WHOOGLE_ALT_IG | No | bibliogram.art | Alternative Instagram frontend |
Deployment on Klutch.sh
- Push your Dockerfile to your GitHub repository.
- Log in to Klutch.sh and create a new project.
- Create a new app within your project and connect your GitHub repository containing the Dockerfile.
- Configure the deployment settings: - Select **HTTP** as the traffic type - Set the internal port to **5000**
- Add environment variables (all optional): - `WHOOGLE_CONFIG_THEME`: Your preferred theme - `WHOOGLE_CONFIG_COUNTRY`: Your country code (e.g., `US`) - `WHOOGLE_CONFIG_LANGUAGE`: Your language (e.g., `lang_en`)
- Click **Deploy** and wait for the build to complete.
- Access your Whoogle instance and start searching privately.
Configuration
Setting as Default Search Engine
Add Whoogle as your browser’s default search engine:
https://your-whoogle.klutch.sh/search?q=%sUsing Alternative Frontends
Whoogle can redirect links to privacy-respecting alternatives:
- Twitter links go to Nitter
- YouTube links go to Invidious
- Reddit links go to Libreddit
Enable this by setting WHOOGLE_CONFIG_ALTS=true.
Bang Commands
Use DuckDuckGo-style bangs:
!w Python- Search Wikipedia!gh Docker- Search GitHub!so JavaScript- Search Stack Overflow
Usage Tips
Image Search
Click on images to view them directly without visiting the source website.
Quick Settings
Access the gear icon to adjust settings on-the-fly without environment variables.
Troubleshooting
Search Results Not Loading
Google may occasionally block requests. Wait a few minutes and try again. Consider enabling Tor for more anonymity.
Rate Limiting
Heavy usage may trigger Google’s rate limiting. Spread searches over time or deploy multiple instances.
CAPTCHAs Appearing
If you see CAPTCHAs, Google has detected unusual traffic. Using Tor or waiting can help.
Security Considerations
- Access Control: Consider adding authentication if the instance is public
- Tor Usage: Enable Tor for additional privacy
- No Logging: Whoogle does not log searches, but your server logs may