QGato search engine. https://qgato.xyz
  • Go 71.7%
  • HTML 12.1%
  • CSS 10.6%
  • JavaScript 5.1%
  • Shell 0.2%
  • Other 0.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-09-25 15:21:15 +02:00
.forgejo/workflows Fix: ddg ad filter 2026-03-30 08:23:57 +02:00
lang Fixes for map results page 2025-06-30 14:48:18 +02:00
static fix grid text img pos 2026-08-04 21:44:27 +02:00
templates spiiiin 2026-08-04 21:40:19 +02:00
tests/generic Improved selftest 2026-06-15 13:15:59 +02:00
.gitignore Fixed windows compatibility 2025-05-31 21:44:31 +02:00
agent.go Improved central headers 2026-05-30 22:57:55 +02:00
backoff.go Improved selftest 2026-06-15 13:15:59 +02:00
backoff_test.go Changed retry/backoff to not fire on no results 2026-09-25 14:49:39 +02:00
cache-images.go Removed URL leaks in log 2026-09-25 15:21:15 +02:00
cache-images_test.go Common dynamic scrolling .js 2026-08-04 20:07:58 +02:00
cache-noop.go Removed session & agent cache + added agent bias 2026-05-27 10:31:49 +02:00
cache-ram.go Added: periodic ram cleanup 2026-04-24 10:16:46 +02:00
cache-valkey.go Fix: fetching next pages with internal yt search 2026-04-24 10:01:31 +02:00
cache.go Filters for files 2026-07-24 10:24:18 +02:00
common.go Common dynamic scrolling .js 2026-08-04 20:07:58 +02:00
compression.go Search engines fixes 2026-06-01 00:22:04 +02:00
compression_cgo.go Added central response decompress + impersonate TLS on every request 2026-05-30 10:28:01 +02:00
compression_purego.go Search engines fixes 2026-06-01 00:22:04 +02:00
compression_test.go Search engines fixes 2026-06-01 00:22:04 +02:00
config.go Filter engine performence improvements & reduced number of default lists 2026-09-25 14:24:02 +02:00
crawler-extraction.go v11 2026-02-09 12:23:54 +01:00
crawler-visited.go Changed self-crawling as experimental, cleanup unused features 2025-06-08 22:12:15 +02:00
crawler.go Removed session & agent cache + added agent bias 2026-05-27 10:31:49 +02:00
deduplicate.go Removed URL leaks in log 2026-09-25 15:21:15 +02:00
deduplicate_test.go Fixed cache keys 2026-04-13 11:07:50 +02:00
disk.go Init 2025-08-11 08:00:29 +02:00
disk_win.go Init 2025-08-11 08:00:29 +02:00
Dockerfile Fix: docker builds 2026-02-14 22:03:38 +01:00
favicon.go Removed session & agent cache + added agent bias 2026-05-27 10:31:49 +02:00
files-nyaa.go Common dynamic scrolling .js 2026-08-04 20:07:58 +02:00
files-thepiratebay.go Common dynamic scrolling .js 2026-08-04 20:07:58 +02:00
files-torrentgalaxy.go Common dynamic scrolling .js 2026-08-04 20:07:58 +02:00
files.go Removed URL leaks in log 2026-09-25 15:21:15 +02:00
filter-engine.go Filter engine performence improvements & reduced number of default lists 2026-09-25 14:24:02 +02:00
filter.go Fixed cache keys 2026-04-13 11:07:50 +02:00
filter_test.go Filter engine performence improvements & reduced number of default lists 2026-09-25 14:24:02 +02:00
forums.go Layout type per search type 2026-08-04 22:05:33 +02:00
get-domains-csv.go Added FastBoot & CachePreferred 2025-08-22 11:56:04 +02:00
get-searchxng.go Feat: add meta-search concurrency and prefetch settings 2026-02-10 23:30:01 +01:00
go.mod Added central response decompress + impersonate TLS on every request 2026-05-30 10:28:01 +02:00
go.sum Improvements to image decoding/caching 2026-05-29 12:47:36 +02:00
ia-calc.go Init Instant Answers 2025-06-25 23:23:33 +02:00
ia-currency.go Added FastBoot & CachePreferred 2025-08-22 11:56:04 +02:00
ia-main.go Added FastBoot & CachePreferred 2025-08-22 11:56:04 +02:00
ia-weather.go Added Weather IA 2025-06-30 08:07:57 +02:00
ia-wiki.go Improved Wikipedia IA to be lang specific 2025-07-05 11:54:40 +02:00
imagedecode_cgo.go Improvements to image decoding/caching 2026-05-29 12:47:36 +02:00
imagedecode_purego.go Improvements to image decoding/caching 2026-05-29 12:47:36 +02:00
images-bing.go Remove unnecessary headers 2026-05-30 23:47:14 +02:00
images-deviantart.go Remove unnecessary headers 2026-05-30 23:47:14 +02:00
images-imgur.go Remove unnecessary headers 2026-05-30 23:47:14 +02:00
images-qwant.go Remove unnecessary headers 2026-05-30 23:47:14 +02:00
images.go Removed URL leaks in log 2026-09-25 15:21:15 +02:00
indexer.go Init 2025-08-11 08:00:29 +02:00
init-extra.go Improved selftest 2026-06-15 13:15:59 +02:00
init.go Improved selftest 2026-06-15 13:15:59 +02:00
lang.go fixed translations in opensearch.xml 2024-11-20 14:57:55 +01:00
LICENSE Updated licence to AGPL3 2024-11-20 14:57:55 +01:00
main.go Layout type per search type 2026-08-04 22:05:33 +02:00
map.go Added Geocode lookup fallback 2026-04-16 14:47:21 +02:00
music-bandcamp.go Remove unnecessary headers 2026-05-30 23:47:14 +02:00
music-soundcloud.go Search engines fixes 2026-06-01 00:22:04 +02:00
music-spotify.go Remove unnecessary headers 2026-05-30 23:47:14 +02:00
music-youtube.go Added internal yt search 2026-04-22 13:17:31 +02:00
music.go Layout type per search type 2026-08-04 22:05:33 +02:00
node-handle-search.go Common dynamic scrolling .js 2026-08-04 20:07:58 +02:00
node-request-files.go Filters for files 2026-07-24 10:24:18 +02:00
node-request-forums.go Removed session & agent cache + added agent bias 2026-05-27 10:31:49 +02:00
node-request-images.go Removed session & agent cache + added agent bias 2026-05-27 10:31:49 +02:00
node-request-music.go Changed self-crawling as experimental, cleanup unused features 2025-06-08 22:12:15 +02:00
node-request-text.go Removed session & agent cache + added agent bias 2026-05-27 10:31:49 +02:00
node-request-video.go Removed session & agent cache + added agent bias 2026-05-27 10:31:49 +02:00
node.go Changed self-crawling as experimental, cleanup unused features 2025-06-08 22:12:15 +02:00
open-search.go Fixed icon image in opensearch.xml 2025-06-18 16:05:21 +02:00
preview.go Grid for text results 2026-06-29 10:19:53 +02:00
printing.go v0.10.0 2025-10-13 21:59:10 +02:00
proxy.go Search engines fixes 2026-06-01 00:22:04 +02:00
README.md Typo maxing 2026-05-05 08:21:33 +00:00
retry.go Changed retry/backoff to not fire on no results 2026-09-25 14:49:39 +02:00
run.bat FIxed run.sh and run.bat 2025-06-01 09:54:09 +02:00
run.sh FIxed run.sh and run.bat 2025-06-01 09:54:09 +02:00
selftest.go Common dynamic scrolling .js 2026-08-04 20:07:58 +02:00
session-manager.go Improved central headers 2026-05-30 22:57:55 +02:00
suggestions.go Added Suggestions to conf 2025-08-27 00:19:41 +02:00
text-brave.go Search engines fixes 2026-06-01 00:22:04 +02:00
text-duckduckgo.go Remove unnecessary headers 2026-05-30 23:47:14 +02:00
text-google.go Remove unnecessary headers 2026-05-30 23:47:14 +02:00
text-librex.go Removed session & agent cache + added agent bias 2026-05-27 10:31:49 +02:00
text-mojeek.go Remove unnecessary headers 2026-05-30 23:47:14 +02:00
text-qwant.go Remove unnecessary headers 2026-05-30 23:47:14 +02:00
text-searchxng.go Removed session & agent cache + added agent bias 2026-05-27 10:31:49 +02:00
text.go Layout type per search type 2026-08-04 22:05:33 +02:00
text_outage_test.go Common dynamic scrolling .js 2026-08-04 20:07:58 +02:00
user-settings.go Layout type per search type 2026-08-04 22:05:33 +02:00
user-settings_test.go Layout type per search type 2026-08-04 22:05:33 +02:00
video-piped.go Removed session & agent cache + added agent bias 2026-05-27 10:31:49 +02:00
video-youtube.go Parsing INNERTUBE_CLIENT_VERSION so Its up-to-date 2026-05-31 15:09:07 +02:00
video.go Layout type per search type 2026-08-04 22:05:33 +02:00

Logo

QGato Search Engine

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.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.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.ini file.
  • On first start, you will be guided through the basic setup.
  • For more advanced configuration options, visit the Wiki Configuration Page.

License