Markus Heiser
d56b31d674
[fix] limiter / botdetection: remove http_connection method
...
Related:
- https://github.com/searxng/searxng/issues/2892#issuecomment-1742153932
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de >
2023-10-01 20:24:22 +02:00
jazzzooo
223b3487c3
[fix] spelling
2023-09-18 16:20:27 +02:00
Markus Heiser
f3763d73ad
[mod] limiter: blocklist and passlist (ip_lists)
...
A blocklist and a passlist can be configured in /etc/searxng/limiter.toml::
[botdetection.ip_lists]
pass_ip = [
'51.15.252.168', # IPv4 of check.searx.space
]
block_ip = [
'93.184.216.34', # IPv4 of example.org
]
Closes: https://github.com/searxng/searxng/issues/2127
Closes: https://github.com/searxng/searxng/pull/2129
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de >
2023-06-05 14:07:19 +02:00
Markus Heiser
281e36f4b7
[fix] limiter: replace real_ip by IPv4/v6 network
...
Closes: https://github.com/searxng/searxng/issues/2477
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de >
2023-06-01 15:51:14 +02:00
Markus Heiser
b8c7c2c9aa
[mod] botdetection - improve ip_limit and link_token methods
...
- counting requests in LONG_WINDOW and BURST_WINDOW is not needed when the
request is validated by the link_token method [1]
- renew a ping-key on validation [2], this is needed for infinite scrolling,
where no new token (CSS) is loaded. / this does not fix the BURST_MAX issue in
the vanilla limiter
- normalize the counter names of the ip_limit method to 'ip_limit.*'
- just integrate the ip_limit method straight forward in the limiter plugin /
non intermediate code --> ip_limit now returns None or a werkzeug.Response
object that can be passed by the plugin to the flask application / non
intermediate code that returns a tuple
[1] https://github.com/searxng/searxng/pull/2357#issuecomment-1566113277
[2] https://github.com/searxng/searxng/pull/2357#discussion_r1208542206
[3] https://github.com/searxng/searxng/pull/2357#issuecomment-1566125979
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de >
2023-06-01 14:38:53 +02:00
Markus Heiser
66fdec0eb9
[mod] limiter: add config file /etc/searxng/limiter.toml
...
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de >
2023-06-01 14:38:53 +02:00
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