SearXNG: собственный поисковик без слежки на VPS
Обычный поисковик может связать запрос с IP-адресом, cookies и историей действий. SearXNG меняет маршрут: браузер обращается к вашему экземпляру, а тот запрашивает несколько внешних поисковых систем и собирает их ответы на одной странице.
Внешние источники видят адрес сервера SearXNG, а не cookies пользователя. Сам сервис не создаёт рекламный профиль. Однако это не полная анонимность: владелец публичного экземпляра технически может вести логи, а после перехода по ссылке целевой сайт снова взаимодействует с браузером.
Разберём возможности SearXNG и установим собственный экземпляр на VPS с HTTPS и паролем.
Что такое SearXNG и как он работает
SearXNG — бесплатный метапоисковик с открытым исходным кодом. У него нет собственного индекса сайтов: сервис получает результаты из настроенных поисковиков и специализированных источников, приводит их к общему виду и показывает в едином интерфейсе.
Браузер → ваш SearXNG → поисковые системы
↓
объединённая выдачаПри каждом запросе SearXNG:
- определяет категорию поиска: веб, изображения, новости, видео или другую;
- обращается к выбранным источникам от имени сервера;
- не передаёт им cookies пользователя и использует случайный профиль браузера для исходящих запросов;
- собирает ответы в одной выдаче.
Скорость зависит от внешних систем: они могут отвечать медленно, показывать CAPTCHA или блокировать IP. SearXNG — управляемая прослойка, а не автономный индекс.
Чем SearXNG интереснее одного поисковика
Разные источники в одной выдаче
Можно сочетать общие поисковики со специализированными источниками: энциклопедиями, картами, научными публикациями, репозиториями, новостями или каталогами изображений. Это помогает, когда обычная выдача перегружена SEO-страницами или плохо находит нишевые материалы.
На момент подготовки статьи документация перечисляла 272 интеграции, из которых 83 были включены по умолчанию. Это не означает, что все они одинаково стабильны.
Набор зависит от конфигурации. Несколько стабильных источников обычно работают быстрее, чем все доступные сразу.
Быстрые команды
Сокращения позволяют временно выбрать движок, категорию или язык:
!wp docker compose — искать в Wikipedia
!images aurora borealis — искать изображения
:ru !wp прокси-сервер — искать на русском в WikipediaКоманда !! перенаправляет пользователя во внешний поисковик напрямую. В таком режиме защита SearXNG уже не действует.
Поиск для браузера и собственных инструментов
SearXNG поддерживает OpenSearch, поэтому его можно назначить поиском по умолчанию в браузере. Также доступен HTTP API с ответами в JSON, CSV или RSS, если администратор разрешил нужные форматы.
Один экземпляр может стать поисковым backend для внутренней панели, бота, исследовательского скрипта или локального ИИ-ассистента. API лучше открывать только после настройки аутентификации и лимитов.
Насколько SearXNG приватен
| Что он делает | Чего он не делает |
|---|---|
| Не передаёт внешним поисковикам cookies браузера | Не обеспечивает полную анонимность |
| Скрывает IP пользователя за IP сервера | Не защищает после перехода на найденный сайт |
| Убирает стороннюю рекламу и часть отслеживающих параметров | Не гарантирует отсутствие логов у владельца чужого сервера |
| Может проксировать изображения | Не заменяет VPN, Tor и защиту браузера |
Публичный экземпляр удобен для знакомства, но его администратору приходится доверять, а общий IP чаще получает ограничения.
Собственный сервер даёт контроль над логами, источниками и доступом, но не делает браузер анонимным.
Публичный экземпляр, домашний сервер или VPS
| Вариант | Плюсы | Ограничения |
|---|---|---|
| Публичный | Ничего не нужно устанавливать | Доверие к владельцу, перегрузка, CAPTCHA |
| Домашний сервер | Полный контроль без аренды VPS | Устройство должно работать постоянно; сложнее настроить доступ извне |
| Собственный VPS | Круглосуточная работа, домен, HTTPS, доступ с разных устройств | Нужно обновлять контейнеры и следить за безопасностью |
Собственный SearXNG полезен семье, команде, разработчику или локальным ИИ-инструментам. Для редкого поиска проще публичный экземпляр.
Какой VPS нужен для SearXNG
Нагрузка зависит от пользователей, источников и параллельных запросов. Практические стартовые конфигурации:
| Сценарий | CPU | RAM | Диск |
|---|---|---|---|
| Один пользователь | 1 vCPU | 1 ГБ | 10 ГБ |
| Семья или небольшая команда | 2 vCPU | 2 ГБ | 20 ГБ |
| API и дополнительные сервисы | 2–4 vCPU | от 4 ГБ | от 30 ГБ |
Большой диск не нужен. Важнее сеть, постоянный IP и запас RAM.
Для такого сценария подойдёт Linux VPS от tropic.host: начать можно с небольшой конфигурации, а увеличивать ресурсы по мере подключения пользователей или API. При выборе тарифа полезнее вложиться в RAM и качество сети, чем переплачивать за объём накопителя.
Установка SearXNG на VPS через Docker Compose
В примере: Ubuntu 24.04 LTS, search.example.com, Valkey и Caddy. Направьте DNS-запись A на сервер и откройте порты 80 и 443.
1. Установите Docker и создайте каталог
sudo apt update
sudo apt install -y docker.io docker-compose-v2 openssl
sudo systemctl enable --now docker
sudo mkdir -p /opt/searxng/searxng
cd /opt/searxngСоздайте .env с доменом и случайным секретом:
printf 'SEARXNG_HOSTNAME=search.example.com\nSEARXNG_SECRET=%s\n' \
"$(openssl rand -hex 32)" | sudo tee .env >/dev/null
sudo chmod 600 .env2. Создайте docker-compose.yml
name: searxng
services:
searxng:
image: docker.io/searxng/searxng:latest
restart: unless-stopped
environment:
SEARXNG_BASE_URL: https://${SEARXNG_HOSTNAME}/
SEARXNG_SECRET: ${SEARXNG_SECRET}
SEARXNG_VALKEY_URL: valkey://valkey:6379/0
volumes:
- ./searxng:/etc/searxng:rw
- searxng-cache:/var/cache/searxng
depends_on: [valkey]
valkey:
image: docker.io/valkey/valkey:9-alpine
restart: unless-stopped
command: valkey-server --save 30 1 --loglevel warning
volumes:
- valkey-data:/data
caddy:
image: docker.io/caddy:2-alpine
restart: unless-stopped
ports:
- "80:80"
- "443:443"
- "443:443/udp"
environment:
SEARXNG_HOSTNAME: ${SEARXNG_HOSTNAME}
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- caddy-data:/data
- caddy-config:/config
depends_on: [searxng]
volumes:
searxng-cache:
valkey-data:
caddy-data:
caddy-config:3. Настройте SearXNG
Создайте searxng/settings.yml:
use_default_settings: true
general:
instance_name: "Private Search"
search:
safe_search: 1
autocomplete: ""
formats: [html]
server:
limiter: true
image_proxy: true
valkey:
url: valkey://valkey:6379/0Создайте searxng/limiter.toml:
[botdetection]
trusted_proxies = [
"127.0.0.0/8",
"::1",
"172.16.0.0/12",
]Limiter снижает риск того, что боты перегрузят экземпляр, а внешние поисковики быстрее ограничат его IP.
4. Добавьте пароль и HTTPS
Получите хеш сложного пароля:
sudo docker run --rm caddy:2-alpine \
caddy hash-password --plaintext 'ЗАМЕНИТЕ_ПАРОЛЬ'Вставьте полученный хеш в Caddyfile:
{$SEARXNG_HOSTNAME} {
basic_auth {
searchuser ВСТАВЬТЕ_ХЕШ
}
reverse_proxy searxng:8080 {
header_up X-Real-IP {remote_host}
}
}Caddy хранит хеш, а не открытый пароль. Вместо Basic Auth сервис также можно закрыть внутри VPN.
5. Запустите контейнеры
sudo docker compose config
sudo docker compose pull
sudo docker compose up -d
sudo docker compose psОткройте https://search.example.com. Caddy автоматически получит TLS-сертификат, после чего браузер запросит логин searchuser и пароль. Логи SearXNG доступны командой:
sudo docker compose logs -f searxngЧто настроить после запуска
Оставьте только полезные источники, выберите язык и SafeSearch, затем добавьте SearXNG в браузер через OpenSearch. Для обновления достаточно выполнить:
sudo docker compose pull
sudo docker compose up -dРезервируйте .env, Caddyfile и каталог searxng. JSON API включайте только при необходимости и не оставляйте его без пароля и ограничения частоты запросов.
Типичные ошибки
| Ошибка | Последствие | Решение |
|---|---|---|
| Открыть экземпляр для всех | Боты создают нагрузку, IP чаще получает ограничения | Использовать пароль, VPN или единый вход |
| Включить слишком много источников | Медленная выдача и тайм-ауты | Оставить несколько стабильных движков |
| Считать SearXNG собственным индексом | При сбое внешних систем часть результатов исчезает | Учитывать зависимость от источников |
| Ожидать полной анонимности | Найденный сайт всё равно может отслеживать браузер | Использовать защиту браузера, VPN или Tor |
| Запустить без HTTPS | Запросы и пароль передаются небезопасно | Использовать обратный прокси с TLS |
Вывод
SearXNG объединяет разные источники в одном интерфейсе, уменьшает персонализацию и даёт единый поиск браузеру, скриптам или локальному ИИ. Для знакомства достаточно публичного экземпляра. Для постоянного использования лучше собственный сервер с HTTPS, аутентификацией, limiter и небольшим набором стабильных источников.
Начать можно с 1 ГБ RAM. Увеличивать ресурсы стоит при росте числа пользователей, подключении API или запуске дополнительных контейнеров.
FAQ
SearXNG полностью анонимен?
Нет. Он скрывает часть данных от внешних поисковиков, но администратор экземпляра может вести логи. После перехода на сайт действуют его собственные средства отслеживания.
SearXNG лучше Google?
Он решает другую задачу. Google обычно быстрее и сильнее персонализирует результаты. SearXNG даёт больше контроля, позволяет смешивать источники и меньше зависит от профиля пользователя.
Можно ли пользоваться SearXNG без VPS?
Да. Подойдёт публичный экземпляр, домашний компьютер, NAS или мини-сервер. VPS нужен для круглосуточного доступа из любой сети.
Сколько оперативной памяти нужно?
Для одного пользователя разумно начать с 1 ГБ. Для семьи, команды, API или дополнительных контейнеров лучше 2–4 ГБ.
Можно ли подключить SearXNG к браузеру или ИИ?
Да. Браузер может использовать OpenSearch, а программы — HTTP API. Доступ к API следует закрыть аутентификацией и limiter.
