什么是SearXNG

SearXNG是一个开源的元搜索引擎,聚合来自多个搜索引擎的结果,保护用户隐私。它不跟踪或存储用户搜索数据,支持匿名搜索。SearXNG是SearX的分支版本,优化了代码结构并增加了新功能。

部署SearXNG的技术方案

Docker部署
使用官方Docker镜像快速部署:

docker pull searxng/searxng
docker run -d --name searxng -p 8080:8080 searxng/searxng

源码安装
适合定制化需求:

git clone https://github.com/searxng/searxng.git
cd searxng
./manage.sh install
./manage.sh run

配置Nginx反向代理
提高生产环境安全性:

server {
    listen 80;
    server_name search.example.com;
    
    location / {
        proxy_pass http://127.0.0.1:8080;
        include proxy_params;
    }
}

核心功能配置

搜索引擎配置
修改searx/settings.yml文件:

search:
  engines:
    - google
    - bing
    - duckduckgo
use_mobile_ui: false

主题定制
支持多种主题切换:

  • simple
  • oscar
  • kvan Dark主题示例配置:
ui:
  theme: simple
  simple_style: dark

隐私保护机制

无跟踪设计

  • 默认禁用Cookie
  • 不记录IP地址
  • 查询不发送给第三方

HTTPS强制
通过配置实现全站加密:

server:
  https: force

高级功能实现

结果过滤插件
配置过滤规则示例:

plugins:
  - name: cookie_remover
  - name: tracker_url_remover

API集成
支持JSON格式返回:

https://your-searx/engines?q=test&format=json

性能优化方案

缓存配置
Redis缓存设置:

cache:
  type: redis
  url: redis://localhost:6379/0

负载均衡
多实例部署架构:

docker-compose scale searxng=4

维护与更新

自动更新
设置cron任务:

0 3 * * * cd /path/to/searxng && git pull && systemctl restart searxng

日志监控
使用journalctl查看日志:

journalctl -u searxng -f

安全加固措施

防火墙规则
限制访问IP范围:

iptables -A INPUT -p tcp --dport 8080 -s 192.168.1.0/24 -j ACCEPT

定期备份
关键数据备份脚本:

tar czf /backups/searxng-$(date +%F).tar.gz /etc/searxng /var/lib/searxng

更多推荐