Hoe SearXNG te gebruiken: van eerste zoekopdracht tot zelf-hosting beheersing
Als je ooit resultaten zoals die van Google hebt willen hebben, maar zonder de tracking, dan is SearXNG jouw privacy-vriendelijke metazoekmachine. Het verzamelt resultaten van tientallen bronnen—zonder profilering—en geeft je volledige controle over filters, engines, en zelfs hosting. In deze gids lopen we door drie paden: het gebruiken van een publieke instantie, het aanpassen van je zoekervaring, en het implementeren van je eigen private SearXNG voor maximale controle.
Om dit praktisch te houden, hanteren we een praktische en oplossingsgerichte aanpak met hands-on stappen, instellingen die je kunt kopiëren, en veelvoorkomende valkuilen die je kunt vermijden.
Wat is SearXNG en waarom zou je het gebruiken?
SearXNG is een open-source metazoekmachine. In plaats van zelf het web te crawlen, bevraagt het andere zoekmachines en presenteert het resultaten in een uniforme interface. De twist: het laat tracking vallen, verwijdert advertenties (op de meeste instanties), en geeft je fijnmazige controle over welke engines je wilt opnemen, welke categorieën je wilt doorzoeken (web, afbeeldingen, video's, bestanden, IT, nieuws, wetenschap), en hoe resultaten worden gepresenteerd.
- Standaard geen tracking of profilering
- Configureerbare engines en categorieën
- Zelf te hosten voor volledige controle
- API-vriendelijk voor ontwikkelaars en automatiseringen.
Snel aan de slag: een publieke SearXNG instantie gebruiken
Je kunt beginnen met een publieke instantie (een SearXNG server die door vrijwilligers wordt beheerd). Typische flow:
- Open een betrouwbare publieke instantie (zoek op “SearXNG instances list” of community threads om actieve, gerenommeerde servers te vinden). Beoordeel uptime, rate limits en privacyverklaringen.
- Typ je zoekopdracht en kies categorieën (bijv. Web, Afbeeldingen, Nieuws) via de bovenste tabbladen.
- Gebruik Voorkeuren (tandwielpictogram) om in te stellen:
- UI thema en oneindig scrollen
- Gebruik “bangs” en operators:
!g je zoekopdracht forceert de Google engine (indien ingeschakeld op die instantie)
!ddg, !bing, !yt, !wp etc., afhankelijk van de instantie configuratie
- Standaard operatoren zoals aanhalingstekens,
site:, filetype:pdf, inurl:, intitle: werken op veel engines
- Maak een bladwijzer van je favoriete instantie en exporteer/importeer Voorkeuren als een JSON blob indien ondersteund door de UI.
Pro tip: Publieke instanties kunnen anonieme gebruikers 'rate-limiten' om zichzelf te beschermen tegen misbruik. Als je captchas of vertragingen ziet, probeer dan een andere instantie of self-host.
Power User Moves in de Interface
- Schakel engines on the fly: In Voorkeuren → Engines, schakel specifieke bronnen per categorie in of uit.
- Tune resultaten: Verberg duplicaten, wijzig het tijdsbereik (bijv. afgelopen jaar), sorteer op relevantie of datum.
- Privacy toggles: Schakel elke engine uit die je niet wilt bevragen. Sommige engines vereisen API keys; indien afwezig, worden ze simpelweg niet gebruikt.
- Keyboard shortcuts: Veel SearXNG thema's ondersteunen
/ om de zoekbalk te focussen en pijltjestoetsen om door de resultaten te navigeren.
Hoe SearXNG Zelf te Hosten (Docker Manier)
Zelf-hosting geeft je betrouwbaarheid, snelheid en controle over welke engines je wilt gebruiken. Het Docker pad is het eenvoudigst.
Vereisten
- Een Linux VPS of een home server (2 vCPU/2 GB RAM is comfortabel voor licht gebruik)
- Docker en Docker Compose geïnstalleerd
- Een domein/subdomein en optionele reverse proxy (Caddy/Traefik/Nginx) voor HTTPS
Stappen
- Clone de SearXNG deployment repo (of gebruik een minimaal Compose bestand):
version: "3.8"
services:
searxng:
image: searxng/searxng:latest
container_name: searxng
environment:
- BASE_URL=
- SEARXNG_SECRET_KEY=change_me_to_a_long_random_value
volumes:
- ./searxng:/etc/searxng
ports:
- "8080:8080"
restart: unless-stopped
- Genereer een sterke
SEARXNG_SECRET_KEY (bijv. openssl rand -hex 32).
- Configureer reverse proxy met HTTPS (Caddy voorbeeld):
search.example.com {
reverse_proxy 127.0.0.1:8080
}
Caddy zal TLS automatisch provisionen via Let's Encrypt.
- Bezoek ` en bevestig dat het laadt.
Kernconfiguratie: settings.yml
Na de eerste run heb je configuratie onder je gemounte volume (bijv. ./searxng/settings.yml). Belangrijkste secties:
general: naam, debug mode, resultaat aantal
server: secret key, bind address, rate limits
engines: inschakelen/uitschakelen engines, categorieën, timeouts
ui: thema, infinite scroll, autocomplete
search: safe search defaults, taal, locale
Voorbeeld snippet:
general:
instance_name: "My Private SearXNG"
server:
secret_key: "<same as env or longer>"
image_proxy: true
rate_limit: "60/minute"
search:
safe_search: 1 # 0 off, 1 moderate, 2 strict
autocomplete: "duckduckgo"
ui:
default_theme: "simple"
infinite_scroll: true
engines:
- name: duckduckgo
engine: duckduckgo
categories: .
### Quick Example
- Endpoint: `/search`
- Methods: GET or POST
- Parameters: `q` (query), `categories`, `language`, `format=json`, `time_range`, `safesearch`
```bash
curl "
Response bevat organische resultaten, gebruikte engines en timings. Geweldig voor het bouwen van research automatiseringen, local dashboards, en custom UIs.
Engines en Categorieën Tunen
- Geef de voorkeur aan snelle, privacy-vriendelijke bronnen (bijv. Wikipedia, Stack Exchange, MDN, DuckDuckGo, Brave indien toegestaan, officiële API's voor YouTube/Reddit/Mastodon).
- Schakel engines uit met frequente captchas of hoge latency op je netwerk.
- Gebruik per-categorie defaults; schakel bijvoorbeeld GitHub, Stack Overflow en PyPI in onder “IT,” schakel arXiv/Crossref in onder “Science,” en zet
time_range op recent voor “News.”
Checklist voor Probleemoplossing
- Zie je captchas of lege resultaten? Verminder of roteer engines die blokkades veroorzaken; verhoog timeouts lichtjes; schakel caching in.
- API requests mislukken? Controleer reverse proxy headers en CORS; bevestig
format=json.
- UI traag? Verlaag het aantal resultaten per pagina; schakel zware engines uit; schakel Redis cache in.
- Docker restart loop? Valideer
settings.yml syntax en je environment variables.
Best Practices voor Teams en Power Users
- Exporteer en versie-beheer je
settings.yml (zonder secrets) om veranderingen bij te houden.
- Gebruik secrets managers of
.env bestanden voor API keys.
- Schedule wekelijkse container refreshes om actueel te blijven met engine veranderingen.
- Monitor logs voor engine errors of rate-limit hits.
- Als je SearXNG in apps embedt, back off op retries en randomize delays om bans te vermijden.
Optioneel: Verbind SearXNG met Andere Tools
- Gebruik de JSON API in je research notebooks of chat workflows.
- Route app-gebaseerde web search door je private instantie om privacy te behouden.
- Sommige AI/web UIs kunnen in SearXNG pluggen voor browsing via je eigen endpoint (configureer base URL en API parameters dienovereenkomstig).
Het is de moeite waard om op te merken: als je research workflows maakt of resultaten op schaal samenvat, kan een tool als Sider.AI de lees- en samenvattingsstap stroomlijnen over meerdere tabbladen of queries. Je kunt je browsing naar een privé SearXNG-eindpunt leiden en vervolgens Sider.AI gebruiken om automatisch inzichten vast te leggen, briefs op te stellen of citaten samen te stellen, wat tijd bespaart als je veel zoekopdrachten achter elkaar uitvoert. Security en Ethiek
- Respecteer de voorwaarden van de engines die je inschakelt.
- Stel je instantie niet bloot aan publiek misbruik; rate-limit en, indien nodig, beperk de toegang.
- Informeer teamleden over privacy verwachtingen; logs kunnen worden geconfigureerd om te voorkomen dat IPs of queries worden opgeslagen.
Je Eerste 15-Minuten Setup: Een Mini Checklist
- Spin up Docker en maak een Compose bestand
- Stel
SEARXNG_SECRET_KEY in
- Start de container en bevestig dat
:8080 werkt
- Zet het achter HTTPS met een proxy
- Bewerk
settings.yml om engines in te schakelen die je vertrouwt
- Stel standaard categorieën en SafeSearch in
- Test de API met een
curl request
- Maak een bladwijzer van je instantie en deel het met je team
Belangrijkste Punten
- SearXNG geeft je privacy, controle en flexibiliteit zonder een crawler te schrijven.
- Start op een publieke instantie en self-host vervolgens voor betrouwbaarheid en aanpassing.
- Tune engines en categorieën voor snelheid en relevantie.
- De JSON API maakt SearXNG ideaal voor research en automatisering.
- Harden je deployment met HTTPS, rate limits en minimale logging.
Referenties en Verder Lezen
- Officieel Search API overzicht voor parameters en formats.
- Stap-voor-stap self-hosting walkthroughs en community tutorials kunnen nuttig zijn voor Docker en Windows setups.
- Het integreren van SearXNG in app workflows en tools volgt vaak hetzelfde API patroon dat hierboven is gebruikt.
FAQ
Q1:Wat is SearXNG en hoe werkt het?
SearXNG is een privacy-gerichte metazoekmachine die meerdere bronnen bevraagt en de resultaten aggregeert, zonder gebruikers te tracken. Je kunt een publieke instantie gebruiken of self-hosten voor volledige controle over engines, filters en privacy instellingen.
Q2:Hoe self-host ik SearXNG met Docker?
Maak een Docker Compose service met behulp van de officiële image, stel een sterke secret key in en stel deze beschikbaar achter een reverse proxy met HTTPS. Bewerk settings.yml om engines in te schakelen, categorieën te configureren en privacy opties aan te passen.
Q3:Kan ik SearXNG gebruiken voor programmatische zoekopdrachten via API?
Ja. Roep /search aan met parameters zoals q, categories, en format=json om JSON resultaten te ontvangen voor automatiseringen en apps. Dit is ideaal voor research pipelines en interne tools.
Q4:Hoe kies ik een veilige publieke SearXNG instantie?
Zoek naar actieve, gerenommeerde instanties met duidelijke privacyverklaringen, goede uptime en minimale captchas. Je kunt ook van instantie wisselen of self-hosten als je rate limits of betrouwbaarheidsproblemen tegenkomt.
Q5:Welke zoekoperatoren werken in SearXNG?
Veelvoorkomende operatoren zoals aanhalingstekens, site:, filetype:, inurl:, en intitle: werken over het algemeen en worden doorgegeven aan de onderliggende engines. Je kunt ook bang shortcuts gebruiken (bijv. !g, !ddg, !yt) als de instantie deze ondersteunt.