QGato search engine.
https://qgato.xyz
- Go 71.7%
- HTML 12.1%
- CSS 10.6%
- JavaScript 5.1%
- Shell 0.2%
- Other 0.3%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .forgejo/workflows | ||
| lang | ||
| static | ||
| templates | ||
| tests/generic | ||
| .gitignore | ||
| agent.go | ||
| backoff.go | ||
| backoff_test.go | ||
| cache-images.go | ||
| cache-images_test.go | ||
| cache-noop.go | ||
| cache-ram.go | ||
| cache-valkey.go | ||
| cache.go | ||
| common.go | ||
| compression.go | ||
| compression_cgo.go | ||
| compression_purego.go | ||
| compression_test.go | ||
| config.go | ||
| crawler-extraction.go | ||
| crawler-visited.go | ||
| crawler.go | ||
| deduplicate.go | ||
| deduplicate_test.go | ||
| disk.go | ||
| disk_win.go | ||
| Dockerfile | ||
| favicon.go | ||
| files-nyaa.go | ||
| files-thepiratebay.go | ||
| files-torrentgalaxy.go | ||
| files.go | ||
| filter-engine.go | ||
| filter.go | ||
| filter_test.go | ||
| forums.go | ||
| get-domains-csv.go | ||
| get-searchxng.go | ||
| go.mod | ||
| go.sum | ||
| ia-calc.go | ||
| ia-currency.go | ||
| ia-main.go | ||
| ia-weather.go | ||
| ia-wiki.go | ||
| imagedecode_cgo.go | ||
| imagedecode_purego.go | ||
| images-bing.go | ||
| images-deviantart.go | ||
| images-imgur.go | ||
| images-qwant.go | ||
| images.go | ||
| indexer.go | ||
| init-extra.go | ||
| init.go | ||
| lang.go | ||
| LICENSE | ||
| main.go | ||
| map.go | ||
| music-bandcamp.go | ||
| music-soundcloud.go | ||
| music-spotify.go | ||
| music-youtube.go | ||
| music.go | ||
| node-handle-search.go | ||
| node-request-files.go | ||
| node-request-forums.go | ||
| node-request-images.go | ||
| node-request-music.go | ||
| node-request-text.go | ||
| node-request-video.go | ||
| node.go | ||
| open-search.go | ||
| preview.go | ||
| printing.go | ||
| proxy.go | ||
| README.md | ||
| retry.go | ||
| run.bat | ||
| run.sh | ||
| selftest.go | ||
| session-manager.go | ||
| suggestions.go | ||
| text-brave.go | ||
| text-duckduckgo.go | ||
| text-google.go | ||
| text-librex.go | ||
| text-mojeek.go | ||
| text-qwant.go | ||
| text-searchxng.go | ||
| text.go | ||
| text_outage_test.go | ||
| user-settings.go | ||
| user-settings_test.go | ||
| video-piped.go | ||
| video-youtube.go | ||
| video.go | ||
A self-hosted private search engine designed to be scalable and more resource-efficient than its competitors.
Bear 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 - 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 - Fully customizable via the
config.inifile. - 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.24.9 or newer
- C build tools
- Git (unexpected)
- Access to the internet for fetching results (even more unexpected)
Running the QGato
git clone https://weforge.xyz/Spitfire/Search.git
cd Search
go run .
Its that easy!
Configuring
- Configuration is done via the
config.inifile. - On first start, you will be guided through the basic setup.
- For more advanced configuration options, visit the Wiki Configuration Page.
