Ponysearch/searx
Markus Heiser 1ec325adcc [mod] limiter -> botdetection: modularization and documentation
In order to be able to meet the outstanding requirements, the implementation is
modularized and supplemented with documentation.

This patch does not contain functional change, except it fixes issue #2455

----

Aktivate limiter in the settings.yml and simulate a bot request by::

    curl -H 'Accept-Language: de-DE,en-US;q=0.7,en;q=0.3' \
         -H 'Accept: text/html'
         -H 'User-Agent: xyz' \
         -H 'Accept-Encoding: gzip' \
         'http://127.0.0.1:8888/search?q=foo'

In the LOG:

    DEBUG   searx.botdetection.link_token : missing ping for this request: .....

Since ``BURST_MAX_SUSPICIOUS = 2`` you can repeat the query above two time
before you get a "Too Many Requests" response.

Closes: https://github.com/searxng/searxng/issues/2455
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2023-05-29 14:54:56 +02:00
..
answerers [fix] issue reported by pylint 22.1.0 2022-02-04 09:45:35 +01:00
botdetection [mod] limiter -> botdetection: modularization and documentation 2023-05-29 14:54:56 +02:00
data Update searx.data - update_engine_descriptions.py 2023-05-29 07:28:50 +02:00
enginelib [fix] searxng_extra/update/update_engine_descriptions.py (part 1) 2023-04-15 16:03:59 +02:00
engines use logger.warning 2023-05-19 19:35:29 +05:30
infopage [fix] minor typo in de/search-syntax page 2023-04-08 10:25:52 +02:00
metrics [fix] prepare for pylint 2.14.0 2022-06-03 15:41:52 +02:00
network [mod] Shuffle httpx's default ciphers of a SSL context randomly. 2023-03-19 13:40:31 +01:00
plugins [mod] limiter -> botdetection: modularization and documentation 2023-05-29 14:54:56 +02:00
search use logger.warning 2023-05-19 19:35:29 +05:30
static [build] /static 2023-05-28 12:19:32 +02:00
templates/simple [mod] limiter -> botdetection: modularization and documentation 2023-05-29 14:54:56 +02:00
translations [translations] update from Weblate 2023-05-26 07:08:21 +00:00
__init__.py [format.python] initial formatting of the python code 2021-12-27 09:26:22 +01:00
autocomplete.py [mod] remove obsolete EngineTraits.supported_languages 2023-03-24 10:37:42 +01:00
babel_extract.py [mod] move category and names of constants to searx/searxng.msg 2022-03-16 09:55:53 +01:00
compat.py [fix] pyright repported errors 2022-07-30 18:04:44 +02:00
exceptions.py [doc] Add doc-strings to searx.exceptions 2023-01-29 19:06:19 +01:00
external_bang.py [mod] external bang: go to main instead of search page when query is empty 2023-04-25 15:02:34 +02:00
external_urls.py [fix] typos / reported by @kianmeng in searx PR-3366 2022-09-27 18:32:14 +02:00
flaskfix.py [format.python] initial formatting of the python code 2021-12-27 09:26:22 +01:00
locales.py use logger.warning 2023-05-19 19:35:29 +05:30
preferences.py [fix] ClientPref - don't raise exception if Accept-Language is invalid 2023-05-22 12:38:59 +02:00
query.py [mod] replace searx.languages by searx.sxng_locales 2023-03-24 10:37:42 +01:00
redisdb.py move searx.shared.redisdb to searx.redisdb 2022-12-10 09:26:38 +01:00
redislib.py [mod] redislib - optimize LUA script registration. 2022-05-30 11:21:09 +02:00
results.py [fix] typos / reported by @kianmeng in searx PR-3366 2022-09-27 18:32:14 +02:00
searxng.msg [mod] clarify the difference of the default category and subgrouping 2023-04-07 11:03:25 +02:00
settings.yml [mod] donation_url: disable by default 2023-05-15 09:19:17 +02:00
settings_defaults.py [mod] replace searx.languages by searx.sxng_locales 2023-03-24 10:37:42 +01:00
settings_loader.py [fix] categories can't be removed from UI (categories_as_tabs) 2023-04-03 19:08:27 +02:00
sxng_locales.py Update searx.data - update_engine_traits.py 2023-04-16 08:40:44 +02:00
unixthreadname.py [format.python] initial formatting of the python code 2021-12-27 09:26:22 +01:00
utils.py [mod] replace utils.match_language by locales.match_locale 2023-03-24 10:37:42 +01:00
version.py [fix] version format string generated by 'git show' 2023-05-10 18:33:45 +02:00
webadapter.py [mod] move language recognition to get_search_query_from_webapp 2023-04-15 22:23:33 +02:00
webapp.py [mod] limiter -> botdetection: modularization and documentation 2023-05-29 14:54:56 +02:00
webutils.py [mod] in the preference page, show !bang of subgrouping categories 2023-04-08 11:10:14 +02:00