Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

User Guide

4got is a metasearch engine. It queries dozens of upstream engines simultaneously, deduplicates and ranks the results, and serves them to you without tracking. This page covers everything you can do from the search bar.

Type a query and press Enter. Results come back ranked by cross-engine consensus: pages that multiple engines agree on float to the top.

Category tabs across the top switch between result types:

TabWhat you get
WebGeneral web results
ImagesPhotos, illustrations, stock images
VideosYouTube, Vimeo, PeerTube, Dailymotion, etc.
NewsRecent articles from wire services and aggregators
MusicTracks from SoundCloud, Bandcamp, Deezer, etc.
ScienceAcademic papers from arXiv, PubMed, Crossref, etc.
ITCode repos, package registries, docs
FilesTorrents (Pirate Bay, 1337x, Solid Torrents, etc.)
MapsOpenStreetMap and Photon geocoding
SocialReddit, Lemmy, Mastodon, HN, Lobsters
BooksOpen Library, Gutenberg, Goodreads
Q&AStack Exchange network (SO, Super User, Unix SE, etc.)
PackagesLinux distro packages (Arch, NixOS, Alpine, Void, AUR, Flathub)
Weatherwttr.in and Open-Meteo
LyricsGenius

Quoted phrases

Wrap terms in double quotes to require an exact phrase match:

"rust async trait" stabilization

Engines that support phrase matching will enforce it; the rest filter client-side.

Time filters

Add a time constraint from the settings or URL parameter time=:

ValueWindow
day or dPast 24 hours
week or wPast 7 days
month or mPast 30 days
year or yPast 365 days

Example: /search?q=linux+kernel&time=week

Bang commands

Start your query with ! followed by a shortcode. Bangs come in three flavors.

Redirect bangs

These take you directly to the target site. No 4got results page.

BangTarget
!gGoogle
!d or !ddgDuckDuckGo
!bBrave Search
!wWikipedia
!ytYouTube
!ghGitHub
!rReddit
!soStack Overflow
!aAmazon
!imdbIMDb
!mapsOpenStreetMap
!nixNixOS Packages
!archArch Linux Packages
!aurAUR
!cratescrates.io
!npmnpm
!pypiPyPI
!mdnMDN Web Docs

Example: !gh rust async runtime opens GitHub search for “rust async runtime”.

Engine bangs

These run the search through 4got but force results from a single engine.

BangEngine
!braveBrave
!startpageStartpage
!mojeekMojeek
!marginaliaMarginalia
!wibyWiby
!hackernews or !hnHacker News
!youtubeYouTube
!soundcloud or !scSoundCloud
!flickrFlickr
!pexelsPexels
!yandexYandex
!qwantQwant
!bingBing
!baiduBaidu
!yahooYahoo
!wikipedia or !wikiWikipedia
!googleGoogle
!duckduckgoDuckDuckGo

Oracle bangs

These redirect to an external instant-answer service.

BangService
!wolfram or !waWolfram Alpha Short Answers
!ddg-iaDuckDuckGo Instant Answers API

Oracles (instant answers)

Oracles are local computations or lightweight API calls that produce an answer box above the search results. No upstream search engine is involved. They trigger automatically when your query matches a pattern.

Calculator

Evaluates arithmetic expressions inline.

2 + 2                  → 4
15% of 200             → 30
sqrt(144)              → 12
2^10                   → 1024
sin(1.5)               → 0.9974949866
log10(1000)            → 3
7 mod 3                → 1

Supported functions: sqrt, cbrt, sin, cos, tan, asin, acos, atan, log (base 10), log2, log10, ln, abs, ceil, floor, round, exp.

