SearXNG 是一个免费的互联网元搜索引擎,整合了各种搜索服务的结果。用户不会被跟踪,也不会被分析。
功能特性
自托管,可以私有化部署
没有用户跟踪/没有分析
可以自定义设置脚本和 cookies
安全加密的连接
轻松整合了近200个搜索引擎,用户可自定义选择不同的引擎
多语言支持,约 60 个,包含中文、英文等
提供近 100 个维护良好的公共查询实例
安全保护
无论实例类型如何(私有、公共),SearXNG 都以多种方式保护用户的隐私。从搜索请求中删除私人数据有以下三种形式:从发送至搜索服务的请求中删除私人数据
不通过搜索服务转发来自第三方服务的任何内容(例如广告)
从进入结果页面的请求中删除私有数据
删除私人数据意味着不向外部搜索引擎发送 cookie 并为每个请求生成随机浏览器配置文件。因此,公共实例还是私有实例处理请求并不重要,因为在这两种情况下它都是匿名的。IP 地址将是实例的 IP。但 SearXNG 可以配置为使用代理或 Tor, 也支持结果代理。
与大多数搜索服务不同,SearXNG 不提供广告或跟踪内容。因此,私人数据不会被转发给可能利用其获利的第三方。除了保护用户免受搜索服务的影响之外,引用页面和搜索查询都对访问的结果页面隐藏。
1.使用docker compose安装SearXNG
准备工作:安装前确保已经安装了docker compose
可以使用:https://www.composerize.com/?utm_source=appinn.com 网站将Docker运行命令至Compose配置,简化容器部署流程。(题外篇)
下面开始安装,将下面的内容保存为 docker-compose.yml 文件
version: '3.7'
services:
searxng:
image: searxng/searxng:latest
container_name: searxng
ports:
- 8080:8080
volumes:
- ${PWD}/searxng:/etc/searxng
environment:
- BASE_URL=http://0.0.0.0:8080/
- INSTANCE_NAME=searxng
cap_drop:
- ALL
cap_add:
- CHOWN
- SETGID
- SETUID
logging:
driver: 'json-file'
options:
max-size: '1m'
max-file: '1'
使用以下命令启动
root@localhost searxng]# docker-compose up -d
WARN[0000] /opt/searxng/docker-compose.yml: `version` is obsolete
[+] Running 2/2
✔ Network searxng_default Created 0.1s
✔ Container searxng Started 0.0s
启动完成后在浏览器中输入 http://ip:8080 就能看到搜索界面,查看运行是否正常
这里运行正常后,由于我们要集成到Dify中,SearXNG默认的输出格式是 HTML 格式。您需要激活 JSON 格式。
2.配置SearXNG
找到刚才创建docker-compose.yml 文件目录,发现多了一个searxng目录,进入到这个目录中有两个文件settings.yml、uwsgi.ini。
修改settings.yml
#remove format to deny access, use lower case.
#formats: [html, csv, json, rss]
formats:
- html
- json # <-- 添加这一行
3.集成到Dify
进入到Dify,找到工具-SearXNG。点击去授权
在SearXNG base URL中输入SearXNG的地址,点击保存,当提示“操作成功”,查看到“已授权”即可使用。
在后续文章中再讲解如何配置Dify工作流使用SearXNG智能搜索。
评论区