SearXNG 사용법: 첫 검색부터 자체 호스팅 마스터까지
추적 없이 Google과 유사한 검색 결과를 원했다면 SearXNG는 개인 정보 보호를 우선시하는 메타 검색 엔진입니다. SearXNG는 사용자 프로파일링 없이 수십 개의 소스에서 결과를 집계하고 필터, 엔진, 심지어 호스팅까지 완벽하게 제어할 수 있도록 합니다. 이 가이드에서는 공개 인스턴스 사용, 검색 경험 사용자 정의, 그리고 최대한의 제어를 위한 개인 SearXNG 배포의 세 가지 방법을 안내합니다.
실질적인 도움을 드리기 위해 실제 단계, 복사할 수 있는 설정, 그리고 피해야 할 일반적인 함정과 함께 실용적이고 솔루션 중심적인 접근 방식을 취할 것입니다.
SearXNG란 무엇이며 왜 사용해야 할까요?
SearXNG는 오픈 소스 메타 검색 엔진입니다. 웹을 직접 크롤링하는 대신 다른 검색 엔진에 쿼리하여 통합된 인터페이스로 결과를 표시합니다. 여기서 중요한 점은 추적을 제거하고 광고를 없애며 (대부분의 인스턴스에서) 포함할 엔진, 검색할 카테고리 (웹, 이미지, 비디오, 파일, IT, 뉴스, 과학), 결과 표시 방식에 대한 세부적인 제어 기능을 제공한다는 것입니다.
빠른 시작: 공개 SearXNG 인스턴스 사용
공개 인스턴스(자원 봉사자가 운영하는 SearXNG 서버)로 시작할 수 있습니다. 일반적인 흐름:
- 신뢰할 수 있는 공개 인스턴스를 엽니다 (“SearXNG instances list” 또는 커뮤니티 스레드를 검색하여 활성적이고 평판이 좋은 서버를 찾으세요). 가동 시간, 속도 제한 및 개인 정보 보호 정책을 평가합니다.
- 쿼리를 입력하고 상단 탭을 통해 카테고리 (예: 웹, 이미지, 뉴스)를 선택합니다.
- 환경 설정 (톱니바퀴 아이콘)을 사용하여 다음을 설정합니다.
!g your query는 Google 엔진을 강제로 사용합니다 (해당 인스턴스에서 활성화된 경우).
- 인스턴스 구성에 따라
!ddg, !bing, !yt, !wp 등이 있습니다.
- 따옴표,
site:, filetype:pdf, inurl:, intitle:와 같은 표준 연산자는 많은 엔진에서 작동합니다.
- 즐겨 사용하는 인스턴스를 북마크하고 UI에서 지원하는 경우 기본 설정을 JSON blob으로 내보내기/가져오기합니다.
고급 팁: 공개 인스턴스는 남용으로부터 보호하기 위해 익명 사용자의 속도를 제한할 수 있습니다. Captcha가 표시되거나 속도가 느려지면 다른 인스턴스를 사용하거나 자체 호스팅하십시오.
인터페이스의 파워 유저 움직임
- 엔진 즉시 전환: 환경 설정 → 엔진에서 카테고리별로 특정 소스를 토글합니다.
- 결과 조정: 중복 항목을 숨기고, 시간 범위 (예: 지난 1년)를 변경하고, 관련성 또는 날짜별로 정렬합니다.
- 개인 정보 보호 토글: 쿼리하지 않으려는 엔진을 비활성화합니다. 일부 엔진은 API 키가 필요합니다. 없는 경우 사용되지 않습니다.
- 키보드 단축키: 많은 SearXNG 테마는 검색 상자에 초점을 맞추기 위해
/를 지원하고 화살표 키를 사용하여 결과를 탐색합니다.
SearXNG 자체 호스팅 방법 (Docker 방식)
자체 호스팅은 안정성, 속도 및 사용할 엔진에 대한 제어 기능을 제공합니다. Docker 방식이 가장 간단합니다.
요구 사항
- Linux VPS 또는 홈 서버 (가벼운 사용에는 2 vCPU/2 GB RAM이 적합함)
- Docker 및 Docker Compose 설치
- HTTPS를 위한 도메인/서브 도메인 및 선택적 역방향 프록시 (Caddy/Traefik/Nginx)
단계
- 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: 이름, 디버그 모드, 결과 수
server: 비밀 키, 바인딩 주소, 속도 제한
engines: 엔진 활성화/비활성화, 카테고리, 시간 초과
search: 안전 검색 기본값, 언어, 로캘
예제 스니펫:
general:
instance_name: "My Private SearXNG"
server:
secret_key: "<same as env or longer>"
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를 구축하는 데 유용합니다.
엔진 및 카테고리 조정
- 빠르고 개인 정보 보호에 좋은 소스 (예: Wikipedia, Stack Exchange, MDN, DuckDuckGo, Brave (허용되는 경우), YouTube/Reddit/Mastodon에 대한 공식 API)를 선호합니다.
- 네트워크에서 잦은 Captcha 또는 높은 지연 시간을 가진 엔진을 비활성화합니다.
- 카테고리별 기본값을 사용합니다. 예를 들어 “IT”에서 GitHub, Stack Overflow 및 PyPI를 활성화하고, “Science”에서 arXiv/Crossref를 활성화하고, “News”에 대해
time_range를 최근으로 설정합니다.
문제 해결 체크리스트
- Captcha 또는 빈 결과가 표시되나요? 차단을 일으키는 엔진을 줄이거나 교체하고, 시간 초과를 약간 늘리고, 캐싱을 활성화합니다.
- API 요청이 실패하나요? 역방향 프록시 헤더 및 CORS를 확인하고
format=json을 확인합니다.
- UI가 느린가요? 페이지당 결과 수를 줄이고, 무거운 엔진을 비활성화하고, Redis 캐시를 활성화합니다.
- Docker 재시작 루프가 발생하나요?
settings.yml 구문과 환경 변수의 유효성을 검사합니다.
팀 및 파워 유저를 위한 모범 사례
- 변경 사항을 추적하기 위해 비밀을 제외하고
settings.yml을 내보내고 버전 관리합니다.
- API 키에 비밀 관리자 또는
.env 파일을 사용합니다.
- 엔진 변경 사항에 최신 상태를 유지하기 위해 매주 컨테이너 새로 고침을 예약합니다.
- 엔진 오류 또는 속도 제한에 대한 로그를 모니터링합니다.
- 앱에 SearXNG를 포함하는 경우 재시도 시 백오프하고 금지를 피하기 위해 지연 시간을 무작위화합니다.
선택 사항: SearXNG를 다른 도구에 연결
- 연구 노트북 또는 채팅 워크플로에서 JSON API를 사용합니다.
- 개인 정보를 유지하기 위해 앱 기반 웹 검색을 개인 인스턴스를 통해 라우팅합니다.
- 일부 AI/웹 UI는 자체 엔드포인트를 통해 검색하기 위해 SearXNG에 연결할 수 있습니다 (기본 URL 및 API 매개변수를 적절하게 구성).
참고: 연구 워크플로를 만들거나 결과를 대규모로 요약하는 경우 Sider.AI와 같은 도구를 사용하면 여러 탭 또는 쿼리에서 읽기 및 요약 단계를 간소화할 수 있습니다. 개인 SearXNG 엔드포인트로 검색을 지정한 다음 Sider.AI를 사용하여 인사이트를 캡처하고, 브리핑을 작성하거나, 인용문을 자동으로 컴파일하여 연속으로 여러 검색을 실행할 때 시간을 절약할 수 있습니다. 보안 및 윤리
- 인스턴스가 공용 남용에 노출되지 않도록 하십시오. 속도 제한을 설정하고 필요한 경우 액세스를 제한합니다.
- 개인 정보 보호 기대 사항에 대해 팀 구성원에게 알립니다. IP 또는 쿼리를 저장하지 않도록 로그를 구성할 수 있습니다.
첫 15분 설정: 미니 체크리스트
- Docker를 스핀업하고 Compose 파일을 만듭니다.
SEARXNG_SECRET_KEY를 설정합니다.
- 컨테이너를 시작하고
:8080이 작동하는지 확인합니다.
- 프록시를 사용하여 HTTPS 뒤에 배치합니다.
settings.yml을 편집하여 신뢰하는 엔진을 활성화합니다.
- 기본 카테고리 및 SafeSearch를 설정합니다.
주요 내용
- SearXNG는 크롤러를 작성하지 않고도 개인 정보 보호, 제어 및 유연성을 제공합니다.
- 공개 인스턴스에서 시작한 다음 안정성 및 사용자 정의를 위해 자체 호스팅합니다.
- 속도와 관련성을 위해 엔진과 카테고리를 조정합니다.
- JSON API는 SearXNG를 연구 및 자동화에 이상적으로 만듭니다.
- HTTPS, 속도 제한 및 최소 로깅으로 배포를 강화합니다.
참조 및 추가 자료
- 매개변수 및 형식에 대한 공식 검색 API 개요.
- 단계별 자체 호스팅 연습 및 커뮤니티 자습서는 Docker 및 Windows 설정에 유용할 수 있습니다.
- SearXNG를 앱 워크플로 및 도구에 통합하는 것은 종종 위에서 사용된 것과 동일한 API 패턴을 따릅니다.
FAQ
Q1:SearXNG란 무엇이며 어떻게 작동합니까?
SearXNG는 사용자를 추적하지 않고 여러 소스를 쿼리하고 결과를 집계하는 개인 정보 보호 중심의 메타 검색 엔진입니다. 공개 인스턴스를 사용하거나 자체 호스팅하여 엔진, 필터 및 개인 정보 보호 설정을 완전히 제어할 수 있습니다.
Q2:Docker를 사용하여 SearXNG를 자체 호스팅하려면 어떻게 해야 합니까?
공식 이미지를 사용하여 Docker Compose 서비스를 만들고, 강력한 비밀 키를 설정하고, HTTPS를 사용하여 역방향 프록시 뒤에 노출합니다. settings.yml을 편집하여 엔진을 활성화하고, 카테고리를 구성하고, 개인 정보 보호 옵션을 조정합니다.
Q3:API를 통해 프로그래밍 방식으로 검색하는 데 SearXNG를 사용할 수 있습니까?
예. q, categories 및 format=json과 같은 매개변수를 사용하여 /search를 호출하여 자동화 및 앱에 대한 JSON 결과를 수신합니다. 이는 연구 파이프라인 및 내부 도구에 이상적입니다.
Q4:안전한 공개 SearXNG 인스턴스를 선택하려면 어떻게 해야 합니까?
명확한 개인 정보 보호 정책, 양호한 가동 시간 및 최소한의 Captcha를 제공하는 활성적이고 평판이 좋은 인스턴스를 찾으십시오. 속도 제한 또는 안정성 문제가 발생하는 경우 인스턴스를 전환하거나 자체 호스팅할 수도 있습니다.
Q5:SearXNG에서 어떤 검색 연산자가 작동합니까?
따옴표, site:, filetype:, inurl: 및 intitle:과 같은 일반적인 연산자는 일반적으로 작동하며 기본 엔진으로 전달됩니다. 인스턴스에서 지원하는 경우 뱅 바로 가기(예: !g, !ddg, !yt)를 사용할 수도 있습니다.