<p align="center">
  <img src="https://weforge.xyz/Spitfire/Branding/raw/branch/main/active/search/icon.svg" alt="Logo" width="64" height="64">
</p>

<p align="center" style="font-size: 32px;">
  <strong><a href="https://qgato.xyz/">QGato Search Engine</a></strong>
</p>

<p align="center">
A self-hosted private search engine designed to be scalable and more resource-efficient than its competitors.
</p>

# Bare in mind that this project is still WIP

## Comparison to other open-source search engines


| Feature                  | Whoogle [1] | Araa-Search             | LibreY                 | 4get                   | SearchXNG               | *QGato*                               |
| :------------------------- | ------------- | ------------------------- | ------------------------ | ------------------------ | ------------------------- | --------------------------------------- |
| Works without JavaScript | ✅          | ✅                      | ✅                     | ✅                     | ✅                      | ✅                                    |
| Music search             | ❌          | ❌                      | ❌                     | ✅                     | ✅                      | ✅                                    |
| Torrent search           | ❌          | ✅                      | ✅                     | ❌                     | ✅                      | ✅                                    |
| API                      | ❌          | ❌ [2]                  | ✅                     | ✅                     | ✅                      | ✅                                    |
| Scalable                 | ❌          | ❌                      | ❌                     | ❌                     | ❌                      | ✅                                    |
| Not Resource Hungry      | ❓ Moderate | ❌ Very resource hungry | ❌ Moderate 200-400mb~ | ❌ Moderate 200-400mb~ | ❌ Moderate 200-300MiB~ | ✅ about 15-30MiB even when searching |
| Result caching           | ❓          | ❓                      | ❓                     | ❓                     | ❓                      | ✅                                    |
| Dynamic Page Loading     | ❌          | ❌                      | ❌                     | ❌                     | ✅                      | ✅                                    |
| User themable            | ❌          | ✅                      | ❌                     | ❌                     | ❓[3]                   | ✅                                    |
| Unusual logo choice      | ❌          | ❌                      | ❌                     | ✅                     | ❌                      | ❌                                    |

[1]: I was not able to check this since their site does not work, same for the community instances.

[2]: In the project repo they specify that it has API, but It looks like they are no longer supporting it. Or just removed "API" button and documentation, since I was not able to find it anymore.

[3]: It is called 'User Themable' because you want to give the user freedom of choice for their theme, not by hard-setting one theme in the backend and calling it themable.

## Features

### For Casual Users

- **Works out of the box** - No configuration required, just works by default.
- **No tracking or ads** - Fully private, ad-free experience.
- **Custom themes** - Personalize the look and feel.
- **Search suggestions** - Get faster results with helpful suggestions.
- **Privacy-first** - Open-source and transparent (unlike DuckDuckGo).
- **Annoyance-free** - No pop-ups, crypto, or clutter (I'm looking at you, Brave).

### For Self-Hosting

- **[Easy to Set Up](https://weforge.xyz/Spitfire/Search/wiki/Setup-Other)** - Quick and straightforward setup process for anyone.  
- **Lightweight** - Low memory footprint (15-30MiB) even during searches.
- **Decentralized** - No single point of failure.
- **Results caching in RAM** - Faster response times through caching.
- **[Configurable](https://weforge.xyz/Spitfire/Search/wiki/Config)** - Fully customizable via the `config.ini` file.
- **Flexible media support** - Images optionally stored on HDD/SSD for caching and improved response time.

### Results Sources

- **Search suggestions** - Sources include Yahoo, Startpage, Qwant, Ecosia, Brave, Edge, and DuckDuckGo.
- **Text search** - Google, Brave, DuckDuckGo, LibreX/Y.
- **Image search** - Sources include Qwant, Bing, and Imgur.
- **Video search** - Utilizes the Piped API.
- **Maps** - Integrated OpenStreetMap.
- **File downloads** - Access via torrent sources.

## Getting Started

### Prerequisites

- Go (version 1.23 or higher recommended)
- Git (unexpected)
- Access to the internet for fetching results (even more unexpected)

### Running the QGato

```bash
git clone https://weforge.xyz/Spitfire/Search.git
cd Search
go run .
```

*Its that easy!*

### Configuring

- Configuration is done via the `config.ini` file.
- On first start, you will be guided through the basic setup.
- For more advanced configuration options, visit the [Wiki Configuration Page](https://weforge.xyz/Spitfire/Search/wiki/Configuration).


## License

[![](https://www.gnu.org/graphics/agplv3-with-text-162x68.png)](https://www.gnu.org/licenses/agpl-3.0.html)