#
tokens: 27254/50000 1/38 files (page 2/2)
lines: on (toggle) GitHub
raw markdown copy reset
This is page 2 of 2. Use http://codebase.md/yokingma/one-search-mcp?lines=true&page={x} to view the full context.

# Directory Structure

```
├── .gitignore
├── deploy
│   ├── docker-compose.yaml
│   ├── README.md
│   └── searxng
│       ├── settings.yml
│       └── uwsgi.ini
├── dist
│   ├── index.cjs
│   ├── index.cjs.map
│   ├── index.d.cts
│   ├── index.d.ts
│   ├── index.js
│   └── index.js.map
├── Dockerfile
├── eslint.config.mjs
├── LICENSE
├── package.json
├── README.md
├── smithery.yaml
├── src
│   ├── global.d.ts
│   ├── index.ts
│   ├── interface.ts
│   ├── libs
│   │   ├── browser
│   │   │   ├── base.ts
│   │   │   ├── finder.ts
│   │   │   ├── index.ts
│   │   │   ├── local.ts
│   │   │   ├── remote.ts
│   │   │   └── types.ts
│   │   └── browser-search
│   │       ├── engines
│   │       │   ├── baidu.ts
│   │       │   ├── bing.ts
│   │       │   ├── get.ts
│   │       │   ├── google.ts
│   │       │   ├── index.ts
│   │       │   └── sogou.ts
│   │       ├── index.ts
│   │       ├── queue.ts
│   │       ├── readability.ts
│   │       ├── search.ts
│   │       ├── types.ts
│   │       └── utils.ts
│   ├── search
│   │   ├── bing.ts
│   │   ├── duckduckgo.ts
│   │   ├── index.ts
│   │   ├── local.ts
│   │   ├── searxng.ts
│   │   └── tavily.ts
│   └── tools.ts
└── tsconfig.json
```

# Files

--------------------------------------------------------------------------------
/deploy/searxng/settings.yml:
--------------------------------------------------------------------------------