Supported operators: +, -, *, /, %/mod, ^/**.

Unit converter

Converts between units of length, weight, volume, speed, and temperature.

10 km to miles         → 6.2137119224 miles
72 fahrenheit to celsius → 22.2222222222 celsius
5 gallons to liters    → 18.92705 liters
100 kph to mph         → 62.1371192237 mph

Supported units:

  • Length: km, m, cm, mm, mi, yd, ft, in
  • Weight: kg, g, lb, oz, st
  • Volume: l, ml, gal, qt, pt, cup, floz
  • Speed: mph, kph, mps, knot
  • Temperature: celsius/c, fahrenheit/f, kelvin/k

Timezone

Shows current time in a city or IANA timezone.

time in tokyo          → Monday, May 12, 2026 2:30 AM JST
time in UTC            → Sunday, May 11, 2026 5:30 PM UTC
time in America/Chicago → Sunday, May 11, 2026 12:30 PM CDT

Knows 70+ cities including Tokyo, New York, London, Paris, Berlin, Sydney, Mumbai, Shanghai, Seoul, Dubai, and more.

Base converter

Converts between decimal, hex, binary, and octal.

0xff in decimal        → 255
255 in hex             → 0xFF
255 in binary          → 0b11111111
0b1010 in decimal      → 10
0o77 in hex            → 0x3F

Color converter

Converts between hex, RGB, and HSL. Shows a color swatch.

#FF5500                → rgb(255, 85, 0) · hsl(20, 100%, 50%)
rgb(0, 128, 255)       → #0080FF · hsl(210, 100%, 50%)
hsl(120, 100, 50)      → #00FF00 · rgb(0, 255, 0)

Also accepts 3-digit hex (#F50).

Currency converter

Live exchange rates via exchangerate.host.

100 usd to eur         → 92.15 EUR
50 gbp in jpy          → 9,432.50 JPY

Uses standard 3-letter ISO currency codes (USD, EUR, GBP, JPY, BTC, etc.).

IP geolocation

Look up the physical location and ISP of a public IP address.

8.8.8.8                → Mountain View, California, United States · ISP: Google LLC
1.1.1.1                → Los Angeles, California, United States · ISP: Cloudflare

Also responds to where is 8.8.8.8 and geolocate 1.1.1.1.

Private IP helper

Detects private/reserved IPs and tells you what range they belong to.

192.168.1.1            → 192.168.1.1 is a private/reserved address in range 192.168.0.0/16 (Class C private)

Reverse DNS

Looks up PTR records.

rdns 8.8.8.8           → dns.google
reverse dns 1.1.1.1    → one.one.one.one
nslookup 8.8.4.4       → dns.google

DNS lookup

Type a bare domain name (or prefix with dig/dns) to see its A, AAAA, MX, and TXT records.

example.com            → A 93.184.216.34, MX 0 ., TXT "v=spf1 -all"
dig archlinux.org      → A 95.217.163.246, MX 10 mail.archlinux.org, ...

Package versions

Check the latest version of an npm or PyPI package.

latest lodash          → lodash 4.17.21
npm express            → express 4.19.2
pip requests version   → requests 2.31.0 — Python HTTP for Humans
pypi flask             → Flask 3.0.2 — ...

Radio stations

Find internet radio stations by location or genre.

radio tokyo            → [list of stations with inline audio players]
fm berlin              → [list of stations with inline audio players]

Results come from radio-browser.info.

Translation

Translate text explicitly or automatically.

translate hello world to french       → bonjour le monde
translate こんにちは to english        → hello

Auto-translation: if you search in a language that isn’t in your known_languages list, 4got translates the query and shows the translation in an oracle box above the results.

Translation backends rotate by priority: DeepL, Papago (CJK), Lingva, NLLB, Microsoft. Rate limits are per-cookie. See translation.kdl for configuration.

Wolfram Alpha

Queries the Wolfram Alpha Short Answers API. Requires an API key (server-level or per-user via the apikey_wolframalpha cookie).

population of france   → 67.75 million people (2023)
distance earth to mars → 225 million km (average)

Trivial/conversational queries (greetings, etc.) are suppressed. Negative results are cached for 30 days to avoid redundant API calls.

DuckDuckGo Instant Answers

Returns definitions, abstracts, and factual answers from DuckDuckGo’s Instant Answer API.

define serendipity     → [Definition from Wiktionary]
albert einstein        → [Wikipedia abstract]

DDG IA and Wolfram are tried in that order. The first one that returns a non-empty answer wins.

AI research agent

When you search the same query twice (or click the “Research” button), 4got activates the AI research agent. This is a tool-using LLM that:

  1. Reads the top search results
  2. Fetches and analyzes the linked pages
  3. Runs code in a sandboxed Lua environment if needed
  4. Streams findings to you in real time via the oracle box

The agent shows an ETA timer and intermediate results as it works. When done, the final synthesized answer replaces the stream.

The research agent requires server-side configuration (see ai-research.md). Operators choose the LLM provider (Cerebras, OpenRouter, Ollama, or any OpenAI-compatible API) and can restrict access to specific user groups.

Settings

Visit /settings to customize your search experience. All preferences are stored as cookies (nothing server-side unless you enable history).

SettingCookieWhat it does
Safe searchsafesearch1 (on) or 0 (off)
Temperature unittemp_unitC or F
RegionregionISO country code hint sent to engines (e.g. us, de, jp)
Engine badgesbadgesalways (show source badge on every result), multiple (only when >1 engine), never
Fanout hard windowhard_windowMaximum ms to wait for engine responses (default 1000)
Fanout idle timeoutidle_timeoutStop waiting if no new results arrive in this many ms (default 500)
Cache max agecache_max_ageCache TTL in minutes (default 1440)
Priority enginepriority_engineEngine that must respond before results are shown
NSFW bannersnsfw_bannersShow NSFW banners on the landing page
Historyhistory_enabledEnable/disable search history recording
Browser historybrowser_historyStore search history in browser localStorage
Server historyserver_historyStore search history on the server
Share searchesshare_searchesAllow searches to appear in the trending/live feed
Live feedlive_feedShow live search feed on the trending page
AutocompleteautocompleteEnable/disable search suggestions (disable by setting to off)
Show scoresshow_scoresShow ranking scores next to results
Prefer indieprefer_indieBoost results from independent/small web sites
Progressive SSEprogressive_sseStream results as they arrive via server-sent events
Speedtest graphspeedtest_graphShow engine response time graph
Smart tab oraclessmart_tab_oraclesShow oracle answers in non-web category tabs
Show faviconsshow_faviconsDisplay site favicons next to results
Search methodsearch_methodPOST or GET for the search form
Bookmarksbookmark_modeEnable/disable bookmark saving
Show filtersshow_filtersShow time/region filter bar on results page
Disabled enginesdisabled_<category>Per-category comma-separated engine IDs to skip
Engine weightsweight_<engine>Override ranking weight per engine (higher = more influence)
URL rewritesrewrite_<service>Per-service hostname overrides (YouTube, Reddit, Twitter, etc.)
Archive linksarchive_linksShow Wayback Machine archive links on results
Known languagesknown_languagesLanguages you read, comma-separated ISO 639-1 codes (controls auto-translation)
Tracker detectiontracker_detectionHighlight known tracking domains in results
Translation privacytranslation_privateAvoid sending translations through third-party APIs
Hidden tabshidden_tabsComma-separated list of category tabs to hide
AI streamai_streamEnable/disable streaming for AI research results
Research debugresearch_debugShow debug info during AI research
Wolfram API keyapikey_wolframalphaPersonal Wolfram Alpha API key (uses server key if empty)

Settings can also be set via URL parameters on /settings?nsfw=yes&region=de&... to create a shareable preferences link.

URL rewriting

By default, 4got rewrites result URLs to point at privacy-friendly frontend alternatives:

ServiceDefault rewrite
YouTubeyewtu.be (Invidious)
Redditold.reddit.com
Twitter/Xnitter.net
Mediumscribe.rip
Imgurrimgo
TikTokProxiTok
FandomBreezeWiki

Override any rewrite in settings with a custom hostname, or set it to off/none/disabled to keep original URLs.

Privacy features

  • No tracking. No analytics scripts, no user profiles, no fingerprinting.
  • No accounts. Preferences are stored as cookies in your browser, never on the server.
  • Proof-of-work gate. First-time visitors solve a visual captcha (IQ test). Returning visitors solve a client-side PoW challenge. This keeps bots and scraper farms out without requiring JavaScript tracking.
  • URL rewriting. Results from major trackers are rewritten to privacy frontends (see above).
  • Tracking parameter stripping. UTM tags, fbclid, gclid, and other tracking parameters are removed from all result URLs.
  • Image proxy. Images can be proxied through the 4got server to prevent your IP from leaking to image hosts.
  • No server-side history by default. Search logging is off unless you explicitly enable it in settings.
  • OpenSearch support. Add 4got as a browser search engine via /opensearch.
  • RSS feeds. Subscribe to search results via /feed/search?q=... without visiting the site.

API

4got exposes a JSON API at /api/v1/search?q=QUERY&cat=web. Per-category endpoints also exist: /api/v1/web, /api/v1/images, etc. See /api on your instance for full documentation, or /api/openapi.yaml for the OpenAPI 3.0 spec.

Keyboard shortcuts

  • Enter — Search
  • Enter twice (same query) — Trigger AI research agent
  • Tab — Cycle category tabs