- #1 SearXNG auth: remove external port, internal-only network, enable limiter - #2 Health checks: add docker-compose healthcheck + depends_on condition - #3 Rate limiting: add per-IP RateLimitMiddleware (30 req/min) - #4 Hardcoded secret: replace with ${SEARXNG_SECRET} env var - #5 Debug disclosure: debug=False, generic error messages, no stack traces - #6 Health endpoint: add /health route returning JSON status - #7 asyncio deprecation: get_event_loop() -> get_running_loop() - #8 httpx reuse: module-level singleton AsyncClient with connection pool
89 lines
1.5 KiB
YAML
89 lines
1.5 KiB
YAML
use_default_settings: True
|
|
|
|
general:
|
|
instance_name: "SearXNG"
|
|
debug: false
|
|
mail_to: admin@example.com
|
|
contact_url: false
|
|
donation_url: false
|
|
enable_metrics: true
|
|
|
|
search:
|
|
safe_search: 0
|
|
autocomplete: "google"
|
|
default_lang: "en-US"
|
|
formats:
|
|
- html
|
|
- json
|
|
|
|
server:
|
|
port: 8080
|
|
bind_address: "0.0.0.0"
|
|
secret_key: "${SEARXNG_SECRET}"
|
|
limiter: true
|
|
image_proxy: true
|
|
method: "GET"
|
|
|
|
engines:
|
|
- name: google
|
|
engine: google
|
|
sorting: relevance
|
|
use_mobile_ui: false
|
|
max_pages: 10
|
|
enabled: true
|
|
weight: 2
|
|
|
|
- name: duckduckgo
|
|
engine: duckduckgo
|
|
use_mobile_ui: false
|
|
enabled: true
|
|
weight: 1
|
|
|
|
- name: brave
|
|
engine: brave
|
|
enabled: true
|
|
weight: 1
|
|
|
|
- name: wikipedia
|
|
engine: wikipedia
|
|
enabled: true
|
|
weight: 1
|
|
|
|
- name: bing
|
|
engine: bing
|
|
enabled: true
|
|
weight: 1
|
|
|
|
- name: startpage
|
|
engine: startpage
|
|
enabled: true
|
|
weight: 1
|
|
|
|
- name: qwant
|
|
engine: qwant
|
|
enabled: true
|
|
weight: 1
|
|
|
|
- name: mozillian_ahrefs
|
|
engine: mozillian_ahrefs
|
|
enabled: true
|
|
|
|
- name: library_genesis
|
|
engine: library_genesis
|
|
enabled: false
|
|
|
|
- name: google news
|
|
engine: google_news
|
|
enabled: true
|
|
|
|
- name: duckduckgo news
|
|
engine: duckduckgo_news
|
|
enabled: true
|
|
|
|
outgoing:
|
|
request_timeout: 5.0
|
|
max_retries: 1
|
|
user_agent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/131.0.0.0"
|
|
max_connection_limit: 128
|
|
max_keepalive_connection: 20
|