searxng搜索引擎

简介:SearXNG 是一款开源、隐私优先的元搜索引擎,核心是聚合多源搜索结果、不追踪用户、支持完全私有化部署

核心定位:

  • 元搜索引擎(Metasearch Engine):不自建索引,实时转发查询到70+ 上游引擎(Google、Bing、百度、DuckDuckGo、学术 / 视频 / 文件等),合并去重后返回
  • 隐私优先:默认无追踪、无用户画像、无日志、无广告,查询以实例 IP 发起,保护用户身份
  • 完全开源:AGPL-3.0 协议,代码透明,可自由修改、自托管
  • Searx 分支:2021 年从 Searx 分叉,持续活跃维护,功能与安全性更强

核心特性:

  • 不存储用户搜索记录、IP、设备信息
  • 随机化请求指纹,避免上游引擎识别用户
  • 支持 Tor 网络,实现匿名访问
  • 支持 250+ 搜索服务,覆盖网页、图片、视频、新闻、学术、文件、IT、地图等
  • 结果去重、排序、过滤,统一界面呈现
  • 支持 !bang 快捷语法(如 !g 关键词 仅用 Google 搜索)
  • 自由启用 / 禁用上游引擎,自定义优先级
  • 界面、语言、时间范围、安全策略全配置
  • 提供 REST API,方便集成到工具 / Agent(如 Hermes)
  • 私有部署:Docker、源码、容器化一键部署,本地 / 服务器均可
  • 轻量、低资源占用,适合个人 / 家庭服务器

工作原理:

  • 用户在 SearXNG 输入查询
  • SearXNG 转发到已启用的上游引擎
  • 各引擎返回结果,SearXNG 合并、去重、排序
  • 结果返回给用户,全程不记录用户数据SearXNG

涉及组件:

  • searxng:实际应用
  • valkey:缓存,可以提高性能

最佳部署方式就是容器方式,很方便,docker-compose.yaml内容如下:

services:
  valkey:
    image: valkey/valkey:latest
    container_name: searxng-valkey
    restart: unless-stopped
    volumes:
      - ./valkey-data:/data

  searxng:
    image: searxng/searxng:latest
    container_name: searxng
    ports:
      - "8080:8080"
    volumes:
      - ./searxng:/etc/searxng
    depends_on:
      - valkey
    restart: unless-stopped
  • 镜像需要提前拉取

创建后在searxng目录下会生成一个配置文件,名为setting.yml,编辑文件,配置valkey地址,如下:

注:这是docker-compose方式启动的,所以主机名也就是docker-compose中对应的valkey,如果是单独启动的两个容器,这里就要使用valkey的实际IP地址,比如:valkey://192.168.51.100:6379/0 (0表示库)

接下来通过IP:8080请求就能看到页面,如图:

可以在首选项–搜索引擎中配置要使用的搜索引擎,如图:

如果想彻底删除某个搜索引擎,可以直接编辑settings.yml文件,把引擎删除或者注释,如图:

搜索内容:

备注:如果是podman方式启动,也需要podman-compose,如果没有就直接使用podman命令,如下:

#!/bin/bash
podman run -d \
--name searxng-valkey \
--restart=unless-stopped \
-v ./valkey-data:/data \
-p 6379:6379 valkey/valkey:latest

podman run -d \
-p 8080:8080 \
-v ./searxng:/etc/searxng \
--restart=unless-stopped \
--name searxng searxng/searxng:latest

标签