SearXNG
SearXNG — это бесплатный интернет-метапоисковый движок, который объединяет результаты более чем 70 поисковых сервисов. Это руководство настраивает рабочий экземпляр, доступ к которому можно получить с помощью домена через HTTPS. Функции включают:
- Самостоятельно размещенный
- Нет отслеживания пользователей
- Нет профилирования пользователей
- Около 70 поддерживаемых поисковых систем
- Простая интеграция с любой поисковой системой
- Файлы cookie по умолчанию не используются.
- Безопасные, зашифрованные соединения (HTTPS/SSL)
LXC
- CPU 2vCPU
- RAM 2GB
- HDD 8GB
Установка
Установите необходимые пакеты
apt install git nginx nginx-extras
Сначала мы создадим пользователя для SearXNG
useradd -mr -d "/usr/local/searxng" -c 'Privacy-respecting metasearch engine' -s /bin/bash searxng
Хотя скрипт автоматической установки ниже создает этого пользователя сам, мы можем пойти дальше и предоставить клонированному репозиторию правильные разрешения.
Теперь мы клонируем репозиторий SearXNG в searxng
домашний каталог пользователя.
git clone https://github.com/searxng/searxng /usr/local/searxng/searxng-src
cd /usr/local/searxng/searxng-src
Установка SearXNG
./utils/searxng.sh install all
Настроить Nginx
Создайте новый файл nano /etc/nginx/sites-available/searxng.conf
и добавьте следующее:
server {
listen 80;
server_name searx.loc.lib s.loc.lib;
server_tokens off;
access_log off;
error_log off;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2;
server_name searx.loc.lib s.loc.lib;
# If you want to log user activity, comment these
access_log /dev/null;
error_log /dev/null;
ssl_certificate /etc/nginx/ssl/searx-loc.pem;
ssl_certificate_key /etc/nginx/ssl/searx-loc-key.pem;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
# X-Frame-Options (XFO) header set to DENY
add_header X-Frame-Options "DENY";
# Content Security Policy (CSP)
add_header Content-Security-Policy "default-src 'self';";
location / {
uwsgi_pass unix:///usr/local/searxng/run/socket;
include uwsgi_params;
uwsgi_param HTTP_HOST $host;
uwsgi_param HTTP_CONNECTION $http_connection;
# see flaskfix.py
uwsgi_param HTTP_X_SCHEME $scheme;
uwsgi_param HTTP_X_SCRIPT_NAME /searxng;
# see limiter.py
uwsgi_param HTTP_X_REAL_IP $remote_addr;
uwsgi_param HTTP_X_FORWARDED_FOR $proxy_add_x_forwarded_for;
}
}
Не забудьте поменять имя сервера и путь до ssl сертификата на свои.
Теперь создайте символическую ссылку для включения этого сайта
ln -s /etc/nginx/sites-available/searxng.conf /etc/nginx/sites-enabled/searxng.conf
Перезапустите Nginx и SearXNG
systemctl restart nginx
service uwsgi restart searxng
Конфигурация
Вы можете изменить настройки, отредактировав:
nano /etc/searxng/settings.yml