# How to use the self-hosted Whoogle search engine remotely

## Introduction

In today's data-driven world, concerns about privacy, data protection, and the [digital fingerprint](https://nordvpn.com/cybersecurity/glossary/digital-fingerprint/) have become paramount. As a response to these concerns, self-hosted search engines have gained traction as a viable alternative to mainstream options. One commonly used choice is Whoogle.

Whoogle is a privacy-respecting, self-hosted search engine. It gathers Google search results but strips them of unnecessary data: eliminates [third-party cookies](https://nordvpn.com/blog/third-party-cookies/), IP tracking, and [accelerated mobile pages](https://en.wikipedia.org/wiki/Accelerated_Mobile_Pages) (AMP), providing a more secure search experience. In addition, Whoogle offers a variety of [installation options](https://github.com/benbusby/whoogle-search#install) that cater to various different setups. Running [Meshnet](https://nordvpn.com/meshnet/) alongside Whoogle allows you to use the search engine remotely from any device in your Meshnet.

This article showcases how you can deploy a self-hosted instance of the Whoogle search engine using Docker on Windows, macOS, and Linux, and use it remotely over Meshnet as the primary search engine across various internet browsers.

## Before you begin <a href="#before-you-begin" id="before-you-begin"></a>

Make sure that you have [Docker](https://docs.docker.com/get-started/overview/) and [Docker Compose](https://docs.docker.com/compose/) installed on your device. Instructions on how to download and install these tools can be found on the Docker website:

* [Docker Desktop instructions for Windows](https://docs.docker.com/desktop/install/windows-install/)
* [Docker Desktop instructions for macOS](https://docs.docker.com/desktop/install/mac-install/)
* [Docker Desktop Instructions for Linux](https://docs.docker.com/desktop/install/linux-install/)
  * [Docker Engine instructions for Linux (CLI only)](https://docs.docker.com/engine/install/)
  * [Docker Compose instructions for Linux (CLI only)](https://docs.docker.com/compose/install/linux/)

{% hint style="info" %}
**Note**

Docker Compose comes pre-installed with Docker Desktop.
{% endhint %}

## Deploy Whoogle using Docker <a href="#deploy-whoogle-using-docker" id="deploy-whoogle-using-docker"></a>

With Docker and Docker Compose installed, you can start creating a Docker container for the Whoogle search engine.

{% tabs %}
{% tab title="Windows" %}

1. Download the Whoogle files from its [GitHub repository](https://github.com/benbusby/whoogle-search) by clicking **Code** > **Download ZIP**.

   <div align="left"><figure><picture><source srcset="https://3559400189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0cTezbT2vN0lurEio8Z5%2Fuploads%2FNcDcoUBeHGImk5sJIAhB%2Fwhoogle_win_download_zip_dark.png?alt=media&#x26;token=31766d7f-23cf-4d63-a2f4-5cc2ad998e52" media="(prefers-color-scheme: dark)"><img src="https://3559400189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0cTezbT2vN0lurEio8Z5%2Fuploads%2F3AZDQQJ1FWPiRaSPJ7GL%2Fwhoogle_win_download_zip.png?alt=media&#x26;token=254e7431-5a04-429d-8c58-a12dc67f4854" alt="Downloading the whoogle-search repository as a ZIP file from GitHub."></picture><figcaption></figcaption></figure></div>

   &#x20;
2. Open the downloaded archive and extract the `whoogle-search-main` folder to an easily accessible location.
3. Open **PowerShell** and navigate to the `whoogle-search-main` folder using the `cd` command.\
   \
   **Example**

   <pre class="language-bash" data-overflow="wrap"><code class="lang-bash">cd C:\Users\secretmeerkat\Docker\whoogle-search-main
   </code></pre>

   &#x20;&#x20;
4. Execute the following command to start creating your Whoogle instance:

   <pre class="language-bash" data-overflow="wrap"><code class="lang-bash">docker-compose up -d
   </code></pre>

   &#x20;\
   Docker will [pull the whoogle-search image](https://docs.docker.com/engine/reference/commandline/pull/) from Docker Hub and create the container.
5. Once the process is finished, run the `docker ps` command to ensure the container is active and healthy.

   <figure><img src="https://3559400189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0cTezbT2vN0lurEio8Z5%2Fuploads%2FqEDLBU8GevUFZRFQxI2Z%2Fwhoogle_ps_win.png?alt=media&#x26;token=e5edd9dc-f5f1-43a3-8629-6a6f0311fb5a" alt="Output of the &#x27;docker ps&#x27; command showing that the whoogle-search container is up and healthy."><figcaption></figcaption></figure>

{% hint style="success" %}
**Tip**

You can modify the environmental variables in the `docker-compose.yml` file to customize your Whoogle instance. For example, you can enable user authentication or connect the search engine to a [SOCKS5 proxy](https://nordvpn.com/blog/socks5-proxy/) server.
{% endhint %}
{% endtab %}

{% tab title="macOS and Linux" %}

1. Open **Terminal**.
2. Copy the [whoogle-search GitHub repository](https://github.com/benbusby/whoogle-search) to your machine with the following command:

   <pre class="language-bash" data-overflow="wrap"><code class="lang-bash">git clone https://github.com/benbusby/whoogle-search.git
   </code></pre>

   &#x20;
3. Navigate to the `whoogle-search` folder using the `cd` command:

   <pre class="language-bash" data-overflow="wrap"><code class="lang-bash">cd whoogle-search
   </code></pre>

   &#x20;
4. Execute the following command to start creating your Whoogle instance:

   <pre class="language-bash" data-overflow="wrap"><code class="lang-bash">docker-compose up -d
   </code></pre>

   &#x20;\
   Docker will [pull the whoogle-search image](https://docs.docker.com/engine/reference/commandline/pull/) from Docker Hub and create the container.
5. Once the process is finished, run the `docker ps` command to ensure the container is active and healthy.

   <figure><img src="https://3559400189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0cTezbT2vN0lurEio8Z5%2Fuploads%2F0JJ398vTpQMtiTjiP7SY%2Fwhoogle_ps_linux.png?alt=media&#x26;token=b2697304-173a-4e74-a97e-d6605c11ef56" alt="Output of the &#x27;docker ps&#x27; command showing that the whoogle-search container is up and healthy."><figcaption></figcaption></figure>

{% hint style="success" %}
**Tip**

You can modify the environmental variables in the `docker-compose.yml` file to customize your Whoogle instance. For example, you can enable user authentication or connect the search engine to a [SOCKS5 proxy](https://nordvpn.com/blog/socks5-proxy/) server.
{% endhint %}
{% endtab %}
{% endtabs %}

## Access your Whoogle instance using Meshnet <a href="#access-your-whoogle-instance-using-meshnet" id="access-your-whoogle-instance-using-meshnet"></a>

{% hint style="info" %}
Note

If you're hosting Whoogle on a Linux device, you must grant the [local network permission](https://meshnet.nordvpn.com/features/explaining-permissions/local-network-permissions) for the devices accessing it. For more information, see [Common issues on Linux](https://meshnet.nordvpn.com/troubleshooting/linux#cannot-access-docker-containers-over-meshnet).
{% endhint %}

With the container up and running, you can start using Whoogle as your search engine from any internet browser.

1. Copy the Nord name of the device running your Whoogle instance.
2. Open your preferred internet browser.
3. In the address bar, paste the copied Nord name, followed by `:5000/`.\
   &#x20;\
   **Example**\
   `secret.meerkat-himalayas.nord:5000/`\
   &#x20;\
   If you are accessing Whoogle from the same device that is hosting it, swap the Nord name for `localhost`.

Your new, self-hosted search engine should now be visible in your internet browser.

<div align="left"><figure><picture><source srcset="https://3559400189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0cTezbT2vN0lurEio8Z5%2Fuploads%2FqR9hstTdNTySg8kyJ1Vt%2Fwhoogle_landing_page_dark.png?alt=media&#x26;token=9ff0da2c-a2bd-4cc9-8a68-10ea723c74a7" media="(prefers-color-scheme: dark)"><img src="https://3559400189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0cTezbT2vN0lurEio8Z5%2Fuploads%2FXXSIdEsCFR96NeJMafx1%2Fwhoogle_landing_page.png?alt=media&#x26;token=c29018ed-21a8-438d-9cbd-7567e372e820" alt="Whoogle search page, accessed using the Nord name, visible in the internet browser."></picture><figcaption></figcaption></figure></div>

## Configure Whoogle as the default search engine <a href="#configure-whoogle-as-the-default-search-engine" id="configure-whoogle-as-the-default-search-engine"></a>

Navigating to the Whoogle website to make a quick search is far from convenient. Thankfully, with most of the widely used internet browsers, you can add and use a custom search engine relatively easily. Below you can find instructions for setting Whoogle as the default search engine on some of the commonly used browsers.

<details>

<summary>Firefox</summary>

### Windows, macOS, and Linux <a href="#windows-macos-and-linux" id="windows-macos-and-linux"></a>

1. Open **Firefox**.
2. Visit your Whoogle page, as described in the [Access your Whoogle instance using Meshnet](#access-your-whoogle-instance-using-meshnet) section.
3. Right-click the address bar and select **Add “Whoogle Search”**.

   <div align="left"><figure><picture><source srcset="https://3559400189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0cTezbT2vN0lurEio8Z5%2Fuploads%2FxEgyuUn6EZrqjc2rF7gt%2Fwhoogle_ff_desktop_add_dark.png?alt=media&#x26;token=904f8e2f-ba42-45a1-a891-62ded3dc5a8a" media="(prefers-color-scheme: dark)"><img src="https://3559400189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0cTezbT2vN0lurEio8Z5%2Fuploads%2F7VBD8PcI54L3OQ3IbeO9%2Fwhoogle_ff_desktop_add.png?alt=media&#x26;token=3588621e-2555-465f-b378-e33424dd2b65" alt="Right-clicking the Firefox address bar and selecting Add &#x22;Whoogle search&#x22; from the list of options."></picture><figcaption></figcaption></figure></div>

   &#x20;
4. Navigate to the following URL:\
   `about:preferences#search`\
   &#x20;
5. Under **Default search engine**, select **Whoogle**.

   <div align="left"><figure><picture><source srcset="https://3559400189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0cTezbT2vN0lurEio8Z5%2Fuploads%2Fj46VA6OPlnqMKecB2wFL%2Fwhoogle_ff_desktop_selected_dark.png?alt=media&#x26;token=08d04ea0-ded0-4f3e-979b-d9c5c58d7714" media="(prefers-color-scheme: dark)"><img src="https://3559400189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0cTezbT2vN0lurEio8Z5%2Fuploads%2FZMPSVWVz2NLDMUesUq7z%2Fwhoogle_ff_desktop_selected.png?alt=media&#x26;token=68dfbe1f-c441-4b31-90ea-679a5d6175ff" alt="Whoogle selected as the default search engine in Firefox settings."></picture><figcaption></figcaption></figure></div>

The default search engine has been changed.

### Android <a href="#android" id="android"></a>

1. Open **Firefox**.
2. In the upper or lower right corner, depending on your chosen layout, tap the three-dot menu and select **Settings**.
3. Under **General**, tap **Search** > **Manage alternative search engines**, and then select **Add search engine**.
4. Select **Other** and fill in the required fields.
   * In the **Name** field, type in `Whoogle`.
   * In the **Search string** field, type in `http://<NordName>:5000/search?q=%s`, where `<NordName>` is the Nord name of the device hosting Whoogle.\
     &#x20;

     **Example**

     <div align="left"><figure><picture><source srcset="https://3559400189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0cTezbT2vN0lurEio8Z5%2Fuploads%2F7VzEHiq1oMPOMsvDYPih%2Fwhoogle_ff_android_address_dark.png?alt=media&#x26;token=8b1714c5-a4d9-4167-ba23-667f9f0bd4ad" media="(prefers-color-scheme: dark)"><img src="https://3559400189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0cTezbT2vN0lurEio8Z5%2Fuploads%2FbnWNdP9MLmYu0hcX8YMm%2Fwhoogle_ff_android_address.png?alt=media&#x26;token=5dbffa00-2b7d-40e4-82a4-7e002ec160c9" alt="The Add search engine page in Firefox filled in with the link to the Whoogle page."></picture><figcaption></figcaption></figure></div>

     &#x20;
5. Tap **Save**.
6. Under **Default search engine**, select **Whoogle**.

   <div align="left"><figure><picture><source srcset="https://3559400189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0cTezbT2vN0lurEio8Z5%2Fuploads%2FAzygg7D6xjsCYe3tRAxD%2Fwhoogle_ff_android_selected_dark.png?alt=media&#x26;token=ed265ea2-c986-43c4-bec1-c1143e7df67a" media="(prefers-color-scheme: dark)"><img src="https://3559400189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0cTezbT2vN0lurEio8Z5%2Fuploads%2FEOPM2sVuY3mcfoDNIp5J%2Fwhoogle_ff_android_selected.png?alt=media&#x26;token=524d95fb-d14e-4691-8591-0fdf689c177a" alt="Whoogle selected as the default search engine." width="375"></picture><figcaption></figcaption></figure></div>

The default search engine has been changed.

### iOS <a href="#ios" id="ios"></a>

1. Open **Firefox**.
2. In the lower-right corner, tap the three-dot menu icon and select **Settings**.
3. Under **General**, tap **Search**, and then select **Add search engine**.
4. Fill in the required fields.
   * In the **Title** field, type in `Whoogle`.
   * In the **URL** field, type in `http://<NordName>:5000/search?q=%s`, where `<NordName>` is the Nord name of the device hosting Whoogle.\
     &#x20;\
     **Example**

     <div align="left"><figure><picture><source srcset="https://3559400189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0cTezbT2vN0lurEio8Z5%2Fuploads%2FaUfOuiqRuTCdjiwS8C5C%2Fwhoogle_ff_ios_info_dark.png?alt=media&#x26;token=a4e7636f-47a7-4602-bae3-9912cabe862d" media="(prefers-color-scheme: dark)"><img src="https://3559400189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0cTezbT2vN0lurEio8Z5%2Fuploads%2FhLhWrTCOGmo40BdyakGk%2Fwhoogle_ff_ios_info.png?alt=media&#x26;token=7427ac16-7c33-46a4-8e51-36fa0c236c5c" alt="The Add search engine page in Firefox filled in with the link to the Whoogle page." width="375"></picture><figcaption></figcaption></figure></div>

     &#x20;
5. In the upper-right corner, tap **Save**.
6. Under **Default search engine**, tap the first option and select **Whoogle** from the list of available search engines.

   <div align="left"><figure><picture><source srcset="https://3559400189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0cTezbT2vN0lurEio8Z5%2Fuploads%2FcRMdrkjEaA0j8trYTVZK%2Fwhoogle_ff_ios_default_dark.png?alt=media&#x26;token=102fde65-a44c-43ff-9969-1f5a6fbc9aae" media="(prefers-color-scheme: dark)"><img src="https://3559400189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0cTezbT2vN0lurEio8Z5%2Fuploads%2F8bIzqmG6mTHsFf76VhHU%2Fwhoogle_ff_ios_default.png?alt=media&#x26;token=a05c2657-a5ca-4c60-9a5a-a482b83ad0ad" alt="Whoogle selected as the default search engine." width="375"></picture><figcaption></figcaption></figure></div>

The default search engine has been changed. From now on, the Whoogle search engine will be used whenever you perform a search using the address bar.

</details>

<details>

<summary>Chrome</summary>

The steps below apply only to desktop devices because adding custom HTTP-only search engines is currently not possible on the mobile version of Chrome.

1. Open **Chrome**.
2. Visit your Whoogle page, as described in the [Access your Whoogle instance using Meshnet](#access-your-whoogle-instance-using-meshnet) section.
3. After the page loads, Chrome should automatically detect Whoogle as a search engine. Then, navigate to the following URL:\
   `chrome://settings/searchEngines`\
   &#x20;
4. Scroll down to the **Inactive shortcuts** section.
5. Next to **Whoogle**, click the three-dot menu and select **Make default**.

   <div align="left"><figure><picture><source srcset="https://3559400189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0cTezbT2vN0lurEio8Z5%2Fuploads%2FljldNhL6sBhOtkdFdRbo%2Fwhoogle_chrome_make_default_dark.png?alt=media&#x26;token=e7bbc0e2-6749-423c-8155-a8b0a1bdfd29" media="(prefers-color-scheme: dark)"><img src="https://3559400189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0cTezbT2vN0lurEio8Z5%2Fuploads%2FTTAQJzSeMIjCRaukfxt8%2Fwhoogle_chrome_make_default.png?alt=media&#x26;token=7c818426-a66f-44a4-bba3-21eca811412d" alt="Clicking &#x27;Make default&#x27; next to Whoogle in the Search engine section of Chrome settings."></picture><figcaption></figcaption></figure></div>

   &#x20;\
   The default search engine has been changed. Under the **Search engines** section, you should see **Whoogle (default)**.

   &#x20;

   <div align="left"><figure><picture><source srcset="https://3559400189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0cTezbT2vN0lurEio8Z5%2Fuploads%2FFh0MsTc38ybeU8EIAcYu%2Fwhoogle_chrome_engines_dark.png?alt=media&#x26;token=6fd5fe2b-2361-4f70-8f8a-cef426dfc229" media="(prefers-color-scheme: dark)"><img src="https://3559400189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0cTezbT2vN0lurEio8Z5%2Fuploads%2FjDqwfgcL1Wlbt80IMD8S%2Fwhoogle_chrome_engines.png?alt=media&#x26;token=cf7b8748-a913-4c44-8706-7a479dda2df2" alt="Whoogle set as the default search engine."></picture><figcaption></figcaption></figure></div>

From now on, the Whoogle search engine will be used whenever you perform a search using the address bar.

</details>

<details>

<summary>Edge</summary>

The steps below apply only to desktop devices because adding custom HTTP-only search engines is currently not possible on the mobile version of Edge.

1. Open **Edge**.
2. Visit your Whoogle page, as described in the [Access your Whoogle instance using Meshnet](#access-your-whoogle-instance-using-meshnet) section.
3. After the page loads, Edge should automatically detect Whoogle as a search engine. Then, navigate to the following URL:\
   `edge://settings/searchEngines`\
   &#x20;
4. Next to **Whoogle**, click the three-dot menu and select **Make default**.

   <figure><picture><source srcset="https://3559400189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0cTezbT2vN0lurEio8Z5%2Fuploads%2FSHCe6PPVbBtnUQc5mCCd%2Fwhoogle_edge_desktop_default_dark.png?alt=media&#x26;token=f839b0f8-ef8f-4457-839a-be18e9328ee3" media="(prefers-color-scheme: dark)"><img src="https://3559400189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0cTezbT2vN0lurEio8Z5%2Fuploads%2F2ByKFG0SzXEpQkB89ULf%2Fwhoogle_edge_desktop_default.png?alt=media&#x26;token=5a2b6576-8f3e-490d-b271-548a8a2b2f84" alt="Clicking &#x27;Make default&#x27; next to Whoogle in the Manage search engines section of Edge settings."></picture><figcaption></figcaption></figure>

The default search engine has been changed. From now on, the Whoogle search engine will be used whenever you perform a search using the address bar.

</details>

<details>

<summary>Brave</summary>

The steps below apply only to desktop devices because adding custom HTTP-only search engines is currently not possible on the mobile version of Brave.

1. Open **Brave**.
2. Navigate to the following URL:\
   `brave://settings/searchEngines`\
   &#x20;
3. Next to **Site search**, click **Add**.
4. In the **Add search engine** dialog, fill in the required information.
   * In the **Search engine** field, enter `Whoogle`.
   * In the **Shortcut** field, enter any character combination you prefer.
   * In the **URL** field, enter `<NordName>:5000/search?q=%s`, where `<NordName>` is the Nord name of the device hosting Whoogle.\
     &#x20;\
     **Example**

     <div align="left"><figure><picture><source srcset="https://3559400189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0cTezbT2vN0lurEio8Z5%2Fuploads%2FJcKSJSUuerPz0WLhdvaQ%2Fwhoogle_brave_add_engine_dark.png?alt=media&#x26;token=aac552dd-4126-4b20-a69a-9edaf94c9734" media="(prefers-color-scheme: dark)"><img src="https://3559400189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0cTezbT2vN0lurEio8Z5%2Fuploads%2FEmlg4eQ54bECC7IXpx8h%2Fwhoogle_brave_add_engine.png?alt=media&#x26;token=9e2b71d2-328c-48b9-8454-41e2f679a857" alt="Filled in Add search engine dialog with the link to the Whoogle page using the Nord name." width="375"></picture><figcaption></figcaption></figure></div>

     &#x20;
5. Click **Add**.
6. Under **Site search**, next to **Whoogle**, click the three-dot menu and select **Make default**.

   <div align="left"><figure><picture><source srcset="https://3559400189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0cTezbT2vN0lurEio8Z5%2Fuploads%2FHSlKbFsDo0ENQl2SoGM5%2Fwhoogle_brave_make_default_dark.png?alt=media&#x26;token=80cff8a6-6613-4d9e-9919-b511d0ccf2c0" media="(prefers-color-scheme: dark)"><img src="https://3559400189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0cTezbT2vN0lurEio8Z5%2Fuploads%2Fq4rTSIfTp14IxMJ2vLcE%2Fwhoogle_brave_make_default.png?alt=media&#x26;token=1f078bc6-bf06-4637-9e85-2af91a94e9ba" alt="Clicking Make default next to the Whoogle search engine entry." width="563"></picture><figcaption></figcaption></figure></div>

   &#x20;\
   The default search engine has been changed. Under the **Search engines** section, you should see **Whoogle (default)**.&#x20;

From now on, the Whoogle search engine will be used whenever you perform a search using the address bar.

</details>
