如何使用 SearXNG:從首次搜尋到自架主機精通
如果您想要像 Google 一樣的搜尋結果,但又不想被追蹤,SearXNG 就是您首選的注重隱私的。它匯總來自數十個來源的結果——不對您進行分析——並讓您可以完全控制過濾器、引擎甚至主機。在本指南中,我們將介紹三種途徑:使用公共實例、自訂您的搜尋體驗,以及部署您自己的私人 SearXNG 以實現最大程度的控制。
為了使其具有可操作性,我們將採用一種實用且以解決方案為導向的方法,提供實際操作步驟、您可以複製的設定以及要避免的常見陷阱。
什麼是 SearXNG,為什麼要使用它?
SearXNG 是一個開放原始碼的元搜尋引擎。它不自行爬取網路,而是查詢其他搜尋引擎,並在統一的介面中呈現結果。特別之處在於:它會刪除追蹤、移除廣告(在大多數實例上),並讓您可以精細地控制要包含哪些引擎、要搜尋哪些類別(網路、圖片、影片、檔案、IT、新聞、科學),以及如何呈現結果。
快速開始:使用公共 SearXNG 實例
您可以從公共實例(由志願者運行的 SearXNG 伺服器)開始。典型流程:
- 開啟一個可靠的公共實例(搜尋“SearXNG instances list”或社群討論串以尋找活躍、信譽良好的伺服器)。評估正常運行時間、速率限制和隱私權聲明。
- 輸入您的查詢,並透過頂部的標籤選擇類別(例如,網路、圖片、新聞)。
!g 您的查詢 強制使用 Google 引擎(如果該實例上已啟用)
!ddg、!bing、!yt、!wp 等,具體取決於實例配置
- 標準運算符(如引號、
site:、filetype:pdf、inurl:、intitle:)可在許多引擎上使用
- 如果您喜歡某個實例,請將其加入書籤,並匯出/匯入「偏好設定」作為 JSON blob(如果 UI 支援)。
專業提示:公共實例可能會對匿名使用者進行速率限制,以保護自己免受濫用。如果您看到驗證碼或速度減慢,請嘗試另一個實例或自架主機。
介面中的進階使用者操作
- 動態切換引擎:在「偏好設定」→「引擎」中,切換每個類別的特定來源。
- 調整結果:隱藏重複項、變更時間範圍(例如,過去一年)、按相關性或日期排序。
- 隱私權切換:停用您不希望查詢的任何引擎。某些引擎需要 API 金鑰;如果沒有,它們將不會被使用。
- 鍵盤快速鍵:許多 SearXNG 主題支援
/ 以聚焦搜尋框,並使用方向鍵導覽結果。
如何自架主機 SearXNG(Docker 方式)
自架主機可讓您擁有可靠性、速度以及控制要使用哪些引擎。Docker 途徑是最簡單的。
需求
- Linux VPS 或家用伺服器(2 個 vCPU/2 GB RAM 對於輕度使用來說很舒適)
- 已安裝 Docker 和 Docker Compose
- 一個網域/子網域和可選的反向代理 (Caddy/Traefik/Nginx) 用於 HTTPS
步驟
- 複製 SearXNG 部署儲存庫(或使用最小的 Compose 檔案):
version: "3.8"
services:
searxng:
image: searxng/searxng:latest
container_name: searxng
environment:
- BASE_URL=
- SEARXNG_SECRET_KEY=change_me_to_a_long_random_value
volumes:
- ./searxng:/etc/searxng
ports:
- "8080:8080"
restart: unless-stopped
- 產生一個強大的
SEARXNG_SECRET_KEY(例如,openssl rand -hex 32)。
- 使用 HTTPS 配置反向代理(Caddy 範例):
search.example.com {
reverse_proxy 127.0.0.1:8080
}
Caddy 將透過 Let’s Encrypt 自動佈建 TLS。
核心配置:settings.yml
首次運行後,您將在您的掛載磁碟區下擁有配置(例如,./searxng/settings.yml)。主要章節:
範例程式碼片段:
general:
instance_name: "My Private SearXNG"
server:
secret_key: "<與 env 相同或更長>"
image_proxy: true
rate_limit: "60/minute"
search:
safe_search: 1 # 0 off, 1 moderate, 2 strict
autocomplete: "duckduckgo"
ui:
default_theme: "simple"
infinite_scroll: true
engines:
- name: duckduckgo
engine: duckduckgo
categories: .
### Quick Example
- Endpoint: `/search`
- Methods: GET or POST
- Parameters: `q` (query), `categories`, `language`, `format=json`, `time_range`, `safesearch`
```bash
curl "
回應包括自然搜尋結果、使用的引擎和時間。非常適合建構研究自動化、本地儀表板和自訂 UI。
調整引擎和類別
- 首選快速、注重隱私的來源(例如,維基百科、Stack Exchange、MDN、DuckDuckGo、Brave(如果允許)、YouTube/Reddit/Mastodon 的官方 API)。
- 使用每個類別的預設值;例如,在“IT”下啟用 GitHub、Stack Overflow 和 PyPI,在“科學”下啟用 arXiv/Crossref,並將
time_range 設定為“新聞”的最近時間。
疑難排解清單
- 看到驗證碼或空白結果?減少或輪換導致封鎖的引擎;稍微增加逾時;啟用快取。
- API 請求失敗?檢查反向代理標頭和 CORS;確認
format=json。
- UI 速度慢?減少每頁的結果數量;停用繁重的引擎;啟用 Redis 快取。
- Docker 重新啟動循環?驗證
settings.yml 語法和您的環境變數。
團隊和進階使用者的最佳實務
- 匯出並版本控制您的
settings.yml(不含密鑰)以追蹤變更。
- 將密鑰管理員或
.env 檔案用於 API 金鑰。
- 如果您將 SearXNG 嵌入應用程式中,請減少重試次數並隨機化延遲,以避免被禁止。
可選:將 SearXNG 連接到其他工具
- 在您的研究筆記本或聊天工作流程中使用 JSON API。
- 透過您的私有實例路由基於應用程式的網路搜尋,以維護隱私。
- 某些 AI/網路 UI 可以插入 SearXNG,以透過您自己的端點進行瀏覽(相應地配置基本 URL 和 API 參數)。
值得注意的是:如果您正在大規模製作研究工作流程或總結結果,像 Sider.AI 這樣的工具可以簡化跨多個標籤或查詢的讀取和總結步驟。您可以將瀏覽指向私有 SearXNG 端點,然後使用 Sider.AI 自動捕獲見解、起草簡報或編譯引文,這可以在您連續運行多個搜尋時節省時間。 安全性和倫理
- 不要將您的實例暴露於公開濫用;進行速率限制,並在需要時限制存取。
- 告知團隊成員有關隱私期望;可以配置日誌以避免儲存 IP 或查詢。
您的首次 15 分鐘設定:迷你檢查表
- 編輯
settings.yml 以啟用您信任的引擎
主要要點
- SearXNG 為您提供隱私、控制和靈活性,而無需編寫爬蟲程式。
- JSON API 使 SearXNG 成為研究和自動化的理想選擇。
- 使用 HTTPS、速率限制和最小日誌記錄來強化您的部署。
參考文獻和延伸閱讀
- 逐步自架主機演練和社群教程對於 Docker 和 Windows 設定可能很有幫助。
- 將 SearXNG 整合到應用程式工作流程和工具中通常遵循與上面使用的相同的 API 模式。
常見問題
Q1:什麼是 SearXNG 以及它是如何運作的?
SearXNG 是一個注重隱私的元搜尋引擎,它查詢多個來源並匯總結果,而不追蹤使用者。您可以使用公共實例或自架主機,以完全控制引擎、過濾器和隱私設定。
Q2:如何使用 Docker 自架主機 SearXNG?
使用官方映像建立 Docker Compose 服務,設定強密鑰,並將其公開在具有 HTTPS 的反向代理後面。編輯 settings.yml 以啟用引擎、配置類別和調整隱私選項。
Q3:我可以使用 SearXNG 透過 API 進行程式化搜尋嗎?
可以。使用 q、categories 和 format=json 等參數調用 /search,以接收用於自動化和應用程式的 JSON 結果。這非常適合研究管道和內部工具。
Q4:如何選擇安全的公共 SearXNG 實例?
尋找具有明確隱私權聲明、良好正常運行時間和最少驗證碼的活躍、信譽良好的實例。如果您遇到速率限制或可靠性問題,您也可以切換實例或自架主機。
Q5:哪些搜尋運算符在 SearXNG 中起作用?
常見的運算符(如引號、site:、filetype:、inurl: 和 intitle:)通常起作用並傳遞到基礎引擎。如果實例支持,您也可以使用 bang 快捷方式(例如,!g、!ddg、!yt)。