diff --git a/apps/searxng/2025.8.26-71f9075/.env.sample b/apps/searxng/2025.8.26-71f9075/.env.sample new file mode 100644 index 0000000..ead5e2f --- /dev/null +++ b/apps/searxng/2025.8.26-71f9075/.env.sample @@ -0,0 +1,4 @@ +CONTAINER_NAME="searxng" +PANEL_APP_PORT_HTTP="40032" +DATA_PATH="./data" +SEARXNG_EXTERNAL_URL="http://localhost:40032" diff --git a/apps/searxng/2025.8.26-71f9075/data.yml b/apps/searxng/2025.8.26-71f9075/data.yml new file mode 100644 index 0000000..fd1350c --- /dev/null +++ b/apps/searxng/2025.8.26-71f9075/data.yml @@ -0,0 +1,24 @@ +additionalProperties: + formFields: + - default: 40032 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number + - default: ./data + edit: true + envKey: DATA_PATH + labelEn: Data folder path + labelZh: 数据文件夹路径 + required: true + type: text + - default: http://localhost:40032 + edit: true + envKey: SEARXNG_EXTERNAL_URL + labelEn: External URL + labelZh: 外部访问地址 + required: true + type: text diff --git a/apps/searxng/2025.8.26-71f9075/docker-compose.yml b/apps/searxng/2025.8.26-71f9075/docker-compose.yml new file mode 100644 index 0000000..5ee661e --- /dev/null +++ b/apps/searxng/2025.8.26-71f9075/docker-compose.yml @@ -0,0 +1,19 @@ +services: + searxng: + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:8080" + volumes: + - "${DATA_PATH}:/etc/searxng" + environment: + - BASE_URL=${SEARXNG_EXTERNAL_URL} + image: searxng/searxng:2025.8.26-71f9075 + labels: + createdBy: "Apps" + +networks: + 1panel-network: + external: true diff --git a/apps/searxng/README.md b/apps/searxng/README.md new file mode 100644 index 0000000..bb8012b --- /dev/null +++ b/apps/searxng/README.md @@ -0,0 +1,54 @@ +# SearXNG 介绍 + +## 简介 + +SearXNG 是一个开源的元搜索引擎,旨在保护用户隐私并提供无广告、无追踪的搜索体验。它能够聚合来自多个主流搜索引擎(如 Google、Bing、DuckDuckGo、Baidu 等)的结果,支持自建部署,用户完全掌控自己的搜索数据。SearXNG 是 SearX 项目的现代化分支,拥有更活跃的社区和持续的功能更新。 + +![](https://cdn.jsdelivr.net/gh/xiaoY233/PicList@main/public/assets/Searxng.png) + +![](https://img.shields.io/badge/Copyright-arch3rPro-ff9800?style=flat&logo=github&logoColor=white) + +## 主要特性 + +- **隐私保护**:不记录用户搜索历史,不追踪用户行为,支持匿名搜索。 +- **多引擎聚合**:支持数十种主流和垂直搜索引擎,结果可自定义排序和过滤。 +- **自定义与扩展**:支持插件、主题、API 扩展,界面和功能高度可定制。 +- **开源自托管**:基于 Python,支持 Docker 部署,适合个人和企业自建。 +- **无广告体验**:默认无广告,界面简洁,专注于搜索本身。 +- **多语言支持**:内置多种语言界面,适合全球用户。 +- **API 支持**:提供 RESTful API,便于集成到其他应用或自动化流程。 +- **安全性**:支持 HTTPS、反爬虫、速率限制等安全机制。 + +## MCP 接入 + +SearXNG 支持通过 API 与 MCP(Model Context Protocol)等智能应用集成,实现搜索能力的智能化扩展。典型接入方式如下: + +1. **启用 SearXNG API** + 在 `settings.yml` 中开启 API 支持,确保外部应用可通过 HTTP 请求访问搜索结果。 + ```yaml + server: + bind_address: "0.0.0.0" + port: 8080 + secret_key: "your_secret" + api: + enabled: true + ``` + +2. **MCP 侧配置 SearXNG 作为搜索插件** + 在 MCP 平台中添加 SearXNG 搜索插件,配置 API 地址(如 `http://your-searxng-instance:8080/search?q={query}&format=json`),并设置好参数映射。 + +3. **请求与响应示例** + MCP 通过 HTTP GET 请求 SearXNG API,获取 JSON 格式的搜索结果,并将其用于上下文补全、智能问答等场景。 + ```http + GET /search?q=OpenAI&format=json HTTP/1.1 + Host: your-searxng-instance:8080 + ``` + +4. **安全与权限** + 建议为 SearXNG API 设置访问控制(如 IP 白名单、API 密钥等),防止未授权访问。 + +5. **高级集成** + 可结合 SearXNG 的自定义过滤器、插件机制,实现更丰富的搜索能力,如自动摘要、结果去重、内容分类等,提升 MCP 智能应用的搜索体验。 + +--- +如需详细部署与集成文档,可参考 [SearXNG 官方文档](https://docs.searxng.org/) 及 MCP 平台相关说明。 \ No newline at end of file diff --git a/apps/searxng/README_en.md b/apps/searxng/README_en.md new file mode 100644 index 0000000..e63d6b1 --- /dev/null +++ b/apps/searxng/README_en.md @@ -0,0 +1,54 @@ +# SearXNG Introduction + +## Overview + +SearXNG is an open-source metasearch engine designed to protect user privacy and provide an ad-free, tracking-free search experience. It aggregates results from multiple mainstream search engines (such as Google, Bing, DuckDuckGo, Baidu, etc.), supports self-hosted deployment, and gives users complete control over their search data. SearXNG is a modernized fork of the SearX project, featuring a more active community and continuous feature updates. + +![](https://cdn.jsdelivr.net/gh/xiaoY233/PicList@main/public/assets/Searxng.png) + +![](https://img.shields.io/badge/Copyright-arch3rPro-ff9800?style=flat&logo=github&logoColor=white) + +## Key Features + +- **Privacy Protection**: Does not record user search history, does not track user behavior, supports anonymous searching. +- **Multi-engine Aggregation**: Supports dozens of mainstream and vertical search engines, with customizable result sorting and filtering. +- **Customization & Extension**: Supports plugins, themes, API extensions, with highly customizable interface and functionality. +- **Open Source Self-hosting**: Based on Python, supports Docker deployment, suitable for personal and enterprise self-hosting. +- **Ad-free Experience**: Ad-free by default, clean interface, focused on search itself. +- **Multi-language Support**: Built-in multilingual interface, suitable for global users. +- **API Support**: Provides RESTful API, convenient for integration into other applications or automation workflows. +- **Security**: Supports HTTPS, anti-crawling, rate limiting and other security mechanisms. + +## MCP Integration + +SearXNG supports integration with MCP (Model Context Protocol) and other intelligent applications through API, enabling intelligent extension of search capabilities. Typical integration methods are as follows: + +1. **Enable SearXNG API** + Enable API support in `settings.yml` to ensure external applications can access search results through HTTP requests. + ```yaml + server: + bind_address: "0.0.0.0" + port: 8080 + secret_key: "your_secret" + api: + enabled: true + ``` + +2. **Configure SearXNG as Search Plugin on MCP Side** + Add SearXNG search plugin in the MCP platform, configure API address (such as `http://your-searxng-instance:8080/search?q={query}&format=json`), and set up parameter mapping. + +3. **Request and Response Example** + MCP accesses SearXNG API through HTTP GET requests, obtains JSON format search results, and uses them for context completion, intelligent Q&A and other scenarios. + ```http + GET /search?q=OpenAI&format=json HTTP/1.1 + Host: your-searxng-instance:8080 + ``` + +4. **Security and Permissions** + It is recommended to set access control for SearXNG API (such as IP whitelist, API keys, etc.) to prevent unauthorized access. + +5. **Advanced Integration** + Can be combined with SearXNG's custom filters and plugin mechanisms to achieve richer search capabilities, such as automatic summarization, result deduplication, content classification, etc., to enhance the search experience of MCP intelligent applications. + +--- +For detailed deployment and integration documentation, please refer to [SearXNG Official Documentation](https://docs.searxng.org/) and MCP platform related instructions. diff --git a/apps/searxng/data.yml b/apps/searxng/data.yml new file mode 100644 index 0000000..68d3653 --- /dev/null +++ b/apps/searxng/data.yml @@ -0,0 +1,21 @@ +name: SearXNG +tags: + - Tool + - DevTool + - Local +title: 一个免费的互联网元聚合搜索引擎 +description: 一个免费的互联网元聚合搜索引擎 +additionalProperties: + key: searxng + name: SearXNG + tags: + - Website + shortDescZh: 一个免费的互联网元聚合搜索引擎 + shortDescEn: A free internet meta-aggregator search engine + type: website + crossVersionUpdate: true + limit: 0 + recommend: 0 + website: https://github.com/searxng/searxng + github: https://github.com/searxng/searxng + document: https://docs.searxng.org/ diff --git a/apps/searxng/latest/.env.sample b/apps/searxng/latest/.env.sample new file mode 100644 index 0000000..ead5e2f --- /dev/null +++ b/apps/searxng/latest/.env.sample @@ -0,0 +1,4 @@ +CONTAINER_NAME="searxng" +PANEL_APP_PORT_HTTP="40032" +DATA_PATH="./data" +SEARXNG_EXTERNAL_URL="http://localhost:40032" diff --git a/apps/searxng/latest/data.yml b/apps/searxng/latest/data.yml new file mode 100644 index 0000000..fd1350c --- /dev/null +++ b/apps/searxng/latest/data.yml @@ -0,0 +1,24 @@ +additionalProperties: + formFields: + - default: 40032 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number + - default: ./data + edit: true + envKey: DATA_PATH + labelEn: Data folder path + labelZh: 数据文件夹路径 + required: true + type: text + - default: http://localhost:40032 + edit: true + envKey: SEARXNG_EXTERNAL_URL + labelEn: External URL + labelZh: 外部访问地址 + required: true + type: text diff --git a/apps/searxng/latest/docker-compose.yml b/apps/searxng/latest/docker-compose.yml new file mode 100644 index 0000000..1ed4874 --- /dev/null +++ b/apps/searxng/latest/docker-compose.yml @@ -0,0 +1,19 @@ +services: + searxng: + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:8080" + volumes: + - "${DATA_PATH}:/etc/searxng" + environment: + - BASE_URL=${SEARXNG_EXTERNAL_URL} + image: searxng/searxng:latest + labels: + createdBy: "Apps" + +networks: + 1panel-network: + external: true diff --git a/apps/searxng/logo.png b/apps/searxng/logo.png new file mode 100644 index 0000000..19433d4 Binary files /dev/null and b/apps/searxng/logo.png differ