Language: bg
SearXNG: собствена търсачка без проследяване на VPS
Обикновената търсачка може да свърже заявката с IP адрес, бисквитки и история на активността. SearXNG променя маршрута: браузърът се свързва с вашата инстанция, която отправя заявки към няколко външни търсачки и обединява отговорите им на една страница.
Външните източници виждат адреса на SearXNG сървъра, а не бисквитките на потребителя. Самата услуга не изгражда рекламен профил. Това обаче не е пълна анонимност: собственикът на публична инстанция технически може да съхранява логове, а след като отворите връзка, целевият сайт отново взаимодейства директно с браузъра.
Ще разгледаме възможностите на SearXNG и ще инсталираме собствена инстанция на VPS с HTTPS и защита с парола.
Какво е SearXNG и как работи
SearXNG е безплатна метатърсачка с отворен код. Тя не поддържа собствен индекс на сайтовете: услугата получава резултати от конфигурираните търсачки и специализирани източници, нормализира ги и ги показва в един интерфейс.
Browser → your SearXNG → search engines
↓
combined resultsЗа всяка заявка SearXNG:
- определя категорията на търсене: уеб, изображения, новини, видеоклипове или друга категория;
- се свързва с избраните източници от името на сървъра;
- не им изпраща бисквитките на потребителя и използва случаен профил на браузър за изходящите заявки;
- обединява отговорите в една страница с резултати.
Скоростта зависи от външните системи: те може да отговорят бавно, да покажат CAPTCHA или да блокират IP адреса. SearXNG е управляван междинен слой, а не автономен индекс.
Защо SearXNG е по-интересен от една търсачка
Различни източници на една страница с резултати
Можете да комбинирате универсални търсачки със специализирани източници: енциклопедии, карти, научни публикации, хранилища, новинарски услуги или каталози с изображения. Това помага, когато обикновената страница с резултати е претоварена със SEO страници или трудно намира материали по нишови теми.
Към момента на подготовката на статията документацията посочваше 272 интеграции, от които 83 са активирани по подразбиране. Това не означава, че всички са еднакво стабилни.
Наборът зависи от конфигурацията. Няколко стабилни източника обикновено работят по-бързо от активирането на всичко наведнъж.
Бързи команди
Преките команди ви позволяват временно да изберете търсачка, категория или език:
!wp docker compose — search Wikipedia
!images northern lights — search for images
:en !wp proxy server — search Wikipedia in EnglishКомандата !! пренасочва потребителя директно към външна търсачка. В този режим защитата на SearXNG вече не се прилага.
Търсене за браузъра и собствените ви инструменти
SearXNG поддържа OpenSearch и може да бъде зададен като търсачка по подразбиране в браузъра. Наличен е и HTTP API с отговори във формати JSON, CSV или RSS, ако администраторът е активирал необходимите формати.
Една инстанция може да служи като търсещ бекенд за вътрешно табло, бот, изследователски скрипт или локален AI асистент. API трябва да се публикува едва след настройване на удостоверяване и ограничения на честотата.
Колко поверителен е SearXNG
| Какво прави | Какво не прави |
|---|---|
| Не изпраща бисквитките на браузъра към външни търсачки | Не осигурява пълна анонимност |
| Скрива IP адреса на потребителя зад IP адреса на сървъра | Не защитава потребителя след отваряне на сайт от резултатите |
| Премахва рекламите на трети страни и някои параметри за проследяване | Не гарантира, че собственикът на чужд сървър не пази логове |
| Може да проксира изображения | Не заменя VPN, Tor или защитата на браузъра |
Публичната инстанция е удобна за изпробване на услугата, но трябва да се доверите на администратора ѝ, а споделеният IP адрес по-често може да попадне под ограничение на честотата.
Собственият сървър ви дава контрол върху логовете, източниците и достъпа, но не прави браузъра анонимен.
Публична инстанция, домашен сървър или VPS
| Вариант | Предимства | Ограничения |
|---|---|---|
| Публична инстанция | Не е нужно да инсталирате нищо | Доверие към собственика, претоварване, CAPTCHA |
| Домашен сървър | Пълен контрол без наемане на VPS | Устройството трябва да работи постоянно; външният достъп се настройва по-трудно |
| Собствен VPS | Работа 24/7, домейн, HTTPS, достъп от различни устройства | Контейнерите трябва да се обновяват, а сигурността да се наблюдава |
Собствената SearXNG инстанция е полезна за семейство, екип, разработчик или локални AI инструменти. За случайни търсения публичната инстанция е по-проста.
Какъв VPS е необходим за SearXNG
Натоварването зависи от броя потребители, източници и едновременни заявки. Практични начални конфигурации:
| Сценарий | CPU | RAM | Дисково пространство |
|---|---|---|---|
| Един потребител | 1 vCPU | 1 GB | 10 GB |
| Семейство или малък екип | 2 vCPU | 2 GB | 20 GB |
| API и допълнителни услуги | 2–4 vCPU | от 4 GB | от 30 GB |
Не е необходим голям диск. По-важни са качеството на мрежата, стабилният 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",
]Ограничителят намалява риска ботове да претоварят инстанцията и да накарат външните търсачки да ограничат IP адреса ѝ по-рано.
4. Добавяне на парола и HTTPS
Генерирайте hash за силна парола:
sudo docker run --rm caddy:2-alpine \
caddy hash-password --plaintext 'REPLACE_WITH_PASSWORD'Поставете получения hash в Caddyfile:
{$SEARXNG_HOSTNAME} {
basic_auth {
searchuser INSERT_HASH_HERE
}
reverse_proxy searxng:8080 {
header_up X-Real-IP {remote_host}
}
}Caddy съхранява hash, а не паролата в открит вид. Вместо 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 | Заявките и паролата се предават несигурно | Използвайте reverse proxy с TLS |
Заключение
SearXNG обединява различни източници в един интерфейс, намалява персонализацията и предоставя единна търсачка за браузър, скриптове или локален AI. Публична инстанция е достатъчна за проба. За редовна употреба по-добър избор е собствен сървър с HTTPS, удостоверяване, ограничител и малък набор стабилни източници.
Можете да започнете с 1 GB RAM. Увеличете ресурсите, когато броят на потребителите расте, активирате API или стартирате допълнителни контейнери.
FAQ
Напълно анонимен ли е SearXNG?
Не. Той скрива част от данните от външните търсачки, но администраторът на инстанцията може да пази логове. След отваряне на сайт се прилагат собствените му механизми за проследяване.
По-добър ли е SearXNG от Google?
Той решава различен проблем. Google обикновено е по-бърз и персонализира резултатите по-силно. SearXNG ви дава повече контрол, позволява да комбинирате източници и зависи по-малко от потребителски профил.
Мога ли да използвам SearXNG без VPS?
Да. Можете да използвате публична инстанция, домашен компютър, NAS или мини сървър. VPS е необходим за достъп 24/7 от всяка мрежа.
Колко RAM е необходима?
За един потребител е разумно да започнете с 1 GB. За семейство, екип, API или допълнителни контейнери са за предпочитане 2–4 GB.
Може ли SearXNG да се свърже с браузър или AI?
Да. Браузърът може да използва OpenSearch, а приложенията — HTTP API. Достъпът до API трябва да бъде защитен с удостоверяване и ограничител.
