204 lines
4.4 KiB
Markdown
204 lines
4.4 KiB
Markdown
# metona-search-proxy
|
||
|
||
部署在可直连 Google/Bing/DuckDuckGo/Baidu 的云服务器上,通过 HTTP API 提供搜索引擎代理。
|
||
|
||
```
|
||
本应用(web_search) → HTTP → metona-search-proxy(:7899) → Google/Bing/DDG/Baidu → JSON
|
||
```
|
||
|
||
---
|
||
|
||
## 前置要求
|
||
|
||
| 依赖 | 说明 |
|
||
|------|------|
|
||
| **Go** | 1.21+(编译用,运行不需要) |
|
||
| **服务器** | 能直连 Google/Bing/DDG(海外云服务器/VPS) |
|
||
| **系统** | Linux (Ubuntu/Debian/CentOS) / macOS |
|
||
|
||
### 安装 Go(服务器上没有的话)
|
||
|
||
```bash
|
||
# Ubuntu/Debian
|
||
sudo apt update && sudo apt install -y golang-go
|
||
|
||
# CentOS/RHEL
|
||
sudo yum install -y golang
|
||
|
||
# 或手动安装最新版
|
||
wget https://go.dev/dl/go1.22.0.linux-amd64.tar.gz
|
||
sudo tar -C /usr/local -xzf go1.22.0.linux-amd64.tar.gz
|
||
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc && source ~/.bashrc
|
||
```
|
||
|
||
---
|
||
|
||
## 安装与编译
|
||
|
||
```bash
|
||
# 1. 克隆仓库
|
||
cd /opt
|
||
git clone https://gitee.com/thzxx/metona-ollama-desktop.git
|
||
cd metona-ollama-desktop/search-proxy
|
||
|
||
# 2. 编译
|
||
go build -o metona-search-proxy .
|
||
|
||
# 3. 验证
|
||
./metona-search-proxy --version
|
||
# metona-search-proxy v2.0.0 go/go1.22.0
|
||
```
|
||
|
||
### 本地交叉编译(在本地编译好上传)
|
||
|
||
```bash
|
||
# Windows 上编译 Linux 版本
|
||
GOOS=linux GOARCH=amd64 go build -o metona-search-proxy .
|
||
|
||
# macOS 上编译 Linux 版本
|
||
GOOS=linux GOARCH=amd64 go build -o metona-search-proxy .
|
||
|
||
# 上传到服务器
|
||
scp metona-search-proxy user@your-server:/opt/metona-search-proxy/
|
||
```
|
||
|
||
---
|
||
|
||
## CLI 命令
|
||
|
||
```bash
|
||
./metona-search-proxy [选项]
|
||
|
||
选项:
|
||
-port int 监听端口 (默认 7899)
|
||
-cache int 缓存时间/分钟 (默认 5)
|
||
-rate int 限流速率 req/s (默认 30)
|
||
-burst int 限流突发容量 (默认 60)
|
||
-timeout int 搜索引擎超时/秒 (默认 12)
|
||
-version 显示版本号
|
||
|
||
示例:
|
||
./metona-search-proxy # 默认配置
|
||
./metona-search-proxy -port 7899 -cache 10 # 自定义端口和缓存
|
||
./metona-search-proxy -port 7899 -rate 50 -burst 100 # 高并发配置
|
||
PORT=7899 ./metona-search-proxy # 也可用环境变量
|
||
```
|
||
|
||
---
|
||
|
||
## 测试
|
||
|
||
```bash
|
||
# 启动
|
||
./metona-search-proxy &
|
||
|
||
# 健康检查
|
||
curl http://localhost:7899/health
|
||
|
||
# 单引擎搜索
|
||
curl "http://localhost:7899/search?q=hello+world&engine=google&n=5"
|
||
|
||
# 四引擎并行
|
||
curl "http://localhost:7899/search?q=今天天气&engine=all&n=10"
|
||
|
||
# 百度搜索
|
||
curl "http://localhost:7899/search?q=春节&engine=baidu&n=5"
|
||
```
|
||
|
||
### 响应格式
|
||
|
||
```json
|
||
{
|
||
"success": true,
|
||
"query": "hello world",
|
||
"engine": "google",
|
||
"total": 5,
|
||
"results": [
|
||
{
|
||
"title": "...",
|
||
"url": "https://...",
|
||
"snippet": "...",
|
||
"engine": "google"
|
||
}
|
||
]
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
## 安装为系统服务(开机自启)
|
||
|
||
### 1. 拷贝二进制文件
|
||
|
||
```bash
|
||
sudo mkdir -p /opt/metona-search-proxy
|
||
sudo cp metona-search-proxy /opt/metona-search-proxy/
|
||
sudo chmod +x /opt/metona-search-proxy/metona-search-proxy
|
||
```
|
||
|
||
### 2. 创建 systemd 服务文件
|
||
|
||
```bash
|
||
sudo tee /etc/systemd/system/metona-search-proxy.service << 'EOF'
|
||
[Unit]
|
||
Description=Metona Search Proxy - Google/Bing/DDG/Baidu API
|
||
After=network.target
|
||
|
||
[Service]
|
||
Type=simple
|
||
ExecStart=/opt/metona-search-proxy/metona-search-proxy
|
||
Restart=always
|
||
RestartSec=5
|
||
Environment=PORT=7899
|
||
|
||
[Install]
|
||
WantedBy=multi-user.target
|
||
EOF
|
||
```
|
||
|
||
### 3. 启动服务
|
||
|
||
```bash
|
||
sudo systemctl daemon-reload
|
||
sudo systemctl enable metona-search-proxy # 开机自启
|
||
sudo systemctl start metona-search-proxy # 立即启动
|
||
|
||
# 查看状态
|
||
sudo systemctl status metona-search-proxy
|
||
|
||
# 查看日志
|
||
sudo journalctl -u metona-search-proxy -f
|
||
```
|
||
|
||
### 4. 验证
|
||
|
||
```bash
|
||
curl http://localhost:7899/health
|
||
# {"engines":["google","bing","ddg","baidu","all"],"status":"ok","time":"...","version":"2.0.0"}
|
||
```
|
||
|
||
---
|
||
|
||
## 本应用配置
|
||
|
||
Metona Ollama Desktop 设置面板 → 代理设置 → 填入:
|
||
|
||
```
|
||
http://你的服务器IP:7899
|
||
```
|
||
|
||
重启应用即可。web_search 的 Google/DDG/Bing/百度 四引擎请求会自动路由到这台服务器。
|
||
|
||
---
|
||
|
||
## 常用管理命令
|
||
|
||
```bash
|
||
sudo systemctl start metona-search-proxy # 启动
|
||
sudo systemctl stop metona-search-proxy # 停止
|
||
sudo systemctl restart metona-search-proxy # 重启
|
||
sudo systemctl status metona-search-proxy # 状态
|
||
sudo journalctl -u metona-search-proxy -f # 实时日志
|
||
sudo journalctl -u metona-search-proxy --since today # 今日日志
|
||
```
|