为中国地区用户优化的 SearXNG 私有搜索引擎部署方案
- 🇨🇳 中文优化: 预配置国内搜索引擎(360搜索、搜狗、夸克、百度)
- 🛡️ 防爬虫策略: 智能权重调节,避免被搜索引擎封禁
- ⚡ 即开即用: 一键部署,无需复杂配置
- 🔒 隐私保护: 不追踪、不记录、不收集用户数据
- 🎯 多引擎聚合: 同时使用多个搜索引擎,结果更全面
- 🚀 自动 SSL: 集成 Caddy 自动 HTTPS 证书
- 💾 Redis 缓存: 提升搜索性能
| 搜索引擎 | 权重 | 说明 |
|---|---|---|
| Bing | ⭐⭐⭐⭐⭐ | 稳定可靠 |
| 360 搜索 | ⭐⭐⭐⭐⭐ | 中文支持好 |
| 搜狗 | ⭐⭐⭐⭐⭐ | 国内稳定 |
| 夸克 | ⭐⭐⭐⭐⭐ | 新兴引擎 |
| WolframAlpha | ⭐⭐⭐⭐⭐ | 知识计算 |
| 百度 | ⭐⭐ | 低权重防封禁 |
| ⭐⭐⭐⭐⭐ | 国际搜索 | |
| DuckDuckGo | ⭐⭐⭐⭐⭐ | 隐私优先 |
- Docker
- Docker Compose v2+
# 1. 克隆项目
git clone https://github.com/YOUR_USERNAME/searxng-docker-china.git
cd searxng-docker-china
# 2. 启动服务
docker compose up -d
# 3. 访问服务
# 浏览器打开: http://localhost:8088# 检查容器状态
docker ps | grep searxng
# 检查服务健康
curl -I http://localhost:8088searxng-docker-china/
├── docker-compose.yml # Docker Compose 配置
├── Caddyfile # Caddy 反向代理配置
├── searxng/ # SearXNG 配置目录
│ ├── settings.yml # 主配置文件(已优化)
│ ├── uwsgi.ini # WSGI 配置
│ └── data/ # 数据目录
├── doc/ # 配置文档
│ ├── README.md # 文档索引
│ ├── QUICK_REFERENCE.md # 快速参考
│ ├── SEARXNG_CONFIG_GUIDE.md # 完整指南
│ └── settings_template.yml # 配置模板
├── .gitignore # Git 忽略文件
├── LICENSE # MIT 许可证
└── README.md # 项目说明
针对百度等有防爬虫机制的搜索引擎,已实施以下策略:
- 降低权重: 百度权重设为 0.3,减少 70% 调用
- 智能暂停: 触发防爬自动暂停 2-24 小时
- 超时保护: 增加超时时间避免请求失败
# 百度防爬虫配置示例
- name: baidu
engine: baidu
weight: 0.3 # 降低权重
timeout: 8.0 # 增加超时编辑 searxng/settings.yml 文件:
# 修改默认语言
search:
default_lang: "zh-CN" # 中文
# default_lang: "en" # 英文
# 添加/删除搜索引擎
engines:
- name: your_engine
engine: engine_name
disabled: false修改后重启服务:
docker compose restart searxng- 创建
.env文件:
SEARXNG_HOSTNAME=your-domain.com
SEARXNG_EMAIL=admin@your-domain.com- 启用 Caddy(已包含在 docker-compose.yml 中)
编辑 docker-compose.yml:
services:
searxng:
ports:
- "8088:8080" # 修改左侧端口在搜索框中使用快捷键指定搜索引擎:
!bi 关键词 → Bing 搜索
!360 关键词 → 360 搜索
!sg 关键词 → 搜狗搜索
!wa 计算式 → WolframAlpha 计算
!bd 关键词 → 百度搜索(低频)
# 基本搜索
curl "http://localhost:8088/search?q=测试&format=json"
# 指定引擎
curl "http://localhost:8088/search?q=测试&engines=bing,360&format=json"
# JSON 格式
curl "http://localhost:8088/search?q=测试&format=json"
# RSS 格式
curl "http://localhost:8088/search?q=测试&format=rss"# 查看日志
docker logs searxng
# 常见问题:配置文件错误
# 解决:检查 YAML 语法
python3 -c "import yaml; yaml.safe_load(open('searxng/settings.yml'))"# 检查引擎名称
docker exec searxng ls /usr/local/searxng/searx/engines/ | grep baidu
# 查看详细日志
docker logs searxng | grep -i error查看 完整配置指南
欢迎提交 Issue 和 Pull Request!
- Fork 本项目
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启 Pull Request
- ✅ 初始版本
- ✅ 配置中国搜索引擎(360、搜狗、夸克、百度)
- ✅ 实施防爬虫策略
- ✅ 优化权重配置
- ✅ 完善文档和使用指南
- ✅ 集成 Caddy 自动 HTTPS
- Secret Key: 首次部署前建议修改
searxng/settings.yml中的secret_key - 公网部署: 如需公网访问,请配置域名并启用 Caddy
- 搜索引擎: 部分搜索引擎可能需要代理才能访问(如 Google)
- 资源占用: 建议至少 1GB RAM
- 修改默认的
secret_key - 公网部署时启用
limiter: true - 使用强密码保护管理界面
- 定期更新 Docker 镜像
- 限制管理接口的访问权限
本项目采用 MIT 许可证 - 详见 LICENSE 文件
- SearXNG - 优秀的开源搜索引擎
- searxng-docker - Docker 部署方案
- Issues: GitHub Issues
如果这个项目对你有帮助,请给个 ⭐️ Star!