```yaml
   1 | general:
   2 |   # Debug mode, only for development. Is overwritten by ${SEARXNG_DEBUG}
   3 |   debug: false
   4 |   # displayed name
   5 |   instance_name: "searxng"
   6 |   # For example: https://example.com/privacy
   7 |   privacypolicy_url: false
   8 |   # use true to use your own donation page written in searx/info/en/donate.md
   9 |   # use false to disable the donation link
  10 |   donation_url: false
  11 |   # mailto:[email protected]
  12 |   contact_url: false
  13 |   # record stats
  14 |   enable_metrics: true
  15 | 
  16 | brand:
  17 |   new_issue_url: https://github.com/searxng/searxng/issues/new
  18 |   docs_url: https://docs.searxng.org/
  19 |   public_instances: https://searx.space
  20 |   wiki_url: https://github.com/searxng/searxng/wiki
  21 |   issue_url: https://github.com/searxng/searxng/issues
  22 |   # custom:
  23 |   #   maintainer: "Jon Doe"
  24 |   #   # Custom entries in the footer: [title]: [link]
  25 |   #   links:
  26 |   #     Uptime: https://uptime.searxng.org/history/darmarit-org
  27 |   #     About: "https://searxng.org"
  28 | 
  29 | search:
  30 |   # Filter results. 0: None, 1: Moderate, 2: Strict
  31 |   safe_search: 0
  32 |   # Existing autocomplete backends: "dbpedia", "duckduckgo", "google", "yandex", "mwmbl",
  33 |   # "seznam", "startpage", "stract", "swisscows", "qwant", "wikipedia" - leave blank to turn it off
  34 |   # by default.
  35 |   autocomplete: ""
  36 |   # minimun characters to type before autocompleter starts
  37 |   autocomplete_min: 4
  38 |   # Default search language - leave blank to detect from browser information or
  39 |   # use codes from 'languages.py'
  40 |   default_lang: "auto"
  41 |   # max_page: 0  # if engine supports paging, 0 means unlimited numbers of pages
  42 |   # Available languages
  43 |   # languages:
  44 |   #   - all
  45 |   #   - en
  46 |   #   - en-US
  47 |   #   - de
  48 |   #   - it-IT
  49 |   #   - fr
  50 |   #   - fr-BE
  51 |   # ban time in seconds after engine errors
  52 |   ban_time_on_fail: 5
  53 |   # max ban time in seconds after engine errors
  54 |   max_ban_time_on_fail: 120
  55 |   suspended_times:
  56 |     # Engine suspension time after error (in seconds; set to 0 to disable)
  57 |     # For error "Access denied" and "HTTP error [402, 403]"
  58 |     SearxEngineAccessDenied: 86400
  59 |     # For error "CAPTCHA"
  60 |     SearxEngineCaptcha: 86400
  61 |     # For error "Too many request" and "HTTP error 429"
  62 |     SearxEngineTooManyRequests: 3600
  63 |     # Cloudflare CAPTCHA
  64 |     cf_SearxEngineCaptcha: 1296000
  65 |     cf_SearxEngineAccessDenied: 86400
  66 |     # ReCAPTCHA
  67 |     recaptcha_SearxEngineCaptcha: 604800
  68 | 
  69 |   # remove format to deny access, use lower case.
  70 |   # formats: [html, csv, json, rss]
  71 |   formats:
  72 |     - html
  73 |     - json
  74 | 
  75 | server:
  76 |   # Is overwritten by ${SEARXNG_PORT} and ${SEARXNG_BIND_ADDRESS}
  77 |   port: 8888
  78 |   bind_address: "127.0.0.1"
  79 |   # public URL of the instance, to ensure correct inbound links. Is overwritten
  80 |   # by ${SEARXNG_URL}.
  81 |   base_url: /  # "http://example.com/location"
  82 |   # rate limit the number of request on the instance, block some bots.
  83 |   # Is overwritten by ${SEARXNG_LIMITER}
  84 |   limiter: false
  85 |   # enable features designed only for public instances.
  86 |   # Is overwritten by ${SEARXNG_PUBLIC_INSTANCE}
  87 |   public_instance: false
  88 | 
  89 |   # If your instance owns a /etc/searxng/settings.yml file, then set the following
  90 |   # values there.
  91 | 
  92 |   secret_key: "09fdb393fba89866f4b3ed5ed4a13c735c9f8cb83947f31b0a306f3fa21f62c2"  # Is overwritten by ${SEARXNG_SECRET}
  93 |   # Proxy image results through SearXNG. Is overwritten by ${SEARXNG_IMAGE_PROXY}
  94 |   image_proxy: false
  95 |   # 1.0 and 1.1 are supported
  96 |   http_protocol_version: "1.0"
  97 |   # POST queries are more secure as they don't show up in history but may cause
  98 |   # problems when using Firefox containers
  99 |   method: "POST"
 100 |   default_http_headers:
 101 |     X-Content-Type-Options: nosniff
 102 |     X-Download-Options: noopen
 103 |     X-Robots-Tag: noindex, nofollow
 104 |     Referrer-Policy: no-referrer
 105 | 
 106 | redis:
 107 |   # URL to connect redis database. Is overwritten by ${SEARXNG_REDIS_URL}.
 108 |   # https://docs.searxng.org/admin/settings/settings_redis.html#settings-redis
 109 |   url: false
 110 | 
 111 | ui:
 112 |   # Custom static path - leave it blank if you didn't change
 113 |   static_path: ""
 114 |   # Is overwritten by ${SEARXNG_STATIC_USE_HASH}.
 115 |   static_use_hash: false
 116 |   # Custom templates path - leave it blank if you didn't change
 117 |   templates_path: ""
 118 |   # query_in_title: When true, the result page's titles contains the query
 119 |   # it decreases the privacy, since the browser can records the page titles.
 120 |   query_in_title: false
 121 |   # infinite_scroll: When true, automatically loads the next page when scrolling to bottom of the current page.
 122 |   infinite_scroll: false
 123 |   # ui theme
 124 |   default_theme: simple
 125 |   # center the results ?
 126 |   center_alignment: false
 127 |   # URL prefix of the internet archive, don't forget trailing slash (if needed).
 128 |   # cache_url: "https://webcache.googleusercontent.com/search?q=cache:"
 129 |   # Default interface locale - leave blank to detect from browser information or
 130 |   # use codes from the 'locales' config section
 131 |   default_locale: ""
 132 |   # Open result links in a new tab by default
 133 |   # results_on_new_tab: false
 134 |   theme_args:
 135 |     # style of simple theme: auto, light, dark
 136 |     simple_style: auto
 137 |   # Perform search immediately if a category selected.
 138 |   # Disable to select multiple categories at once and start the search manually.
 139 |   search_on_category_select: true
 140 |   # Hotkeys: default or vim
 141 |   hotkeys: default
 142 | 
 143 | # Lock arbitrary settings on the preferences page.  To find the ID of the user
 144 | # setting you want to lock, check the ID of the form on the page "preferences".
 145 | #
 146 | # preferences:
 147 | #   lock:
 148 | #     - language
 149 | #     - autocomplete
 150 | #     - method
 151 | #     - query_in_title
 152 | 
 153 | # searx supports result proxification using an external service:
 154 | # https://github.com/asciimoo/morty uncomment below section if you have running
 155 | # morty proxy the key is base64 encoded (keep the !!binary notation)
 156 | # Note: since commit af77ec3, morty accepts a base64 encoded key.
 157 | #
 158 | # result_proxy:
 159 | #   url: http://127.0.0.1:3000/
 160 | #   # the key is a base64 encoded string, the YAML !!binary prefix is optional
 161 | #   key: !!binary "your_morty_proxy_key"
 162 | #   # [true|false] enable the "proxy" button next to each result
 163 | #   proxify_results: true
 164 | 
 165 | # communication with search engines
 166 | #
 167 | outgoing:
 168 |   # default timeout in seconds, can be override by engine
 169 |   request_timeout: 3.0
 170 |   # the maximum timeout in seconds
 171 |   # max_request_timeout: 10.0
 172 |   # suffix of searx_useragent, could contain information like an email address
 173 |   # to the administrator
 174 |   useragent_suffix: ""
 175 |   # The maximum number of concurrent connections that may be established.
 176 |   pool_connections: 100
 177 |   # Allow the connection pool to maintain keep-alive connections below this
 178 |   # point.
 179 |   pool_maxsize: 20
 180 |   # See https://www.python-httpx.org/http2/
 181 |   enable_http2: true
 182 |   # uncomment below section if you want to use a custom server certificate
 183 |   # see https://www.python-httpx.org/advanced/#changing-the-verification-defaults
 184 |   # and https://www.python-httpx.org/compatibility/#ssl-configuration
 185 |   #  verify: ~/.mitmproxy/mitmproxy-ca-cert.cer
 186 |   #
 187 |   # uncomment below section if you want to use a proxyq see: SOCKS proxies
 188 |   #   https://2.python-requests.org/en/latest/user/advanced/#proxies
 189 |   # are also supported: see
 190 |   #   https://2.python-requests.org/en/latest/user/advanced/#socks
 191 |   #
 192 |   #  proxies:
 193 |   #    all://:
 194 |   #      - http://proxy1:8080
 195 |   #      - http://proxy2:8080
 196 |   #
 197 |   #  using_tor_proxy: true
 198 |   #
 199 |   # Extra seconds to add in order to account for the time taken by the proxy
 200 |   #
 201 |   #  extra_proxy_timeout: 10
 202 |   #
 203 |   # uncomment below section only if you have more than one network interface
 204 |   # which can be the source of outgoing search requests
 205 |   #
 206 |   #  source_ips:
 207 |   #    - 1.1.1.1
 208 |   #    - 1.1.1.2
 209 |   #    - fe80::/126
 210 | 
 211 | # External plugin configuration, for more details see
 212 | #   https://docs.searxng.org/dev/plugins.html
 213 | #
 214 | # plugins:
 215 | #   - plugin1
 216 | #   - plugin2
 217 | #   - ...
 218 | 
 219 | # Comment or un-comment plugin to activate / deactivate by default.
 220 | #
 221 | # enabled_plugins:
 222 | #   # these plugins are enabled if nothing is configured ..
 223 | #   - 'Basic Calculator'
 224 | #   - 'Hash plugin'
 225 | #   - 'Self Information'
 226 | #   - 'Tracker URL remover'
 227 | #   - 'Ahmia blacklist'  # activation depends on outgoing.using_tor_proxy
 228 | #   # these plugins are disabled if nothing is configured ..
 229 | #   - 'Hostnames plugin'  # see 'hostnames' configuration below
 230 | #   - 'Open Access DOI rewrite'
 231 | #   - 'Tor check plugin'
 232 | #   # Read the docs before activate: auto-detection of the language could be
 233 | #   # detrimental to users expectations / users can activate the plugin in the
 234 | #   # preferences if they want.
 235 | #   - 'Autodetect search language'
 236 | 
 237 | # Configuration of the "Hostnames plugin":
 238 | #
 239 | # hostnames:
 240 | #   replace:
 241 | #     '(.*\.)?youtube\.com$': 'invidious.example.com'
 242 | #     '(.*\.)?youtu\.be$': 'invidious.example.com'
 243 | #     '(.*\.)?reddit\.com$': 'teddit.example.com'
 244 | #     '(.*\.)?redd\.it$': 'teddit.example.com'
 245 | #     '(www\.)?twitter\.com$': 'nitter.example.com'
 246 | #   remove:
 247 | #     - '(.*\.)?facebook.com$'
 248 | #   low_priority:
 249 | #     - '(.*\.)?google(\..*)?$'
 250 | #   high_priority:
 251 | #     - '(.*\.)?wikipedia.org$'
 252 | #
 253 | # Alternatively you can use external files for configuring the "Hostnames plugin":
 254 | #
 255 | # hostnames:
 256 | #  replace: 'rewrite-hosts.yml'
 257 | #
 258 | # Content of 'rewrite-hosts.yml' (place the file in the same directory as 'settings.yml'):
 259 | # '(.*\.)?youtube\.com$': 'invidious.example.com'
 260 | # '(.*\.)?youtu\.be$': 'invidious.example.com'
 261 | #
 262 | 
 263 | checker:
 264 |   # disable checker when in debug mode
 265 |   off_when_debug: true
 266 | 
 267 |   # use "scheduling: false" to disable scheduling
 268 |   # scheduling: interval or int
 269 | 
 270 |   # to activate the scheduler:
 271 |   # * uncomment "scheduling" section
 272 |   # * add "cache2 = name=searxngcache,items=2000,blocks=2000,blocksize=4096,bitmap=1"
 273 |   #   to your uwsgi.ini
 274 | 
 275 |   # scheduling:
 276 |   #   start_after: [300, 1800]  # delay to start the first run of the checker
 277 |   #   every: [86400, 90000]     # how often the checker runs
 278 | 
 279 |   # additional tests: only for the YAML anchors (see the engines section)
 280 |   #
 281 |   additional_tests:
 282 |     rosebud: &test_rosebud
 283 |       matrix:
 284 |         query: rosebud
 285 |         lang: en
 286 |       result_container:
 287 |         - not_empty
 288 |         - ['one_title_contains', 'citizen kane']
 289 |       test:
 290 |         - unique_results
 291 | 
 292 |     android: &test_android
 293 |       matrix:
 294 |         query: ['android']
 295 |         lang: ['en', 'de', 'fr', 'zh-CN']
 296 |       result_container:
 297 |         - not_empty
 298 |         - ['one_title_contains', 'google']
 299 |       test:
 300 |         - unique_results
 301 | 
 302 |   # tests: only for the YAML anchors (see the engines section)
 303 |   tests:
 304 |     infobox: &tests_infobox
 305 |       infobox:
 306 |         matrix:
 307 |           query: ["linux", "new york", "bbc"]
 308 |         result_container:
 309 |           - has_infobox
 310 | 
 311 | categories_as_tabs:
 312 |   general:
 313 |   images:
 314 |   videos:
 315 |   news:
 316 |   map:
 317 |   music:
 318 |   it:
 319 |   science:
 320 |   files:
 321 |   social media:
 322 | 
 323 | engines:
 324 |   - name: 9gag
 325 |     engine: 9gag
 326 |     shortcut: 9g
 327 |     disabled: true
 328 | 
 329 |   - name: alpine linux packages
 330 |     engine: alpinelinux
 331 |     disabled: true
 332 |     shortcut: alp
 333 | 
 334 |   - name: annas archive
 335 |     engine: annas_archive
 336 |     disabled: true
 337 |     shortcut: aa
 338 | 
 339 |   # - name: annas articles
 340 |   #   engine: annas_archive
 341 |   #   shortcut: aaa
 342 |   #   # https://docs.searxng.org/dev/engines/online/annas_archive.html
 343 |   #   aa_content: 'magazine' # book_fiction, book_unknown, book_nonfiction, book_comic
 344 |   #   aa_ext: 'pdf'  # pdf, epub, ..
 345 |   #   aa_sort: oldest'  # newest, oldest, largest, smallest
 346 | 
 347 |   - name: apk mirror
 348 |     engine: apkmirror
 349 |     timeout: 4.0
 350 |     shortcut: apkm
 351 |     disabled: true
 352 | 
 353 |   - name: apple app store
 354 |     engine: apple_app_store
 355 |     shortcut: aps
 356 |     disabled: true
 357 | 
 358 |   # Requires Tor
 359 |   - name: ahmia
 360 |     engine: ahmia
 361 |     categories: onions
 362 |     enable_http: true
 363 |     shortcut: ah
 364 | 
 365 |   - name: anaconda
 366 |     engine: xpath
 367 |     paging: true
 368 |     first_page_num: 0
 369 |     search_url: https://anaconda.org/search?q={query}&page={pageno}
 370 |     results_xpath: //tbody/tr
 371 |     url_xpath: ./td/h5/a[last()]/@href
 372 |     title_xpath: ./td/h5
 373 |     content_xpath: ./td[h5]/text()
 374 |     categories: it
 375 |     timeout: 6.0
 376 |     shortcut: conda
 377 |     disabled: true
 378 | 
 379 |   - name: arch linux wiki
 380 |     engine: archlinux
 381 |     shortcut: al
 382 | 
 383 |   - name: artic
 384 |     engine: artic
 385 |     shortcut: arc
 386 |     timeout: 4.0
 387 | 
 388 |   - name: arxiv
 389 |     engine: arxiv
 390 |     shortcut: arx
 391 |     timeout: 4.0
 392 | 
 393 |   - name: ask
 394 |     engine: ask
 395 |     shortcut: ask
 396 |     disabled: true
 397 | 
 398 |   # tmp suspended:  dh key too small
 399 |   # - name: base
 400 |   #   engine: base
 401 |   #   shortcut: bs
 402 | 
 403 |   - name: bandcamp
 404 |     engine: bandcamp
 405 |     shortcut: bc
 406 |     categories: music
 407 | 
 408 |   - name: wikipedia
 409 |     engine: wikipedia
 410 |     shortcut: wp
 411 |     # add "list" to the array to get results in the results list
 412 |     display_type: ["infobox"]
 413 |     base_url: 'https://{language}.wikipedia.org/'
 414 |     categories: [general]
 415 | 
 416 |   - name: bilibili
 417 |     engine: bilibili
 418 |     shortcut: bil
 419 |     disabled: true
 420 | 
 421 |   - name: bing
 422 |     engine: bing
 423 |     shortcut: bi
 424 |     disabled: true
 425 | 
 426 |   - name: bing images
 427 |     engine: bing_images
 428 |     shortcut: bii
 429 | 
 430 |   - name: bing news
 431 |     engine: bing_news
 432 |     shortcut: bin
 433 | 
 434 |   - name: bing videos
 435 |     engine: bing_videos
 436 |     shortcut: biv
 437 | 
 438 |   - name: bitbucket
 439 |     engine: xpath
 440 |     paging: true
 441 |     search_url: https://bitbucket.org/repo/all/{pageno}?name={query}
 442 |     url_xpath: //article[@class="repo-summary"]//a[@class="repo-link"]/@href
 443 |     title_xpath: //article[@class="repo-summary"]//a[@class="repo-link"]
 444 |     content_xpath: //article[@class="repo-summary"]/p
 445 |     categories: [it, repos]
 446 |     timeout: 4.0
 447 |     disabled: true
 448 |     shortcut: bb
 449 |     about:
 450 |       website: https://bitbucket.org/
 451 |       wikidata_id: Q2493781
 452 |       official_api_documentation: https://developer.atlassian.com/bitbucket
 453 |       use_official_api: false
 454 |       require_api_key: false
 455 |       results: HTML
 456 | 
 457 |   - name: bpb
 458 |     engine: bpb
 459 |     shortcut: bpb
 460 |     disabled: true
 461 | 
 462 |   - name: btdigg
 463 |     engine: btdigg
 464 |     shortcut: bt
 465 |     disabled: true
 466 | 
 467 |   - name: openverse
 468 |     engine: openverse
 469 |     categories: images
 470 |     shortcut: opv
 471 | 
 472 |   - name: media.ccc.de
 473 |     engine: ccc_media
 474 |     shortcut: c3tv
 475 |     # We don't set language: de here because media.ccc.de is not just
 476 |     # for a German audience. It contains many English videos and many
 477 |     # German videos have English subtitles.
 478 |     disabled: true
 479 | 
 480 |   - name: chefkoch
 481 |     engine: chefkoch
 482 |     shortcut: chef
 483 |     # to show premium or plus results too:
 484 |     # skip_premium: false
 485 | 
 486 |   - name: cloudflareai
 487 |     engine: cloudflareai
 488 |     shortcut: cfai
 489 |     # get api token and accont id from https://developers.cloudflare.com/workers-ai/get-started/rest-api/
 490 |     cf_account_id: 'your_cf_accout_id'
 491 |     cf_ai_api: 'your_cf_api'
 492 |     # create your ai gateway by https://developers.cloudflare.com/ai-gateway/get-started/creating-gateway/
 493 |     cf_ai_gateway: 'your_cf_ai_gateway_name'
 494 |     # find the model name from https://developers.cloudflare.com/workers-ai/models/#text-generation
 495 |     cf_ai_model: 'ai_model_name'
 496 |     # custom your preferences
 497 |     # cf_ai_model_display_name: 'Cloudflare AI'
 498 |     # cf_ai_model_assistant: 'prompts_for_assistant_role'
 499 |     # cf_ai_model_system: 'prompts_for_system_role'
 500 |     timeout: 30
 501 |     disabled: true
 502 | 
 503 |   # - name: core.ac.uk
 504 |   #   engine: core
 505 |   #   categories: science
 506 |   #   shortcut: cor
 507 |   #   # get your API key from: https://core.ac.uk/api-keys/register/
 508 |   #   api_key: 'unset'
 509 | 
 510 |   - name: cppreference
 511 |     engine: cppreference
 512 |     shortcut: cpp
 513 |     paging: false
 514 |     disabled: true
 515 | 
 516 |   - name: crossref
 517 |     engine: crossref
 518 |     shortcut: cr
 519 |     timeout: 30
 520 |     disabled: true
 521 | 
 522 |   - name: crowdview
 523 |     engine: json_engine
 524 |     shortcut: cv
 525 |     categories: general
 526 |     paging: false
 527 |     search_url: https://crowdview-next-js.onrender.com/api/search-v3?query={query}
 528 |     results_query: results
 529 |     url_query: link
 530 |     title_query: title
 531 |     content_query: snippet
 532 |     disabled: true
 533 |     about:
 534 |       website: https://crowdview.ai/
 535 | 
 536 |   - name: yep
 537 |     engine: yep
 538 |     shortcut: yep
 539 |     categories: general
 540 |     search_type: web
 541 |     timeout: 5
 542 |     disabled: true
 543 | 
 544 |   - name: yep images
 545 |     engine: yep
 546 |     shortcut: yepi
 547 |     categories: images
 548 |     search_type: images
 549 |     disabled: true
 550 | 
 551 |   - name: yep news
 552 |     engine: yep
 553 |     shortcut: yepn
 554 |     categories: news
 555 |     search_type: news
 556 |     disabled: true
 557 | 
 558 |   - name: curlie
 559 |     engine: xpath
 560 |     shortcut: cl
 561 |     categories: general
 562 |     disabled: true
 563 |     paging: true
 564 |     lang_all: ''
 565 |     search_url: https://curlie.org/search?q={query}&lang={lang}&start={pageno}&stime=92452189
 566 |     page_size: 20
 567 |     results_xpath: //div[@id="site-list-content"]/div[@class="site-item"]
 568 |     url_xpath: ./div[@class="title-and-desc"]/a/@href
 569 |     title_xpath: ./div[@class="title-and-desc"]/a/div
 570 |     content_xpath: ./div[@class="title-and-desc"]/div[@class="site-descr"]
 571 |     about:
 572 |       website: https://curlie.org/
 573 |       wikidata_id: Q60715723
 574 |       use_official_api: false
 575 |       require_api_key: false
 576 |       results: HTML
 577 | 
 578 |   - name: currency
 579 |     engine: currency_convert
 580 |     categories: general
 581 |     shortcut: cc
 582 | 
 583 |   - name: deezer
 584 |     engine: deezer
 585 |     shortcut: dz
 586 |     disabled: true
 587 | 
 588 |   - name: destatis
 589 |     engine: destatis
 590 |     shortcut: destat
 591 |     disabled: true
 592 | 
 593 |   - name: deviantart
 594 |     engine: deviantart
 595 |     shortcut: da
 596 |     timeout: 3.0
 597 | 
 598 |   - name: ddg definitions
 599 |     engine: duckduckgo_definitions
 600 |     shortcut: ddd
 601 |     weight: 2
 602 |     disabled: true
 603 |     tests: *tests_infobox
 604 | 
 605 |   # cloudflare protected
 606 |   # - name: digbt
 607 |   #   engine: digbt
 608 |   #   shortcut: dbt
 609 |   #   timeout: 6.0
 610 |   #   disabled: true
 611 | 
 612 |   - name: docker hub
 613 |     engine: docker_hub
 614 |     shortcut: dh
 615 |     categories: [it, packages]
 616 | 
 617 |   - name: encyclosearch
 618 |     engine: json_engine
 619 |     shortcut: es
 620 |     categories: general
 621 |     paging: true
 622 |     search_url: https://encyclosearch.org/encyclosphere/search?q={query}&page={pageno}&resultsPerPage=15
 623 |     results_query: Results
 624 |     url_query: SourceURL
 625 |     title_query: Title
 626 |     content_query: Description
 627 |     disabled: true
 628 |     about:
 629 |       website: https://encyclosearch.org
 630 |       official_api_documentation: https://encyclosearch.org/docs/#/rest-api
 631 |       use_official_api: true
 632 |       require_api_key: false
 633 |       results: JSON
 634 | 
 635 |   - name: erowid
 636 |     engine: xpath
 637 |     paging: true
 638 |     first_page_num: 0
 639 |     page_size: 30
 640 |     search_url: https://www.erowid.org/search.php?q={query}&s={pageno}
 641 |     url_xpath: //dl[@class="results-list"]/dt[@class="result-title"]/a/@href
 642 |     title_xpath: //dl[@class="results-list"]/dt[@class="result-title"]/a/text()
 643 |     content_xpath: //dl[@class="results-list"]/dd[@class="result-details"]
 644 |     categories: []
 645 |     shortcut: ew
 646 |     disabled: true
 647 |     about:
 648 |       website: https://www.erowid.org/
 649 |       wikidata_id: Q1430691
 650 |       official_api_documentation:
 651 |       use_official_api: false
 652 |       require_api_key: false
 653 |       results: HTML
 654 | 
 655 |   # - name: elasticsearch
 656 |   #   shortcut: es
 657 |   #   engine: elasticsearch
 658 |   #   base_url: http://localhost:9200
 659 |   #   username: elastic
 660 |   #   password: changeme
 661 |   #   index: my-index
 662 |   #   # available options: match, simple_query_string, term, terms, custom
 663 |   #   query_type: match
 664 |   #   # if query_type is set to custom, provide your query here
 665 |   #   #custom_query_json: {"query":{"match_all": {}}}
 666 |   #   #show_metadata: false
 667 |   #   disabled: true
 668 | 
 669 |   - name: wikidata
 670 |     engine: wikidata
 671 |     shortcut: wd
 672 |     timeout: 3.0
 673 |     weight: 2
 674 |     # add "list" to the array to get results in the results list
 675 |     display_type: ["infobox"]
 676 |     tests: *tests_infobox
 677 |     categories: [general]
 678 | 
 679 |   - name: duckduckgo
 680 |     engine: duckduckgo
 681 |     shortcut: ddg
 682 | 
 683 |   - name: duckduckgo images
 684 |     engine: duckduckgo_extra
 685 |     categories: [images, web]
 686 |     ddg_category: images
 687 |     shortcut: ddi
 688 |     disabled: true
 689 | 
 690 |   - name: duckduckgo videos
 691 |     engine: duckduckgo_extra
 692 |     categories: [videos, web]
 693 |     ddg_category: videos
 694 |     shortcut: ddv
 695 |     disabled: true
 696 | 
 697 |   - name: duckduckgo news
 698 |     engine: duckduckgo_extra
 699 |     categories: [news, web]
 700 |     ddg_category: news
 701 |     shortcut: ddn
 702 |     disabled: true
 703 | 
 704 |   - name: duckduckgo weather
 705 |     engine: duckduckgo_weather
 706 |     shortcut: ddw
 707 |     disabled: true
 708 | 
 709 |   - name: apple maps
 710 |     engine: apple_maps
 711 |     shortcut: apm
 712 |     disabled: true
 713 |     timeout: 5.0
 714 | 
 715 |   - name: emojipedia
 716 |     engine: emojipedia
 717 |     timeout: 4.0
 718 |     shortcut: em
 719 |     disabled: true
 720 | 
 721 |   - name: tineye
 722 |     engine: tineye
 723 |     shortcut: tin
 724 |     timeout: 9.0
 725 |     disabled: true
 726 | 
 727 |   - name: etymonline
 728 |     engine: xpath
 729 |     paging: true
 730 |     search_url: https://etymonline.com/search?page={pageno}&q={query}
 731 |     url_xpath: //a[contains(@class, "word__name--")]/@href
 732 |     title_xpath: //a[contains(@class, "word__name--")]
 733 |     content_xpath: //section[contains(@class, "word__defination")]
 734 |     first_page_num: 1
 735 |     shortcut: et
 736 |     categories: [dictionaries]
 737 |     about:
 738 |       website: https://www.etymonline.com/
 739 |       wikidata_id: Q1188617
 740 |       official_api_documentation:
 741 |       use_official_api: false
 742 |       require_api_key: false
 743 |       results: HTML
 744 | 
 745 |   # - name: ebay
 746 |   #   engine: ebay
 747 |   #   shortcut: eb
 748 |   #   base_url: 'https://www.ebay.com'
 749 |   #   disabled: true
 750 |   #   timeout: 5
 751 | 
 752 |   - name: 1x
 753 |     engine: www1x
 754 |     shortcut: 1x
 755 |     timeout: 3.0
 756 |     disabled: true
 757 | 
 758 |   - name: fdroid
 759 |     engine: fdroid
 760 |     shortcut: fd
 761 |     disabled: true
 762 | 
 763 |   - name: findthatmeme
 764 |     engine: findthatmeme
 765 |     shortcut: ftm
 766 |     disabled: true
 767 | 
 768 |   - name: flickr
 769 |     categories: images
 770 |     shortcut: fl
 771 |     # You can use the engine using the official stable API, but you need an API
 772 |     # key, see: https://www.flickr.com/services/apps/create/
 773 |     # engine: flickr
 774 |     # api_key: 'apikey' # required!
 775 |     # Or you can use the html non-stable engine, activated by default
 776 |     engine: flickr_noapi
 777 | 
 778 |   - name: free software directory
 779 |     engine: mediawiki
 780 |     shortcut: fsd
 781 |     categories: [it, software wikis]
 782 |     base_url: https://directory.fsf.org/
 783 |     search_type: title
 784 |     timeout: 5.0
 785 |     disabled: true
 786 |     about:
 787 |       website: https://directory.fsf.org/
 788 |       wikidata_id: Q2470288
 789 | 
 790 |   # - name: freesound
 791 |   #   engine: freesound
 792 |   #   shortcut: fnd
 793 |   #   disabled: true
 794 |   #   timeout: 15.0
 795 |   # API key required, see: https://freesound.org/docs/api/overview.html
 796 |   #   api_key: MyAPIkey
 797 | 
 798 |   - name: frinkiac
 799 |     engine: frinkiac
 800 |     shortcut: frk
 801 |     disabled: true
 802 | 
 803 |   - name: fyyd
 804 |     engine: fyyd
 805 |     shortcut: fy
 806 |     timeout: 8.0
 807 |     disabled: true
 808 | 
 809 |   - name: geizhals
 810 |     engine: geizhals
 811 |     shortcut: geiz
 812 |     disabled: true
 813 | 
 814 |   - name: genius
 815 |     engine: genius
 816 |     shortcut: gen
 817 | 
 818 |   - name: gentoo
 819 |     engine: mediawiki
 820 |     shortcut: ge
 821 |     categories: ["it", "software wikis"]
 822 |     base_url: "https://wiki.gentoo.org/"
 823 |     api_path: "api.php"
 824 |     search_type: text
 825 |     timeout: 10
 826 | 
 827 |   - name: gitlab
 828 |     engine: gitlab
 829 |     base_url: https://gitlab.com
 830 |     shortcut: gl
 831 |     disabled: true
 832 |     about:
 833 |       website: https://gitlab.com/
 834 |       wikidata_id: Q16639197
 835 | 
 836 |   # - name: gnome
 837 |   #   engine: gitlab
 838 |   #   base_url: https://gitlab.gnome.org
 839 |   #   shortcut: gn
 840 |   #   about:
 841 |   #     website: https://gitlab.gnome.org
 842 |   #     wikidata_id: Q44316
 843 | 
 844 |   - name: github
 845 |     engine: github
 846 |     shortcut: gh
 847 | 
 848 |   - name: codeberg
 849 |     # https://docs.searxng.org/dev/engines/online/gitea.html
 850 |     engine: gitea
 851 |     base_url: https://codeberg.org
 852 |     shortcut: cb
 853 |     disabled: true
 854 | 
 855 |   - name: gitea.com
 856 |     engine: gitea
 857 |     base_url: https://gitea.com
 858 |     shortcut: gitea
 859 |     disabled: true
 860 | 
 861 |   - name: goodreads
 862 |     engine: goodreads
 863 |     shortcut: good
 864 |     timeout: 4.0
 865 |     disabled: true
 866 | 
 867 |   - name: google
 868 |     engine: google
 869 |     shortcut: go
 870 |     # additional_tests:
 871 |     #   android: *test_android
 872 | 
 873 |   - name: google images
 874 |     engine: google_images
 875 |     shortcut: goi
 876 |     # additional_tests:
 877 |     #   android: *test_android
 878 |     #   dali:
 879 |     #     matrix:
 880 |     #       query: ['Dali Christ']
 881 |     #       lang: ['en', 'de', 'fr', 'zh-CN']
 882 |     #     result_container:
 883 |     #       - ['one_title_contains', 'Salvador']
 884 | 
 885 |   - name: google news
 886 |     engine: google_news
 887 |     shortcut: gon
 888 |     # additional_tests:
 889 |     #   android: *test_android
 890 | 
 891 |   - name: google videos
 892 |     engine: google_videos
 893 |     shortcut: gov
 894 |     # additional_tests:
 895 |     #   android: *test_android
 896 | 
 897 |   - name: google scholar
 898 |     engine: google_scholar
 899 |     shortcut: gos
 900 | 
 901 |   - name: google play apps
 902 |     engine: google_play
 903 |     categories: [files, apps]
 904 |     shortcut: gpa
 905 |     play_categ: apps
 906 |     disabled: true
 907 | 
 908 |   - name: google play movies
 909 |     engine: google_play
 910 |     categories: videos
 911 |     shortcut: gpm
 912 |     play_categ: movies
 913 |     disabled: true
 914 | 
 915 |   - name: material icons
 916 |     engine: material_icons
 917 |     categories: images
 918 |     shortcut: mi
 919 |     disabled: true
 920 | 
 921 |   - name: habrahabr
 922 |     engine: xpath
 923 |     paging: true
 924 |     search_url: https://habr.com/en/search/page{pageno}/?q={query}
 925 |     results_xpath: //article[contains(@class, "tm-articles-list__item")]
 926 |     url_xpath: .//a[@class="tm-title__link"]/@href
 927 |     title_xpath: .//a[@class="tm-title__link"]
 928 |     content_xpath: .//div[contains(@class, "article-formatted-body")]
 929 |     categories: it
 930 |     timeout: 4.0
 931 |     disabled: true
 932 |     shortcut: habr
 933 |     about:
 934 |       website: https://habr.com/
 935 |       wikidata_id: Q4494434
 936 |       official_api_documentation: https://habr.com/en/docs/help/api/
 937 |       use_official_api: false
 938 |       require_api_key: false
 939 |       results: HTML
 940 | 
 941 |   - name: hackernews
 942 |     engine: hackernews
 943 |     shortcut: hn
 944 |     disabled: true
 945 | 
 946 |   - name: hex
 947 |     engine: hex
 948 |     shortcut: hex
 949 |     disabled: true
 950 |     # Valid values: name inserted_at updated_at total_downloads recent_downloads
 951 |     sort_criteria: "recent_downloads"
 952 |     page_size: 10
 953 | 
 954 |   - name: crates.io
 955 |     engine: crates
 956 |     shortcut: crates
 957 |     disabled: true
 958 |     timeout: 6.0
 959 | 
 960 |   - name: hoogle
 961 |     engine: xpath
 962 |     search_url: https://hoogle.haskell.org/?hoogle={query}
 963 |     results_xpath: '//div[@class="result"]'
 964 |     title_xpath: './/div[@class="ans"]//a'
 965 |     url_xpath: './/div[@class="ans"]//a/@href'
 966 |     content_xpath: './/div[@class="from"]'
 967 |     page_size: 20
 968 |     categories: [it, packages]
 969 |     shortcut: ho
 970 |     about:
 971 |       website: https://hoogle.haskell.org/
 972 |       wikidata_id: Q34010
 973 |       official_api_documentation: https://hackage.haskell.org/api
 974 |       use_official_api: false
 975 |       require_api_key: false
 976 |       results: JSON
 977 | 
 978 |   - name: imdb
 979 |     engine: imdb
 980 |     shortcut: imdb
 981 |     timeout: 6.0
 982 |     disabled: true
 983 | 
 984 |   - name: imgur
 985 |     engine: imgur
 986 |     shortcut: img
 987 |     disabled: true
 988 | 
 989 |   - name: ina
 990 |     engine: ina
 991 |     shortcut: in
 992 |     timeout: 6.0
 993 |     disabled: true
 994 | 
 995 |   - name: invidious
 996 |     engine: invidious
 997 |     # Instanes will be selected randomly, see https://api.invidious.io/ for
 998 |     # instances that are stable (good uptime) and close to you.
 999 |     base_url:
1000 |       - https://invidious.io.lol
1001 |       - https://invidious.fdn.fr
1002 |       - https://yt.artemislena.eu
1003 |       - https://invidious.tiekoetter.com
1004 |       - https://invidious.flokinet.to
1005 |       - https://vid.puffyan.us
1006 |       - https://invidious.privacydev.net
1007 |       - https://inv.tux.pizza
1008 |     shortcut: iv
1009 |     timeout: 3.0
1010 |     disabled: true
1011 | 
1012 |   - name: jisho
1013 |     engine: jisho
1014 |     shortcut: js
1015 |     timeout: 3.0
1016 |     disabled: true
1017 | 
1018 |   - name: kickass
1019 |     engine: kickass
1020 |     base_url:
1021 |       - https://kickasstorrents.to
1022 |       - https://kickasstorrents.cr
1023 |       - https://kickasstorrent.cr
1024 |       - https://kickass.sx
1025 |       - https://kat.am
1026 |     shortcut: kc
1027 |     timeout: 4.0
1028 | 
1029 |   - name: lemmy communities
1030 |     engine: lemmy
1031 |     lemmy_type: Communities
1032 |     shortcut: leco
1033 | 
1034 |   - name: lemmy users
1035 |     engine: lemmy
1036 |     network: lemmy communities
1037 |     lemmy_type: Users
1038 |     shortcut: leus
1039 | 
1040 |   - name: lemmy posts
1041 |     engine: lemmy
1042 |     network: lemmy communities
1043 |     lemmy_type: Posts
1044 |     shortcut: lepo
1045 | 
1046 |   - name: lemmy comments
1047 |     engine: lemmy
1048 |     network: lemmy communities
1049 |     lemmy_type: Comments
1050 |     shortcut: lecom
1051 | 
1052 |   - name: library genesis
1053 |     engine: xpath
1054 |     # search_url: https://libgen.is/search.php?req={query}
1055 |     search_url: https://libgen.rs/search.php?req={query}
1056 |     url_xpath: //a[contains(@href,"book/index.php?md5")]/@href
1057 |     title_xpath: //a[contains(@href,"book/")]/text()[1]
1058 |     content_xpath: //td/a[1][contains(@href,"=author")]/text()
1059 |     categories: files
1060 |     timeout: 7.0
1061 |     disabled: true
1062 |     shortcut: lg
1063 |     about:
1064 |       website: https://libgen.fun/
1065 |       wikidata_id: Q22017206
1066 |       official_api_documentation:
1067 |       use_official_api: false
1068 |       require_api_key: false
1069 |       results: HTML
1070 | 
1071 |   - name: z-library
1072 |     engine: zlibrary
1073 |     shortcut: zlib
1074 |     categories: files
1075 |     timeout: 7.0
1076 | 
1077 |   - name: library of congress
1078 |     engine: loc
1079 |     shortcut: loc
1080 |     categories: images
1081 | 
1082 |   - name: libretranslate
1083 |     engine: libretranslate
1084 |     # https://github.com/LibreTranslate/LibreTranslate?tab=readme-ov-file#mirrors
1085 |     base_url:
1086 |       - https://translate.terraprint.co
1087 |       - https://trans.zillyhuhn.com
1088 |     # api_key: abc123
1089 |     shortcut: lt
1090 |     disabled: true
1091 | 
1092 |   - name: lingva
1093 |     engine: lingva
1094 |     shortcut: lv
1095 |     # set lingva instance in url, by default it will use the official instance
1096 |     # url: https://lingva.thedaviddelta.com
1097 | 
1098 |   - name: lobste.rs
1099 |     engine: xpath
1100 |     search_url: https://lobste.rs/search?q={query}&what=stories&order=relevance
1101 |     results_xpath: //li[contains(@class, "story")]
1102 |     url_xpath: .//a[@class="u-url"]/@href
1103 |     title_xpath: .//a[@class="u-url"]
1104 |     content_xpath: .//a[@class="domain"]
1105 |     categories: it
1106 |     shortcut: lo
1107 |     timeout: 5.0
1108 |     disabled: true
1109 |     about:
1110 |       website: https://lobste.rs/
1111 |       wikidata_id: Q60762874
1112 |       official_api_documentation:
1113 |       use_official_api: false
1114 |       require_api_key: false
1115 |       results: HTML
1116 | 
1117 |   - name: mastodon users
1118 |     engine: mastodon
1119 |     mastodon_type: accounts
1120 |     base_url: https://mastodon.social
1121 |     shortcut: mau
1122 | 
1123 |   - name: mastodon hashtags
1124 |     engine: mastodon
1125 |     mastodon_type: hashtags
1126 |     base_url: https://mastodon.social
1127 |     shortcut: mah
1128 | 
1129 |   # - name: matrixrooms
1130 |   #   engine: mrs
1131 |   #   # https://docs.searxng.org/dev/engines/online/mrs.html
1132 |   #   # base_url: https://mrs-api-host
1133 |   #   shortcut: mtrx
1134 |   #   disabled: true
1135 | 
1136 |   - name: mdn
1137 |     shortcut: mdn
1138 |     engine: json_engine
1139 |     categories: [it]
1140 |     paging: true
1141 |     search_url: https://developer.mozilla.org/api/v1/search?q={query}&page={pageno}
1142 |     results_query: documents
1143 |     url_query: mdn_url
1144 |     url_prefix: https://developer.mozilla.org
1145 |     title_query: title
1146 |     content_query: summary
1147 |     about:
1148 |       website: https://developer.mozilla.org
1149 |       wikidata_id: Q3273508
1150 |       official_api_documentation: null
1151 |       use_official_api: false
1152 |       require_api_key: false
1153 |       results: JSON
1154 | 
1155 |   - name: metacpan
1156 |     engine: metacpan
1157 |     shortcut: cpan
1158 |     disabled: true
1159 |     number_of_results: 20
1160 | 
1161 |   # - name: meilisearch
1162 |   #   engine: meilisearch
1163 |   #   shortcut: mes
1164 |   #   enable_http: true
1165 |   #   base_url: http://localhost:7700
1166 |   #   index: my-index
1167 | 
1168 |   - name: mixcloud
1169 |     engine: mixcloud
1170 |     shortcut: mc
1171 | 
1172 |   # MongoDB engine
1173 |   # Required dependency: pymongo
1174 |   # - name: mymongo
1175 |   #   engine: mongodb
1176 |   #   shortcut: md
1177 |   #   exact_match_only: false
1178 |   #   host: '127.0.0.1'
1179 |   #   port: 27017
1180 |   #   enable_http: true
1181 |   #   results_per_page: 20
1182 |   #   database: 'business'
1183 |   #   collection: 'reviews'  # name of the db collection
1184 |   #   key: 'name'  # key in the collection to search for
1185 | 
1186 |   - name: mozhi
1187 |     engine: mozhi
1188 |     base_url:
1189 |       - https://mozhi.aryak.me
1190 |       - https://translate.bus-hit.me
1191 |       - https://nyc1.mz.ggtyler.dev
1192 |     # mozhi_engine: google - see https://mozhi.aryak.me for supported engines
1193 |     timeout: 4.0
1194 |     shortcut: mz
1195 |     disabled: true
1196 | 
1197 |   - name: mwmbl
1198 |     engine: mwmbl
1199 |     # api_url: https://api.mwmbl.org
1200 |     shortcut: mwm
1201 |     disabled: true
1202 | 
1203 |   - name: npm
1204 |     engine: npm
1205 |     shortcut: npm
1206 |     timeout: 5.0
1207 |     disabled: true
1208 | 
1209 |   - name: nyaa
1210 |     engine: nyaa
1211 |     shortcut: nt
1212 |     disabled: true
1213 | 
1214 |   - name: mankier
1215 |     engine: json_engine
1216 |     search_url: https://www.mankier.com/api/v2/mans/?q={query}
1217 |     results_query: results
1218 |     url_query: url
1219 |     title_query: name
1220 |     content_query: description
1221 |     categories: it
1222 |     shortcut: man
1223 |     about:
1224 |       website: https://www.mankier.com/
1225 |       official_api_documentation: https://www.mankier.com/api
1226 |       use_official_api: true
1227 |       require_api_key: false
1228 |       results: JSON
1229 | 
1230 |   # read https://docs.searxng.org/dev/engines/online/mullvad_leta.html
1231 |   # - name: mullvadleta
1232 |   #   engine: mullvad_leta
1233 |   #   leta_engine: google # choose one of the following: google, brave
1234 |   #   use_cache: true  # Only 100 non-cache searches per day, suggested only for private instances
1235 |   #   search_url: https://leta.mullvad.net
1236 |   #   categories: [general, web]
1237 |   #   shortcut: ml
1238 | 
1239 |   - name: odysee
1240 |     engine: odysee
1241 |     shortcut: od
1242 |     disabled: true
1243 | 
1244 |   - name: openairedatasets
1245 |     engine: json_engine
1246 |     paging: true
1247 |     search_url: https://api.openaire.eu/search/datasets?format=json&page={pageno}&size=10&title={query}
1248 |     results_query: response/results/result
1249 |     url_query: metadata/oaf:entity/oaf:result/children/instance/webresource/url/$
1250 |     title_query: metadata/oaf:entity/oaf:result/title/$
1251 |     content_query: metadata/oaf:entity/oaf:result/description/$
1252 |     content_html_to_text: true
1253 |     categories: "science"
1254 |     shortcut: oad
1255 |     timeout: 5.0
1256 |     about:
1257 |       website: https://www.openaire.eu/
1258 |       wikidata_id: Q25106053
1259 |       official_api_documentation: https://api.openaire.eu/
1260 |       use_official_api: false
1261 |       require_api_key: false
1262 |       results: JSON
1263 | 
1264 |   - name: openairepublications
1265 |     engine: json_engine
1266 |     paging: true
1267 |     search_url: https://api.openaire.eu/search/publications?format=json&page={pageno}&size=10&title={query}
1268 |     results_query: response/results/result
1269 |     url_query: metadata/oaf:entity/oaf:result/children/instance/webresource/url/$
1270 |     title_query: metadata/oaf:entity/oaf:result/title/$
1271 |     content_query: metadata/oaf:entity/oaf:result/description/$
1272 |     content_html_to_text: true
1273 |     categories: science
1274 |     shortcut: oap
1275 |     timeout: 5.0
1276 |     about:
1277 |       website: https://www.openaire.eu/
1278 |       wikidata_id: Q25106053
1279 |       official_api_documentation: https://api.openaire.eu/
1280 |       use_official_api: false
1281 |       require_api_key: false
1282 |       results: JSON
1283 | 
1284 |   - name: openmeteo
1285 |     engine: open_meteo
1286 |     shortcut: om
1287 |     disabled: true
1288 | 
1289 |   # - name: opensemanticsearch
1290 |   #   engine: opensemantic
1291 |   #   shortcut: oss
1292 |   #   base_url: 'http://localhost:8983/solr/opensemanticsearch/'
1293 | 
1294 |   - name: openstreetmap
1295 |     engine: openstreetmap
1296 |     shortcut: osm
1297 | 
1298 |   - name: openrepos
1299 |     engine: xpath
1300 |     paging: true
1301 |     search_url: https://openrepos.net/search/node/{query}?page={pageno}
1302 |     url_xpath: //li[@class="search-result"]//h3[@class="title"]/a/@href
1303 |     title_xpath: //li[@class="search-result"]//h3[@class="title"]/a
1304 |     content_xpath: //li[@class="search-result"]//div[@class="search-snippet-info"]//p[@class="search-snippet"]
1305 |     categories: files
1306 |     timeout: 4.0
1307 |     disabled: true
1308 |     shortcut: or
1309 |     about:
1310 |       website: https://openrepos.net/
1311 |       wikidata_id:
1312 |       official_api_documentation:
1313 |       use_official_api: false
1314 |       require_api_key: false
1315 |       results: HTML
1316 | 
1317 |   - name: packagist
1318 |     engine: json_engine
1319 |     paging: true
1320 |     search_url: https://packagist.org/search.json?q={query}&page={pageno}
1321 |     results_query: results
1322 |     url_query: url
1323 |     title_query: name
1324 |     content_query: description
1325 |     categories: [it, packages]
1326 |     disabled: true
1327 |     timeout: 5.0
1328 |     shortcut: pack
1329 |     about:
1330 |       website: https://packagist.org
1331 |       wikidata_id: Q108311377
1332 |       official_api_documentation: https://packagist.org/apidoc
1333 |       use_official_api: true
1334 |       require_api_key: false
1335 |       results: JSON
1336 | 
1337 |   - name: pdbe
1338 |     engine: pdbe
1339 |     shortcut: pdb
1340 |     # Hide obsolete PDB entries.  Default is not to hide obsolete structures
1341 |     #  hide_obsolete: false
1342 | 
1343 |   - name: photon
1344 |     engine: photon
1345 |     shortcut: ph
1346 | 
1347 |   - name: pinterest
1348 |     engine: pinterest
1349 |     shortcut: pin
1350 | 
1351 |   - name: piped
1352 |     engine: piped
1353 |     shortcut: ppd
1354 |     categories: videos
1355 |     piped_filter: videos
1356 |     timeout: 3.0
1357 | 
1358 |     # URL to use as link and for embeds
1359 |     frontend_url: https://srv.piped.video
1360 |     # Instance will be selected randomly, for more see https://piped-instances.kavin.rocks/
1361 |     backend_url:
1362 |       - https://pipedapi.kavin.rocks
1363 |       - https://pipedapi-libre.kavin.rocks
1364 |       - https://pipedapi.adminforge.de
1365 | 
1366 |   - name: piped.music
1367 |     engine: piped
1368 |     network: piped
1369 |     shortcut: ppdm
1370 |     categories: music
1371 |     piped_filter: music_songs
1372 |     timeout: 3.0
1373 | 
1374 |   - name: piratebay
1375 |     engine: piratebay
1376 |     shortcut: tpb
1377 |     # You may need to change this URL to a proxy if piratebay is blocked in your
1378 |     # country
1379 |     url: https://thepiratebay.org/
1380 |     timeout: 3.0
1381 | 
1382 |   - name: pixiv
1383 |     shortcut: pv
1384 |     engine: pixiv
1385 |     disabled: true
1386 |     inactive: true
1387 |     pixiv_image_proxies:
1388 |       - https://pximg.example.org
1389 |       # A proxy is required to load the images. Hosting an image proxy server
1390 |       # for Pixiv:
1391 |       #    --> https://pixivfe.pages.dev/hosting-image-proxy-server/
1392 |       # Proxies from public instances.  Ask the public instances owners if they
1393 |       # agree to receive traffic from SearXNG!
1394 |       #    --> https://codeberg.org/VnPower/PixivFE#instances
1395 |       #    --> https://github.com/searxng/searxng/pull/3192#issuecomment-1941095047
1396 |       # image proxy of https://pixiv.cat
1397 |       # - https://i.pixiv.cat
1398 |       # image proxy of https://www.pixiv.pics
1399 |       # - https://pximg.cocomi.eu.org
1400 |       # image proxy of https://pixivfe.exozy.me
1401 |       # - https://pximg.exozy.me
1402 |       # image proxy of https://pixivfe.ducks.party
1403 |       # - https://pixiv.ducks.party
1404 |       # image proxy of https://pixiv.perennialte.ch
1405 |       # - https://pximg.perennialte.ch
1406 | 
1407 |   - name: podcastindex
1408 |     engine: podcastindex
1409 |     shortcut: podcast
1410 | 
1411 |   # Required dependency: psychopg2
1412 |   #  - name: postgresql
1413 |   #    engine: postgresql
1414 |   #    database: postgres
1415 |   #    username: postgres
1416 |   #    password: postgres
1417 |   #    limit: 10
1418 |   #    query_str: 'SELECT * from my_table WHERE my_column = %(query)s'
1419 |   #    shortcut : psql
1420 | 
1421 |   - name: presearch
1422 |     engine: presearch
1423 |     search_type: search
1424 |     categories: [general, web]
1425 |     shortcut: ps
1426 |     timeout: 4.0
1427 |     disabled: true
1428 | 
1429 |   - name: presearch images
1430 |     engine: presearch
1431 |     network: presearch
1432 |     search_type: images
1433 |     categories: [images, web]
1434 |     timeout: 4.0
1435 |     shortcut: psimg
1436 |     disabled: true
1437 | 
1438 |   - name: presearch videos
1439 |     engine: presearch
1440 |     network: presearch
1441 |     search_type: videos
1442 |     categories: [general, web]
1443 |     timeout: 4.0
1444 |     shortcut: psvid
1445 |     disabled: true
1446 | 
1447 |   - name: presearch news
1448 |     engine: presearch
1449 |     network: presearch
1450 |     search_type: news
1451 |     categories: [news, web]
1452 |     timeout: 4.0
1453 |     shortcut: psnews
1454 |     disabled: true
1455 | 
1456 |   - name: pub.dev
1457 |     engine: xpath
1458 |     shortcut: pd
1459 |     search_url: https://pub.dev/packages?q={query}&page={pageno}
1460 |     paging: true
1461 |     results_xpath: //div[contains(@class,"packages-item")]
1462 |     url_xpath: ./div/h3/a/@href
1463 |     title_xpath: ./div/h3/a
1464 |     content_xpath: ./div/div/div[contains(@class,"packages-description")]/span
1465 |     categories: [packages, it]
1466 |     timeout: 3.0
1467 |     disabled: true
1468 |     first_page_num: 1
1469 |     about:
1470 |       website: https://pub.dev/
1471 |       official_api_documentation: https://pub.dev/help/api
1472 |       use_official_api: false
1473 |       require_api_key: false
1474 |       results: HTML
1475 | 
1476 |   - name: pubmed
1477 |     engine: pubmed
1478 |     shortcut: pub
1479 |     timeout: 3.0
1480 | 
1481 |   - name: pypi
1482 |     shortcut: pypi
1483 |     engine: pypi
1484 | 
1485 |   - name: qwant
1486 |     qwant_categ: web
1487 |     engine: qwant
1488 |     shortcut: qw
1489 |     categories: [general, web]
1490 |     additional_tests:
1491 |       rosebud: *test_rosebud
1492 | 
1493 |   - name: qwant news
1494 |     qwant_categ: news
1495 |     engine: qwant
1496 |     shortcut: qwn
1497 |     categories: news
1498 |     network: qwant
1499 | 
1500 |   - name: qwant images
1501 |     qwant_categ: images
1502 |     engine: qwant
1503 |     shortcut: qwi
1504 |     categories: [images, web]
1505 |     network: qwant
1506 | 
1507 |   - name: qwant videos
1508 |     qwant_categ: videos
1509 |     engine: qwant
1510 |     shortcut: qwv
1511 |     categories: [videos, web]
1512 |     network: qwant
1513 | 
1514 |   # - name: library
1515 |   #   engine: recoll
1516 |   #   shortcut: lib
1517 |   #   base_url: 'https://recoll.example.org/'
1518 |   #   search_dir: ''
1519 |   #   mount_prefix: /export
1520 |   #   dl_prefix: 'https://download.example.org'
1521 |   #   timeout: 30.0
1522 |   #   categories: files
1523 |   #   disabled: true
1524 | 
1525 |   # - name: recoll library reference
1526 |   #   engine: recoll
1527 |   #   base_url: 'https://recoll.example.org/'
1528 |   #   search_dir: reference
1529 |   #   mount_prefix: /export
1530 |   #   dl_prefix: 'https://download.example.org'
1531 |   #   shortcut: libr
1532 |   #   timeout: 30.0
1533 |   #   categories: files
1534 |   #   disabled: true
1535 | 
1536 |   - name: radio browser
1537 |     engine: radio_browser
1538 |     shortcut: rb
1539 | 
1540 |   - name: reddit
1541 |     engine: reddit
1542 |     shortcut: re
1543 |     page_size: 25
1544 |     disabled: true
1545 | 
1546 |   - name: right dao
1547 |     engine: xpath
1548 |     paging: true
1549 |     page_size: 12
1550 |     search_url: https://rightdao.com/search?q={query}&start={pageno}
1551 |     results_xpath: //div[contains(@class, "description")]
1552 |     url_xpath: ../div[contains(@class, "title")]/a/@href
1553 |     title_xpath: ../div[contains(@class, "title")]
1554 |     content_xpath: .
1555 |     categories: general
1556 |     shortcut: rd
1557 |     disabled: true
1558 |     about:
1559 |       website: https://rightdao.com/
1560 |       use_official_api: false
1561 |       require_api_key: false
1562 |       results: HTML
1563 | 
1564 |   - name: rottentomatoes
1565 |     engine: rottentomatoes
1566 |     shortcut: rt
1567 |     disabled: true
1568 | 
1569 |   # Required dependency: redis
1570 |   # - name: myredis
1571 |   #   shortcut : rds
1572 |   #   engine: redis_server
1573 |   #   exact_match_only: false
1574 |   #   host: '127.0.0.1'
1575 |   #   port: 6379
1576 |   #   enable_http: true
1577 |   #   password: ''
1578 |   #   db: 0
1579 | 
1580 |   # tmp suspended: bad certificate
1581 |   #  - name: scanr structures
1582 |   #    shortcut: scs
1583 |   #    engine: scanr_structures
1584 |   #    disabled: true
1585 | 
1586 |   - name: searchmysite
1587 |     engine: xpath
1588 |     shortcut: sms
1589 |     categories: general
1590 |     paging: true
1591 |     search_url: https://searchmysite.net/search/?q={query}&page={pageno}
1592 |     results_xpath: //div[contains(@class,'search-result')]
1593 |     url_xpath: .//a[contains(@class,'result-link')]/@href
1594 |     title_xpath: .//span[contains(@class,'result-title-txt')]/text()
1595 |     content_xpath: ./p[@id='result-hightlight']
1596 |     disabled: true
1597 |     about:
1598 |       website: https://searchmysite.net
1599 | 
1600 |   - name: sepiasearch
1601 |     engine: sepiasearch
1602 |     shortcut: sep
1603 | 
1604 |   - name: soundcloud
1605 |     engine: soundcloud
1606 |     shortcut: sc
1607 | 
1608 |   - name: stackoverflow
1609 |     engine: stackexchange
1610 |     shortcut: st
1611 |     api_site: 'stackoverflow'
1612 |     categories: [it, q&a]
1613 | 
1614 |   - name: askubuntu
1615 |     engine: stackexchange
1616 |     shortcut: ubuntu
1617 |     api_site: 'askubuntu'
1618 |     categories: [it, q&a]
1619 | 
1620 |   - name: internetarchivescholar
1621 |     engine: internet_archive_scholar
1622 |     shortcut: ias
1623 |     timeout: 15.0
1624 | 
1625 |   - name: superuser
1626 |     engine: stackexchange
1627 |     shortcut: su
1628 |     api_site: 'superuser'
1629 |     categories: [it, q&a]
1630 | 
1631 |   - name: discuss.python
1632 |     engine: discourse
1633 |     shortcut: dpy
1634 |     base_url: 'https://discuss.python.org'
1635 |     categories: [it, q&a]
1636 |     disabled: true
1637 | 
1638 |   - name: caddy.community
1639 |     engine: discourse
1640 |     shortcut: caddy
1641 |     base_url: 'https://caddy.community'
1642 |     categories: [it, q&a]
1643 |     disabled: true
1644 | 
1645 |   - name: pi-hole.community
1646 |     engine: discourse
1647 |     shortcut: pi
1648 |     categories: [it, q&a]
1649 |     base_url: 'https://discourse.pi-hole.net'
1650 |     disabled: true
1651 | 
1652 |   - name: searchcode code
1653 |     engine: searchcode_code
1654 |     shortcut: scc
1655 |     disabled: true
1656 | 
1657 |   # - name: searx
1658 |   #   engine: searx_engine
1659 |   #   shortcut: se
1660 |   #   instance_urls :
1661 |   #       - http://127.0.0.1:8888/
1662 |   #       - ...
1663 |   #   disabled: true
1664 | 
1665 |   - name: semantic scholar
1666 |     engine: semantic_scholar
1667 |     disabled: true
1668 |     shortcut: se
1669 | 
1670 |   # Spotify needs API credentials
1671 |   # - name: spotify
1672 |   #   engine: spotify
1673 |   #   shortcut: stf
1674 |   #   api_client_id: *******
1675 |   #   api_client_secret: *******
1676 | 
1677 |   # - name: solr
1678 |   #   engine: solr
1679 |   #   shortcut: slr
1680 |   #   base_url: http://localhost:8983
1681 |   #   collection: collection_name
1682 |   #   sort: '' # sorting: asc or desc
1683 |   #   field_list: '' # comma separated list of field names to display on the UI
1684 |   #   default_fields: '' # default field to query
1685 |   #   query_fields: '' # query fields
1686 |   #   enable_http: true
1687 | 
1688 |   # - name: springer nature
1689 |   #   engine: springer
1690 |   #   # get your API key from: https://dev.springernature.com/signup
1691 |   #   # working API key, for test & debug: "a69685087d07eca9f13db62f65b8f601"
1692 |   #   api_key: 'unset'
1693 |   #   shortcut: springer
1694 |   #   timeout: 15.0
1695 | 
1696 |   - name: startpage
1697 |     engine: startpage
1698 |     shortcut: sp
1699 |     timeout: 6.0
1700 |     disabled: true
1701 |     additional_tests:
1702 |       rosebud: *test_rosebud
1703 | 
1704 |   - name: tokyotoshokan
1705 |     engine: tokyotoshokan
1706 |     shortcut: tt
1707 |     timeout: 6.0
1708 |     disabled: true
1709 | 
1710 |   - name: solidtorrents
1711 |     engine: solidtorrents
1712 |     shortcut: solid
1713 |     timeout: 4.0
1714 |     base_url:
1715 |       - https://solidtorrents.to
1716 |       - https://bitsearch.to
1717 | 
1718 |   # For this demo of the sqlite engine download:
1719 |   #   https://liste.mediathekview.de/filmliste-v2.db.bz2
1720 |   # and unpack into searx/data/filmliste-v2.db
1721 |   # Query to test: "!demo concert"
1722 |   #
1723 |   # - name: demo
1724 |   #   engine: sqlite
1725 |   #   shortcut: demo
1726 |   #   categories: general
1727 |   #   result_template: default.html
1728 |   #   database: searx/data/filmliste-v2.db
1729 |   #   query_str:  >-
1730 |   #     SELECT title || ' (' || time(duration, 'unixepoch') || ')' AS title,
1731 |   #            COALESCE( NULLIF(url_video_hd,''), NULLIF(url_video_sd,''), url_video) AS url,
1732 |   #            description AS content
1733 |   #       FROM film
1734 |   #      WHERE title LIKE :wildcard OR description LIKE :wildcard
1735 |   #      ORDER BY duration DESC
1736 | 
1737 |   - name: tagesschau
1738 |     engine: tagesschau
1739 |     # when set to false, display URLs from Tagesschau, and not the actual source
1740 |     # (e.g. NDR, WDR, SWR, HR, ...)
1741 |     use_source_url: true
1742 |     shortcut: ts
1743 |     disabled: true
1744 | 
1745 |   - name: tmdb
1746 |     engine: xpath
1747 |     paging: true
1748 |     categories: movies
1749 |     search_url: https://www.themoviedb.org/search?page={pageno}&query={query}
1750 |     results_xpath: //div[contains(@class,"movie") or contains(@class,"tv")]//div[contains(@class,"card")]
1751 |     url_xpath: .//div[contains(@class,"poster")]/a/@href
1752 |     thumbnail_xpath: .//img/@src
1753 |     title_xpath: .//div[contains(@class,"title")]//h2
1754 |     content_xpath: .//div[contains(@class,"overview")]
1755 |     shortcut: tm
1756 |     disabled: true
1757 | 
1758 |   # Requires Tor
1759 |   - name: torch
1760 |     engine: xpath
1761 |     paging: true
1762 |     search_url:
1763 |       http://xmh57jrknzkhv6y3ls3ubitzfqnkrwxhopf5aygthi7d6rplyvk3noyd.onion/cgi-bin/omega/omega?P={query}&DEFAULTOP=and
1764 |     results_xpath: //table//tr
1765 |     url_xpath: ./td[2]/a
1766 |     title_xpath: ./td[2]/b
1767 |     content_xpath: ./td[2]/small
1768 |     categories: onions
1769 |     enable_http: true
1770 |     shortcut: tch
1771 | 
1772 |   # torznab engine lets you query any torznab compatible indexer.  Using this
1773 |   # engine in combination with Jackett opens the possibility to query a lot of
1774 |   # public and private indexers directly from SearXNG. More details at:
1775 |   # https://docs.searxng.org/dev/engines/online/torznab.html
1776 |   #
1777 |   # - name: Torznab EZTV
1778 |   #   engine: torznab
1779 |   #   shortcut: eztv
1780 |   #   base_url: http://localhost:9117/api/v2.0/indexers/eztv/results/torznab
1781 |   #   enable_http: true  # if using localhost
1782 |   #   api_key: xxxxxxxxxxxxxxx
1783 |   #   show_magnet_links: true
1784 |   #   show_torrent_files: false
1785 |   #   # https://github.com/Jackett/Jackett/wiki/Jackett-Categories
1786 |   #   torznab_categories:  # optional
1787 |   #     - 2000
1788 |   #     - 5000
1789 | 
1790 |   # tmp suspended - too slow, too many errors
1791 |   #  - name: urbandictionary
1792 |   #    engine      : xpath
1793 |   #    search_url  : https://www.urbandictionary.com/define.php?term={query}
1794 |   #    url_xpath   : //*[@class="word"]/@href
1795 |   #    title_xpath : //*[@class="def-header"]
1796 |   #    content_xpath: //*[@class="meaning"]
1797 |   #    shortcut: ud
1798 | 
1799 |   - name: unsplash
1800 |     engine: unsplash
1801 |     shortcut: us
1802 | 
1803 |   - name: yandex
1804 |     engine: yandex
1805 |     categories: general
1806 |     search_type: web
1807 |     shortcut: yd
1808 |     disabled: true
1809 |     inactive: true
1810 | 
1811 |   - name: yandex images
1812 |     engine: yandex
1813 |     categories: images
1814 |     search_type: images
1815 |     shortcut: ydi
1816 |     disabled: true
1817 |     inactive: true
1818 | 
1819 |   - name: yandex music
1820 |     engine: yandex_music
1821 |     shortcut: ydm
1822 |     disabled: true
1823 |     # https://yandex.com/support/music/access.html
1824 |     inactive: true
1825 | 
1826 |   - name: yahoo
1827 |     engine: yahoo
1828 |     shortcut: yh
1829 |     disabled: true
1830 | 
1831 |   - name: yahoo news
1832 |     engine: yahoo_news
1833 |     shortcut: yhn
1834 | 
1835 |   - name: youtube
1836 |     shortcut: yt
1837 |     # You can use the engine using the official stable API, but you need an API
1838 |     # key See: https://console.developers.google.com/project
1839 |     #
1840 |     # engine: youtube_api
1841 |     # api_key: 'apikey' # required!
1842 |     #
1843 |     # Or you can use the html non-stable engine, activated by default
1844 |     engine: youtube_noapi
1845 | 
1846 |   - name: dailymotion
1847 |     engine: dailymotion
1848 |     shortcut: dm
1849 | 
1850 |   - name: vimeo
1851 |     engine: vimeo
1852 |     shortcut: vm
1853 | 
1854 |   - name: wiby
1855 |     engine: json_engine
1856 |     paging: true
1857 |     search_url: https://wiby.me/json/?q={query}&p={pageno}
1858 |     url_query: URL
1859 |     title_query: Title
1860 |     content_query: Snippet
1861 |     categories: [general, web]
1862 |     shortcut: wib
1863 |     disabled: true
1864 |     about:
1865 |       website: https://wiby.me/
1866 | 
1867 |   - name: wikibooks
1868 |     engine: mediawiki
1869 |     weight: 0.5
1870 |     shortcut: wb
1871 |     categories: [general, wikimedia]
1872 |     base_url: "https://{language}.wikibooks.org/"
1873 |     search_type: text
1874 |     disabled: true
1875 |     about:
1876 |       website: https://www.wikibooks.org/
1877 |       wikidata_id: Q367
1878 | 
1879 |   - name: wikinews
1880 |     engine: mediawiki
1881 |     shortcut: wn
1882 |     categories: [news, wikimedia]
1883 |     base_url: "https://{language}.wikinews.org/"
1884 |     search_type: text
1885 |     srsort: create_timestamp_desc
1886 |     about:
1887 |       website: https://www.wikinews.org/
1888 |       wikidata_id: Q964
1889 | 
1890 |   - name: wikiquote
1891 |     engine: mediawiki
1892 |     weight: 0.5
1893 |     shortcut: wq
1894 |     categories: [general, wikimedia]
1895 |     base_url: "https://{language}.wikiquote.org/"
1896 |     search_type: text
1897 |     disabled: true
1898 |     additional_tests:
1899 |       rosebud: *test_rosebud
1900 |     about:
1901 |       website: https://www.wikiquote.org/
1902 |       wikidata_id: Q369
1903 | 
1904 |   - name: wikisource
1905 |     engine: mediawiki
1906 |     weight: 0.5
1907 |     shortcut: ws
1908 |     categories: [general, wikimedia]
1909 |     base_url: "https://{language}.wikisource.org/"
1910 |     search_type: text
1911 |     disabled: true
1912 |     about:
1913 |       website: https://www.wikisource.org/
1914 |       wikidata_id: Q263
1915 | 
1916 |   - name: wikispecies
1917 |     engine: mediawiki
1918 |     shortcut: wsp
1919 |     categories: [general, science, wikimedia]
1920 |     base_url: "https://species.wikimedia.org/"
1921 |     search_type: text
1922 |     disabled: true
1923 |     about:
1924 |       website: https://species.wikimedia.org/
1925 |       wikidata_id: Q13679
1926 |     tests:
1927 |       wikispecies:
1928 |         matrix:
1929 |           query: "Campbell, L.I. et al. 2011: MicroRNAs"
1930 |           lang: en
1931 |         result_container:
1932 |           - not_empty
1933 |           - ['one_title_contains', 'Tardigrada']
1934 |         test:
1935 |           - unique_results
1936 | 
1937 |   - name: wiktionary
1938 |     engine: mediawiki
1939 |     shortcut: wt
1940 |     categories: [dictionaries, wikimedia]
1941 |     base_url: "https://{language}.wiktionary.org/"
1942 |     search_type: text
1943 |     about:
1944 |       website: https://www.wiktionary.org/
1945 |       wikidata_id: Q151
1946 | 
1947 |   - name: wikiversity
1948 |     engine: mediawiki
1949 |     weight: 0.5
1950 |     shortcut: wv
1951 |     categories: [general, wikimedia]
1952 |     base_url: "https://{language}.wikiversity.org/"
1953 |     search_type: text
1954 |     disabled: true
1955 |     about:
1956 |       website: https://www.wikiversity.org/
1957 |       wikidata_id: Q370
1958 | 
1959 |   - name: wikivoyage
1960 |     engine: mediawiki
1961 |     weight: 0.5
1962 |     shortcut: wy
1963 |     categories: [general, wikimedia]
1964 |     base_url: "https://{language}.wikivoyage.org/"
1965 |     search_type: text
1966 |     disabled: true
1967 |     about:
1968 |       website: https://www.wikivoyage.org/
1969 |       wikidata_id: Q373
1970 | 
1971 |   - name: wikicommons.images
1972 |     engine: wikicommons
1973 |     shortcut: wc
1974 |     categories: images
1975 |     search_type: images
1976 |     number_of_results: 10
1977 | 
1978 |   - name: wikicommons.videos
1979 |     engine: wikicommons
1980 |     shortcut: wcv
1981 |     categories: videos
1982 |     search_type: videos
1983 |     number_of_results: 10
1984 | 
1985 |   - name: wikicommons.audio
1986 |     engine: wikicommons
1987 |     shortcut: wca
1988 |     categories: music
1989 |     search_type: audio
1990 |     number_of_results: 10
1991 | 
1992 |   - name: wikicommons.files
1993 |     engine: wikicommons
1994 |     shortcut: wcf
1995 |     categories: files
1996 |     search_type: files
1997 |     number_of_results: 10
1998 | 
1999 |   - name: wolframalpha
2000 |     shortcut: wa
2001 |     # You can use the engine using the official stable API, but you need an API
2002 |     # key.  See: https://products.wolframalpha.com/api/
2003 |     #
2004 |     # engine: wolframalpha_api
2005 |     # api_key: ''
2006 |     #
2007 |     # Or you can use the html non-stable engine, activated by default
2008 |     engine: wolframalpha_noapi
2009 |     timeout: 6.0
2010 |     categories: general
2011 |     disabled: true
2012 | 
2013 |   - name: dictzone
2014 |     engine: dictzone
2015 |     shortcut: dc
2016 | 
2017 |   - name: mymemory translated
2018 |     engine: translated
2019 |     shortcut: tl
2020 |     timeout: 5.0
2021 |     # You can use without an API key, but you are limited to 1000 words/day
2022 |     # See: https://mymemory.translated.net/doc/usagelimits.php
2023 |     # api_key: ''
2024 | 
2025 |   # Required dependency: mysql-connector-python
2026 |   #  - name: mysql
2027 |   #    engine: mysql_server
2028 |   #    database: mydatabase
2029 |   #    username: user
2030 |   #    password: pass
2031 |   #    limit: 10
2032 |   #    query_str: 'SELECT * from mytable WHERE fieldname=%(query)s'
2033 |   #    shortcut: mysql
2034 | 
2035 |   # Required dependency: mariadb
2036 |   #  - name: mariadb
2037 |   #    engine: mariadb_server
2038 |   #    database: mydatabase
2039 |   #    username: user
2040 |   #    password: pass
2041 |   #    limit: 10
2042 |   #    query_str: 'SELECT * from mytable WHERE fieldname=%(query)s'
2043 |   #    shortcut: mdb
2044 | 
2045 |   - name: 1337x
2046 |     engine: 1337x
2047 |     shortcut: 1337x
2048 |     disabled: true
2049 | 
2050 |   - name: duden
2051 |     engine: duden
2052 |     shortcut: du
2053 |     disabled: true
2054 | 
2055 |   - name: seznam
2056 |     shortcut: szn
2057 |     engine: seznam
2058 |     disabled: true
2059 | 
2060 |   # - name: deepl
2061 |   #   engine: deepl
2062 |   #   shortcut: dpl
2063 |   #   # You can use the engine using the official stable API, but you need an API key
2064 |   #   # See: https://www.deepl.com/pro-api?cta=header-pro-api
2065 |   #   api_key: ''  # required!
2066 |   #   timeout: 5.0
2067 |   #   disabled: true
2068 | 
2069 |   - name: mojeek
2070 |     shortcut: mjk
2071 |     engine: mojeek
2072 |     categories: [general, web]
2073 |     disabled: true
2074 | 
2075 |   - name: mojeek images
2076 |     shortcut: mjkimg
2077 |     engine: mojeek
2078 |     categories: [images, web]
2079 |     search_type: images
2080 |     paging: false
2081 |     disabled: true
2082 | 
2083 |   - name: mojeek news
2084 |     shortcut: mjknews
2085 |     engine: mojeek
2086 |     categories: [news, web]
2087 |     search_type: news
2088 |     paging: false
2089 |     disabled: true
2090 | 
2091 |   - name: moviepilot
2092 |     engine: moviepilot
2093 |     shortcut: mp
2094 |     disabled: true
2095 | 
2096 |   - name: naver
2097 |     shortcut: nvr
2098 |     categories: [general, web]
2099 |     engine: xpath
2100 |     paging: true
2101 |     search_url: https://search.naver.com/search.naver?where=webkr&sm=osp_hty&ie=UTF-8&query={query}&start={pageno}
2102 |     url_xpath: //a[@class="link_tit"]/@href
2103 |     title_xpath: //a[@class="link_tit"]
2104 |     content_xpath: //div[@class="total_dsc_wrap"]/a
2105 |     first_page_num: 1
2106 |     page_size: 10
2107 |     disabled: true
2108 |     about:
2109 |       website: https://www.naver.com/
2110 |       wikidata_id: Q485639
2111 |       official_api_documentation: https://developers.naver.com/docs/nmt/examples/
2112 |       use_official_api: false
2113 |       require_api_key: false
2114 |       results: HTML
2115 |       language: ko
2116 | 
2117 |   - name: rubygems
2118 |     shortcut: rbg
2119 |     engine: xpath
2120 |     paging: true
2121 |     search_url: https://rubygems.org/search?page={pageno}&query={query}
2122 |     results_xpath: /html/body/main/div/a[@class="gems__gem"]
2123 |     url_xpath: ./@href
2124 |     title_xpath: ./span/h2
2125 |     content_xpath: ./span/p
2126 |     suggestion_xpath: /html/body/main/div/div[@class="search__suggestions"]/p/a
2127 |     first_page_num: 1
2128 |     categories: [it, packages]
2129 |     disabled: true
2130 |     about:
2131 |       website: https://rubygems.org/
2132 |       wikidata_id: Q1853420
2133 |       official_api_documentation: https://guides.rubygems.org/rubygems-org-api/
2134 |       use_official_api: false
2135 |       require_api_key: false
2136 |       results: HTML
2137 | 
2138 |   - name: peertube
2139 |     engine: peertube
2140 |     shortcut: ptb
2141 |     paging: true
2142 |     # alternatives see: https://instances.joinpeertube.org/instances
2143 |     # base_url: https://tube.4aem.com
2144 |     categories: videos
2145 |     disabled: true
2146 |     timeout: 6.0
2147 | 
2148 |   - name: mediathekviewweb
2149 |     engine: mediathekviewweb
2150 |     shortcut: mvw
2151 |     disabled: true
2152 | 
2153 |   - name: yacy
2154 |     # https://docs.searxng.org/dev/engines/online/yacy.html
2155 |     engine: yacy
2156 |     categories: general
2157 |     search_type: text
2158 |     base_url:
2159 |       - https://yacy.searchlab.eu
2160 |       # see https://github.com/searxng/searxng/pull/3631#issuecomment-2240903027
2161 |       # - https://search.kyun.li
2162 |       # - https://yacy.securecomcorp.eu
2163 |       # - https://yacy.myserv.ca
2164 |       # - https://yacy.nsupdate.info
2165 |       # - https://yacy.electroncash.de
2166 |     shortcut: ya
2167 |     disabled: true
2168 |     # if you aren't using HTTPS for your local yacy instance disable https
2169 |     # enable_http: false
2170 |     search_mode: 'global'
2171 |     # timeout can be reduced in 'local' search mode
2172 |     timeout: 5.0
2173 | 
2174 |   - name: yacy images
2175 |     engine: yacy
2176 |     network: yacy
2177 |     categories: images
2178 |     search_type: image
2179 |     shortcut: yai
2180 |     disabled: true
2181 |     # timeout can be reduced in 'local' search mode
2182 |     timeout: 5.0
2183 | 
2184 |   - name: rumble
2185 |     engine: rumble
2186 |     shortcut: ru
2187 |     base_url: https://rumble.com/
2188 |     paging: true
2189 |     categories: videos
2190 |     disabled: true
2191 | 
2192 |   - name: livespace
2193 |     engine: livespace
2194 |     shortcut: ls
2195 |     categories: videos
2196 |     disabled: true
2197 |     timeout: 5.0
2198 | 
2199 |   - name: wordnik
2200 |     engine: wordnik
2201 |     shortcut: def
2202 |     base_url: https://www.wordnik.com/
2203 |     categories: [dictionaries]
2204 |     timeout: 5.0
2205 | 
2206 |   - name: woxikon.de synonyme
2207 |     engine: xpath
2208 |     shortcut: woxi
2209 |     categories: [dictionaries]
2210 |     timeout: 5.0
2211 |     disabled: true
2212 |     search_url: https://synonyme.woxikon.de/synonyme/{query}.php
2213 |     url_xpath: //div[@class="upper-synonyms"]/a/@href
2214 |     content_xpath: //div[@class="synonyms-list-group"]
2215 |     title_xpath: //div[@class="upper-synonyms"]/a
2216 |     no_result_for_http_status: [404]
2217 |     about:
2218 |       website: https://www.woxikon.de/
2219 |       wikidata_id:  # No Wikidata ID
2220 |       use_official_api: false
2221 |       require_api_key: false
2222 |       results: HTML
2223 |       language: de
2224 | 
2225 |   - name: seekr news
2226 |     engine: seekr
2227 |     shortcut: senews
2228 |     categories: news
2229 |     seekr_category: news
2230 |     disabled: true
2231 | 
2232 |   - name: seekr images
2233 |     engine: seekr
2234 |     network: seekr news
2235 |     shortcut: seimg
2236 |     categories: images
2237 |     seekr_category: images
2238 |     disabled: true
2239 | 
2240 |   - name: seekr videos
2241 |     engine: seekr
2242 |     network: seekr news
2243 |     shortcut: sevid
2244 |     categories: videos
2245 |     seekr_category: videos
2246 |     disabled: true
2247 | 
2248 |   - name: sjp.pwn
2249 |     engine: sjp
2250 |     shortcut: sjp
2251 |     base_url: https://sjp.pwn.pl/
2252 |     timeout: 5.0
2253 |     disabled: true
2254 | 
2255 |   - name: stract
2256 |     engine: stract
2257 |     shortcut: str
2258 |     disabled: true
2259 | 
2260 |   - name: svgrepo
2261 |     engine: svgrepo
2262 |     shortcut: svg
2263 |     timeout: 10.0
2264 |     disabled: true
2265 | 
2266 |   - name: tootfinder
2267 |     engine: tootfinder
2268 |     shortcut: toot
2269 | 
2270 |   - name: voidlinux
2271 |     engine: voidlinux
2272 |     shortcut: void
2273 |     disabled: true
2274 | 
2275 |   - name: wallhaven
2276 |     engine: wallhaven
2277 |     # api_key: abcdefghijklmnopqrstuvwxyz
2278 |     shortcut: wh
2279 | 
2280 |     # wikimini: online encyclopedia for children
2281 |     # The fulltext and title parameter is necessary for Wikimini because
2282 |     # sometimes it will not show the results and redirect instead
2283 |   - name: wikimini
2284 |     engine: xpath
2285 |     shortcut: wkmn
2286 |     search_url: https://fr.wikimini.org/w/index.php?search={query}&title=Sp%C3%A9cial%3ASearch&fulltext=Search
2287 |     url_xpath: //li/div[@class="mw-search-result-heading"]/a/@href
2288 |     title_xpath: //li//div[@class="mw-search-result-heading"]/a
2289 |     content_xpath: //li/div[@class="searchresult"]
2290 |     categories: general
2291 |     disabled: true
2292 |     about:
2293 |       website: https://wikimini.org/
2294 |       wikidata_id: Q3568032
2295 |       use_official_api: false
2296 |       require_api_key: false
2297 |       results: HTML
2298 |       language: fr
2299 | 
2300 |   - name: wttr.in
2301 |     engine: wttr
2302 |     shortcut: wttr
2303 |     timeout: 9.0
2304 | 
2305 |   - name: yummly
2306 |     engine: yummly
2307 |     shortcut: yum
2308 |     disabled: true
2309 | 
2310 |   - name: brave
2311 |     engine: brave
2312 |     shortcut: br
2313 |     time_range_support: true
2314 |     paging: true
2315 |     categories: [general, web]
2316 |     brave_category: search
2317 |     # brave_spellcheck: true
2318 | 
2319 |   - name: brave.images
2320 |     engine: brave
2321 |     network: brave
2322 |     shortcut: brimg
2323 |     categories: [images, web]
2324 |     brave_category: images
2325 | 
2326 |   - name: brave.videos
2327 |     engine: brave
2328 |     network: brave
2329 |     shortcut: brvid
2330 |     categories: [videos, web]
2331 |     brave_category: videos
2332 | 
2333 |   - name: brave.news
2334 |     engine: brave
2335 |     network: brave
2336 |     shortcut: brnews
2337 |     categories: news
2338 |     brave_category: news
2339 | 
2340 |   # - name: brave.goggles
2341 |   #   engine: brave
2342 |   #   network: brave
2343 |   #   shortcut: brgog
2344 |   #   time_range_support: true
2345 |   #   paging: true
2346 |   #   categories: [general, web]
2347 |   #   brave_category: goggles
2348 |   #   Goggles: # required! This should be a URL ending in .goggle
2349 | 
2350 |   - name: lib.rs
2351 |     shortcut: lrs
2352 |     engine: lib_rs
2353 |     disabled: true
2354 | 
2355 |   - name: sourcehut
2356 |     shortcut: srht
2357 |     engine: xpath
2358 |     paging: true
2359 |     search_url: https://sr.ht/projects?page={pageno}&search={query}
2360 |     results_xpath: (//div[@class="event-list"])[1]/div[@class="event"]
2361 |     url_xpath: ./h4/a[2]/@href
2362 |     title_xpath: ./h4/a[2]
2363 |     content_xpath: ./p
2364 |     first_page_num: 1
2365 |     categories: [it, repos]
2366 |     disabled: true
2367 |     about:
2368 |       website: https://sr.ht
2369 |       wikidata_id: Q78514485
2370 |       official_api_documentation: https://man.sr.ht/
2371 |       use_official_api: false
2372 |       require_api_key: false
2373 |       results: HTML
2374 | 
2375 |   - name: goo
2376 |     shortcut: goo
2377 |     engine: xpath
2378 |     paging: true
2379 |     search_url: https://search.goo.ne.jp/web.jsp?MT={query}&FR={pageno}0
2380 |     url_xpath: //div[@class="result"]/p[@class='title fsL1']/a/@href
2381 |     title_xpath: //div[@class="result"]/p[@class='title fsL1']/a
2382 |     content_xpath: //p[contains(@class,'url fsM')]/following-sibling::p
2383 |     first_page_num: 0
2384 |     categories: [general, web]
2385 |     disabled: true
2386 |     timeout: 4.0
2387 |     about:
2388 |       website: https://search.goo.ne.jp
2389 |       wikidata_id: Q249044
2390 |       use_official_api: false
2391 |       require_api_key: false
2392 |       results: HTML
2393 |       language: ja
2394 | 
2395 |   - name: bt4g
2396 |     engine: bt4g
2397 |     shortcut: bt4g
2398 | 
2399 |   - name: pkg.go.dev
2400 |     engine: pkg_go_dev
2401 |     shortcut: pgo
2402 |     disabled: true
2403 | 
2404 | # Doku engine lets you access to any Doku wiki instance:
2405 | # A public one or a privete/corporate one.
2406 | #  - name: ubuntuwiki
2407 | #    engine: doku
2408 | #    shortcut: uw
2409 | #    base_url: 'https://doc.ubuntu-fr.org'
2410 | 
2411 | # Be careful when enabling this engine if you are
2412 | # running a public instance. Do not expose any sensitive
2413 | # information. You can restrict access by configuring a list
2414 | # of access tokens under tokens.
2415 | #  - name: git grep
2416 | #    engine: command
2417 | #    command: ['git', 'grep', '{{QUERY}}']
2418 | #    shortcut: gg
2419 | #    tokens: []
2420 | #    disabled: true
2421 | #    delimiter:
2422 | #        chars: ':'
2423 | #        keys: ['filepath', 'code']
2424 | 
2425 | # Be careful when enabling this engine if you are
2426 | # running a public instance. Do not expose any sensitive
2427 | # information. You can restrict access by configuring a list
2428 | # of access tokens under tokens.
2429 | #  - name: locate
2430 | #    engine: command
2431 | #    command: ['locate', '{{QUERY}}']
2432 | #    shortcut: loc
2433 | #    tokens: []
2434 | #    disabled: true
2435 | #    delimiter:
2436 | #        chars: ' '
2437 | #        keys: ['line']
2438 | 
2439 | # Be careful when enabling this engine if you are
2440 | # running a public instance. Do not expose any sensitive
2441 | # information. You can restrict access by configuring a list
2442 | # of access tokens under tokens.
2443 | #  - name: find
2444 | #    engine: command
2445 | #    command: ['find', '.', '-name', '{{QUERY}}']
2446 | #    query_type: path
2447 | #    shortcut: fnd
2448 | #    tokens: []
2449 | #    disabled: true
2450 | #    delimiter:
2451 | #        chars: ' '
2452 | #        keys: ['line']
2453 | 
2454 | # Be careful when enabling this engine if you are
2455 | # running a public instance. Do not expose any sensitive
2456 | # information. You can restrict access by configuring a list
2457 | # of access tokens under tokens.
2458 | #  - name: pattern search in files
2459 | #    engine: command
2460 | #    command: ['fgrep', '{{QUERY}}']
2461 | #    shortcut: fgr
2462 | #    tokens: []
2463 | #    disabled: true
2464 | #    delimiter:
2465 | #        chars: ' '
2466 | #        keys: ['line']
2467 | 
2468 | # Be careful when enabling this engine if you are
2469 | # running a public instance. Do not expose any sensitive
2470 | # information. You can restrict access by configuring a list
2471 | # of access tokens under tokens.
2472 | #  - name: regex search in files
2473 | #    engine: command
2474 | #    command: ['grep', '{{QUERY}}']
2475 | #    shortcut: gr
2476 | #    tokens: []
2477 | #    disabled: true
2478 | #    delimiter:
2479 | #        chars: ' '
2480 | #        keys: ['line']
2481 | 
2482 | doi_resolvers:
2483 |   oadoi.org: 'https://oadoi.org/'
2484 |   doi.org: 'https://doi.org/'
2485 |   doai.io: 'https://dissem.in/'
2486 |   sci-hub.se: 'https://sci-hub.se/'
2487 |   sci-hub.st: 'https://sci-hub.st/'
2488 |   sci-hub.ru: 'https://sci-hub.ru/'
2489 | 
2490 | default_doi_resolver: 'oadoi.org'
2491 | 
```
Page 2/2FirstPrevNextLast