99 lines
4.6 KiB
Markdown
99 lines
4.6 KiB
Markdown
---
|
|
title: SearXNG
|
|
created: 2026-06-08
|
|
updated: 2026-06-08
|
|
type: app
|
|
tags: [catalogue, search-engines, self-hosted, python]
|
|
confidence: high
|
|
contested: false
|
|
sources:
|
|
- https://docs.searxng.org
|
|
- https://github.com/searxng/searxng
|
|
---
|
|
|
|
# SearXNG 🌐
|
|
> Méta-moteur de recherche libre et respectueux de la vie privée, fork communautaire de Searx.
|
|
|
|
| Métadonnée | Valeur |
|
|
| :--- | :--- |
|
|
| **Site web** | https://docs.searxng.org |
|
|
| **GitHub** | https://github.com/searxng/searxng |
|
|
| **License** | AGPL-3.0 |
|
|
| **Langage** | Python (Flask) |
|
|
| **Étoiles** | 31 683 |
|
|
| **Dernière MAJ** | 2026-06-08 |
|
|
| **Catégorie** | [[cat-search-engines]] |
|
|
|
|
## Description
|
|
SearXNG est un **méta-moteur de recherche** qui agrège les résultats de plus de 70 moteurs et sources (Google, Bing, DuckDuckGo, Qwant, Brave, Startpage, Wikipedia, ArXiv, GitHub, StackOverflow, Reddit, Pirate Bay, etc.) **sans jamais révéler votre IP** aux moteurs cibles ni stocker de profil publicitaire. C'est l'alternative éthique et open source à Google, sans tracking, sans cookies, sans fingerprinting.
|
|
|
|
L'instance envoie vos requêtes en parallèle à tous les moteurs activés, agrège, dédoublonne et classe les résultats. L'utilisateur peut activer/désactiver chaque source, choisir le « safe-search », le format de sortie (HTML, JSON, RSS, CSV), la langue, la région. Une **API REST** permet d'intégrer SearXNG dans des scripts, Alfred, Raycast, Kagi-like workflows.
|
|
|
|
SearXNG est le successeur officiel de **Searx** (projet archivé en 2018) et est activement maintenu par une communauté européenne (🇩🇪, 🇫🇷, 🇨🇿). Le projet publie des images Docker officielles, des builds multi-arch (amd64, arm64, armv7) et des releases mensuelles. La confidentialité est totale puisque **l'instance est la vôtre**.
|
|
|
|
## Installation
|
|
### Docker Compose
|
|
```yaml
|
|
services:
|
|
searxng:
|
|
image: searxng/searxng:latest
|
|
container_name: searxng
|
|
volumes:
|
|
- ./searxng:/etc/searxng:rw
|
|
environment:
|
|
- SEARXNG_SECRET=${SEARXNG_SECRET}
|
|
- SEARXNG_BIND_ADDRESS=0.0.0.0:8080
|
|
- SEARXNG_BASE_URL=https://search.example.com/
|
|
ports:
|
|
- "8080:8080"
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.http.routers.searxng.rule=Host(`search.example.com`)
|
|
- traefik.http.routers.searxng.entrypoints=websecure
|
|
- traefik.http.routers.searxng.tls.certresolver=letsencrypt
|
|
- traefik.http.services.searxng.loadbalancer.server.port=8080
|
|
restart: unless-stopped
|
|
|
|
redis:
|
|
image: redis:7-alpine
|
|
container_name: searxng-redis
|
|
command: redis-server --save "" --appendonly no
|
|
restart: unless-stopped
|
|
```
|
|
|
|
### Préparation de la config
|
|
```bash
|
|
cp searxng/settings.yml ./searxng/
|
|
sed -i "s|ultrasecretkey|$(openssl rand -hex 32)|" ./searxng/settings.yml
|
|
```
|
|
|
|
## Configuration
|
|
1. Générer un **secret** (`openssl rand -hex 32`) et le placer dans `settings.yml` et `.env`.
|
|
2. Éditer `settings.yml` : activer les moteurs souhaités, ajuster les **timeouts** et le **pool de proxies** (Tor, SOCKS5).
|
|
3. Configurer **limiter/redis** (déjà inclus ci-dessus) pour gérer la charge et le rate-limiting.
|
|
4. Ajouter un **favicon**, choisir un thème (`oscar`, `simple`, `pix-art`) dans `default_settings.yml`.
|
|
5. Configurer l'**auth en sortie** (HTTP proxy, VPN, Tor) si vous voulez masquer l'IP du serveur lui-même.
|
|
|
|
## Alternatives
|
|
- **Open source** : [[app-whoogle]] (Google-only, plus simple), [[app-hister]] (historique local), Yacy (P2P décentralisé), Whoogle, Presearch (blockchain), Librex, Mojeek (indépendant), Marginalia (small web).
|
|
- **Propriétaire** : DuckDuckGo (semi-propriétaire), Brave Search (index propre mais cloud), Kagi (payant, premium), Startpage (Google anonymisé), Google Search (tracking), Bing.
|
|
|
|
## Sécurité
|
|
- **Aucune trace** côté moteurs : requêtes relayées via Tor/proxies sortants (configurable).
|
|
- **Pas de logs** par défaut, **pas de cookies de tracking**, pas de fingerprinting JS.
|
|
- **HTTPS obligatoire** en production pour éviter le MITM sur les requêtes utilisateur.
|
|
- **Rate-limiting** via limiter/redis pour bloquer les abus (scripts, scrapers).
|
|
- **Pare-feu sortant** restrictif recommandé : limiter les IP/IPv6 sortantes évite de « fuiter » la localisation du serveur.
|
|
|
|
## Ressources
|
|
- Code : https://github.com/searxng/searxng
|
|
- Documentation : https://docs.searxng.org
|
|
- Liste d'instances publiques : https://searx.space
|
|
- Issues : https://github.com/searxng/searxng/issues
|
|
|
|
## Pages Liées
|
|
- [[cat-search-engines]] — Catégorie parente
|
|
- [[app-whoogle]] — Méta-moteur Google
|
|
- [[app-meilisearch]] — Moteur de recherche full-text
|
|
- [[recettes-docker-compose]] — Modèles de stacks
|