Безопасен ли SearXNG на самом деле?
Разбираем, как SearXNG скрывает ваш IP-адрес от поисковых систем. Узнайте, кто видит ваши запросы при использовании публичных инстансов и почему личный VPS надежнее.
Безопасен ли SearXNG? Краткий ответ
Безопасность SearXNG зависит от того, от кого именно вы пытаетесь скрыться. SearXNG — это метапоисковая система: она принимает ваш запрос, отправляет его в Google, Bing, DuckDuckGo и другие включенные вами поисковики, а затем объединяет полученные результаты на одной странице. Поисковые системы видят ваш экземпляр (instance), а экземпляр видит вас.
Если вы используете публичный экземпляр, запущенный незнакомым человеком, этот человек получает каждый ваш запрос в открытом виде. Никакие заявления на странице «о проекте» не гарантируют, что он делает с этими данными. При запуске на собственном сервере внешние поисковые системы видят адрес вашего сервера вместо вашего домашнего IP-адреса. В этом и заключается вся суть приватности, и её ценность равна уровню безопасности сервера, на котором работает система.
Ничто из этого не скрывает ваши поисковые запросы от вашей собственной сети. Ваш интернет-провайдер (ISP) по-прежнему видит соединение с экземпляром. Ваш DNS-резолвер (domain name system) по-прежнему видит имя хоста. Учитывайте эту границу при дальнейшем чтении.
Как SearXNG изменяет поисковый запрос
При прямом поиске через Google компания получает ваш IP-адрес, файлы cookie, заголовок User-Agent и адрес страницы, с которой вы перешли. Все эти данные привязываются к профилю, который сохраняется дольше текущей сессии. SearXNG выступает посредником. В документации описаны две основные функции: «удаление конфиденциальных данных из запросов, отправляемых поисковым сервисам» и «генерация случайного профиля браузера для каждого запроса». Ваши cookie никогда не передаются поисковой системе. Настройки хранятся в вашем браузере, а не в учетной записи на сервере.
По умолчанию передаются два заголовка ответа, каждый из которых выполняет важную функцию:
default_http_headers:
X-Robots-Tag: noindex, nofollow
Referrer-Policy: no-referrerReferrer-Policy: no-referrer означает, что при переходе по ссылке целевой сайт не узнает, с какой поисковой страницы вы пришли, так как браузер не отправляет заголовок Referer. X-Robots-Tag: noindex, nofollow предотвращает индексацию вашего экземпляра SearXNG и страниц с результатами поиска поисковыми системами.
SearXNG не изменяет сам поисковый запрос. Он поступает на экземпляр в полном и читаемом виде, так как именно там завершается TLS (transport layer security). Все пункты ниже вытекают из этого факта.
На публичном экземпляре оператор видит каждый запрос
В документации самого проекта об этом сказано прямо: пользователи публичного экземпляра «должны доверять администратору этого экземпляра», и они не могут знать, «логируются ли их запросы, агрегируются и отправляются или продаются третьим лицам». Заявление об отсутствии логов на главной странице — это всего лишь заявление. Извне проверить его невозможно, поэтому остается либо доверие, либо отказ от использования.
Логирование также является путем наименьшего сопротивления, поскольку настройки по умолчанию передают ваш запрос в URL:
server:
method: "GET"При использовании GET запрос передается как ?q=... в строке запроса. Любой обычный reverse proxy записывает эту строку запроса в свой access log, поэтому запросы фиксируются без чьего-либо намеренного решения об их записи:
203.0.113.5 - - [20/Aug/2026:09:14:02 +0000] "GET /search?q=redundancy+pay+notice+period&category_general=1&language=en HTTP/1.1" 200 15321 "-" "Mozilla/5.0 (X11; Linux x86_64)"На своем собственном экземпляре вы можете убедиться в этом сами:
sudo tail -n 5 /var/log/nginx/access.logВаши поисковые запросы попадают туда, потому что формат лога combined в Nginx записывает $request, что представляет собой полную строку запроса, включая строку параметров. SearXNG никак не может на это повлиять. Переключение экземпляра на method: "POST" переносит запрос в тело запроса, поэтому он перестает появляться в access log и в истории браузера. Документация честно предупреждает, что у POST есть недостатки, которые «серьезно ограничивают удобство использования для конечного пользователя», в основном связанные с кнопкой «Назад» в браузере. Это компромисс, на который вы идете осознанно.
Для любого публичного экземпляра из этого следуют два вывода. Оператор может прочитать ваши запросы, независимо от того, планировал он их собирать или нет. Резервная копия или взлом сервера приведут к доступу к тем же логам.
На собственном VPS поисковые системы видят ваш сервер, а не вас
Запустите собственный экземпляр на VPS (виртуальном частном сервере), и результат будет очевиден. Google больше не получает IP-адрес вашего домашнего подключения вместе с поисковым запросом. Он получает IP-адрес вашего сервера. Система не может связать этот поиск с вашей учетной записью, телефоном или рекламным профилем, привязанным к вашему домашнему соединению. Процесс развертывания описан в руководстве по запуску собственного экземпляра SearXNG на VPS.
Важно понимать, что именно не изменилось. Поисковые системы по-прежнему видят текст запроса, время, язык и регион, а также историю всех ваших поисков за месяцы, сгруппированную под одним стабильным адресом. Если вы единственный пользователь, этот адрес представляет собой персональный поток данных без привязки к имени. Чтобы разорвать эту связь, экземпляр должен обращаться к поисковым системам через исходящий прокси или сеть Tor. SearXNG поддерживает такие конфигурации, но это требует отдельной настройки.
Что по-прежнему видят ваш провайдер, резолвер и хост
Четыре наблюдателя остаются вне зоны влияния этих мер.
- Ваш интернет-провайдер видит TLS-соединение с IP-адресом вашего инстанса и имя хоста в поле SNI (server name indication), которое передается в открытом виде во время рукопожатия. Сам запрос он не видит.
- Ваш DNS-резолвер видит запрос к этому имени хоста. Отследите его на клиенте с помощью
sudo tcpdump -ni any port 53во время загрузки страницы, и вы увидите запрос A-записи для вашего инстанса. - Ваш VPS-провайдер управляет оборудованием, поэтому он может читать диск и память виртуальной машины. Шифрование диска внутри арендованной VM не решает эту проблему, так как работающая система хранит ключ в памяти.
- Любой пользователь с правами root на инстансе видит всё. Это касается вас и любого, кто получит доступ к системе позже.
Есть еще один момент, о котором часто забывают. Исходящие запросы вашего сервера видны из сети самого сервера, поэтому провайдер может заметить, что ваша машина постоянно обменивается данными с Google и Bing. Это скорее паттерн трафика, чем конкретный запрос, но он всё равно несет информацию.
Здесь возникает вопрос о VPN. VPN (virtual private network) переносит точку обзора вашего провайдера на компанию-владельца VPN. Это ничего не меняет в отношении оператора инстанса и поисковых систем, так как системы взаимодействуют с вашим сервером, а не с вами. Сравнение этих вариантов приведено в разборе различий между VPS и VPN.
Почему SearXNG блокирует вас и что на самом деле означает ошибка 429
Существует два разных события, которые описываются фразой «SearXNG меня заблокировал», и для них требуются разные способы решения.
Первое — это когда ваш собственный ограничитель отвечает кодом HTTP 429. Это механизм защиты SearXNG от ботов, который по умолчанию отключен:
server:
limiter: true
valkey:
url: valkey://localhost:6379/0По состоянию на август 2026 года для работы ограничителя требуется база данных Valkey, а правила считываются из /etc/searxng/limiter.toml. Также установите server.public_instance: true, если сервером действительно пользуются посторонние лица, так как по умолчанию там стоит false, что ограничивает функциональность, предназначенную для публичного использования.
Ограничитель выполняет несколько проверок. http_user_agent помечает как бота запрос с отсутствующим User-Agent или с User-Agent, соответствующим известным инструментам, таким как curl и wget. http_accept помечает как бота запрос, в заголовке Accept которого отсутствует text/html. link_token помечает клиента как подозрительного, если он никогда не запрашивает URL /client<token>.css, который загружает обычный браузер. При срабатывании проверки SearXNG возвращает 429 и записывает строку ERROR в свой логгер botdetection.
Поэтому следующая команда завершается ошибкой, как и должно быть:
curl -s -o /dev/null -w '%{http_code}\n' 'https://searx.example.com/search?q=test'curl отправляет User-Agent: curl/8.5.0 и Accept: */*, поэтому срабатывают сразу две проверки. Именно поэтому скрипты и AI-агенты получают 429 от инстанса, который отлично работает в браузере. Это необходимо исправить перед тем, как направлять поисковый запрос агента на свой инстанс. Полный перечень причин и настроек находится в руководстве по лимитам запросов и ошибкам 429 в SearXNG.
Стоит упомянуть одну ловушку ограничителя. При работе за reverse proxy SearXNG видит адрес прокси, а не посетителя, если только этот прокси не добавлен в доверенные:
[botdetection]
ipv4_prefix = 32
ipv6_prefix = 48
trusted_proxies = ['127.0.0.0/8', '::1']
[botdetection.ip_limit]
link_token = false
[botdetection.ip_lists]
pass_ip = []
block_ip = []Список по умолчанию охватывает прокси на том же хосте. Запросы от прокси в отдельной сети Docker приходят с адреса вида 172.18.0.5, которого нет в списке. В результате все посетители учитываются как один клиент, и первый активный пользователь блокирует доступ для всех остальных. Добавьте эту подсеть в trusted_proxies.
Второй тип блокировки происходит на стороне вышестоящих систем. Поисковый движок определяет, что IP-адрес дата-центра, с которого выполняется много поисковых запросов, принадлежит скраперу, и перестает отвечать вашему серверу. В этом случае вы не получаете 429. Вы видите страницу результатов, на которой отсутствуют данные от этого движка, а также уведомление об ошибке. После повторных сбоев SearXNG временно приостановит работу с этим движком. Причина кроется в IP-адресе вашего VPS, поэтому решения здесь сводятся к выбору других движков и ожиданию, а не к настройкам ограничителя.
Помогает или мешает использование одного инстанса с незнакомыми людьми?
И то, и другое, в противоположных направлениях, поэтому ответ кажется неоднозначным. Анонимность — это эффект толпы. На загруженном публичном инстансе ваш запрос уходит с того же адреса, что и запросы тысяч других людей, поэтому ни один поисковик не сможет выделить ваш запрос из общей массы. На вашем однопользовательском инстансе каждый запрос с этого адреса принадлежит вам, и поисковики получают чистый поток данных от одного человека без привязки к имени.
Со стороны оператора ситуация обратная. Большая толпа означает, что незнакомый человек владеет текстовыми запросами всей толпы, включая ваши. Ваш собственный сервер означает, что вы владеете своими запросами, и никто другой их не видит.
Поэтому выбирайте вариант в зависимости от реальной угрозы. Беспокоитесь о рекламном профилировании и межсайтовом отслеживании? Толпа хорошо с этим справляется, а риск со стороны оператора невелик. Беспокоитесь, что конкретный человек или компания может прочитать конкретный поисковый запрос, который вы выполнили? Толпа здесь совсем не помогает, так как оператор видит открытый текст. Хороший компромисс — инстанс для небольшой группы знакомых вам людей. Вы получаете небольшую толпу и оператора, которого можете проверить, так как этот оператор — вы сами.
Результаты SearXNG лучше, чем у Google?
Нет. SearXNG не имеет собственного индекса, поэтому каждый результат на странице получен от вышестоящей поисковой системы, и предел качества ограничен возможностями выбранных вами движков. Отключите Google и Bing, и качество поиска упадет в тот же день, так как основная часть покрытия сети обеспечивается именно ими.
Что меняется, так это обработка данных о вас. Ничто не создает рекламный профиль на основе вашего запроса, и ничто не меняет порядок результатов в зависимости от того, на что вы кликали на прошлой неделе. Это работает в обе стороны, так как персонализация также учитывает локальный контекст. Поиск по запросу «аптека открыта сейчас» через SearXNG будет менее точным, так как движок не имеет данных о вашем местоположении, кроме расположения дата-центра, в котором находится сервер. Укажите регион в настройках, если вам важны локальные результаты.
Две настройки определяют, сколько данных утекает с вашего экземпляра, пока вы просматриваете результаты. image_proxy по умолчанию имеет значение false, поэтому миниатюры загружаются напрямую с сайтов, где они размещены, и эти сайты видят IP-адрес вашего браузера. Настройка image_proxy: true перенаправляет их через ваш экземпляр, что увеличивает потребление полосы пропускания и оперативной памяти. А formats поставляется только со значением html, поэтому запрос JSON (JavaScript object notation) отклоняется с ошибкой 403 Forbidden:
curl -s -o /dev/null -w '%{http_code}\n' 'https://searx.example.com/search?q=test&format=json'Включите json на публичном экземпляре, и вы фактически опубликуете бесплатный API для парсинга, что является самым быстрым способом получить блокировку IP-адреса вашего сервера со стороны поисковых систем, от которых вы зависите. Держите эту функцию выключенной или защищайте её аутентификацией.
Где заканчивается история приватности SearXNG
SearXNG скрывает от поисковых систем информацию о том, кто отправляет запрос. Однако сервис не скрывает ваши действия от вашей сети. Из этого следуют четыре ограничения.
- Ваш трафик остается неизменным везде, кроме поля поиска. Все остальные действия машины покидают вашу сеть точно так же, как и раньше.
- Один пользователь на одном сервере является стабильным идентификатором для любой поисковой системы. Этот идентификатор не содержит имени, и в этом заключается вся польза.
- Оператор любого экземпляра видит поисковый запрос в виде простого текста. Самостоятельное управление экземпляром — единственный способ проверить это утверждение.
- Ваши собственные журналы доступа (access logs) восстанавливают ту запись, которой вы пытались избежать. Просматривайте их или перейдите на
method: "POST", если предпочитаете, чтобы они оставались пустыми.
SearXNG меняет наблюдателя. Он не устраняет наблюдение. Решите, какой наблюдатель вас беспокоит, выберите соответствующий экземпляр и не воспринимайте поисковый интерфейс как средство обеспечения анонимности.
FAQ
Безопасно ли использовать SearXNG на публичном экземпляре?
Это безопасно с точки зрения поисковых систем, но небезопасно с точки зрения оператора. Ваш запрос достигает сервера в открытом виде, и документация проекта прямо указывает, что пользователи «должны доверять администратору этого экземпляра» и не могут знать, «логируются ли их запросы, агрегируются и передаются или продаются третьим лицам». При стандартных настройках method: "GET" запрос также попадает в access log обратного прокси-сервера как часть строки запроса, независимо от того, хотел ли этого оператор. Используйте публичный экземпляр для обычного поиска, если вас беспокоит профилирование рекламными сетями. Не вводите в поисковую строку ничего такого, что вы не доверили бы владельцу сервера.
Скрывает ли SearXNG мои поисковые запросы от интернет-провайдера?
Текст запроса скрыт. Сама активность — нет. Провайдер видит TLS-соединение с адресом вашего экземпляра и имя хоста в открытом поле SNI при рукопожатии, а ваш DNS-резолвер видит запрос к этому имени хоста. Никто из них не видит, что именно вы искали, так как соединение зашифровано. SearXNG — это не VPN, и он не обеспечивает защиту для других действий вашего компьютера.
Почему SearXNG возвращает ошибку 429?
Ошибка 429 исходит от собственного ограничителя экземпляра; это защита от ботов, а не сообщение от Google. Его механизмы помечают запрос, если в заголовке Accept отсутствует text/html, а User-Agent не задан или совпадает с инструментами вроде curl и wget. Третий механизм проверки, токен ссылки, помечает клиента, который никогда не запрашивает URL /client<token>.css, загружаемый браузером. Если обратный прокси-сервер отсутствует в trusted_proxies в файле /etc/searxng/limiter.toml, каждый посетитель считается одним клиентом, поэтому один активный пользователь блокирует остальных. Когда вышестоящая поисковая система блокирует ваш сервер, результаты этой системы просто исчезают со страницы, и вы не получаете ошибку 429.
Становятся ли результаты поиска хуже при самостоятельном хостинге SearXNG?
Иногда это происходит по двум причинам, которые стоит учитывать. Результаты поступают от вышестоящих поисковых систем, поэтому если системы ограничивают скорость для IP-адреса дата-центра, ответов от них будет меньше, а страница — беднее. Кроме того, исчезает персонализированное ранжирование, что исключает переупорядочивание на основе рекламы, а также удаляет учет локальных предпочтений, поэтому поисковые запросы с привязкой к местоположению дают менее точные ответы, пока вы не укажете свой регион в настройках.