mirror of
				https://github.com/searxng/searxng.git
				synced 2025-10-30 18:22:31 -04:00 
			
		
		
		
	Merge pull request #994 from return42/add-limiter-redis-doc
[doc] add some documentation about the limiter plugin (and redis)
This commit is contained in:
		
						commit
						ef8af285a2
					
				| @ -226,6 +226,17 @@ Global Settings | ||||
| 
 | ||||
| .. _Redis.from_url(url): https://redis-py.readthedocs.io/en/stable/connections.html#redis.client.Redis.from_url | ||||
| 
 | ||||
| A redis DB can be connected by an URL, in :py:obj:`searx.shared.redisdb` you | ||||
| will find a description to test your redis connection in SerXNG.  When using | ||||
| sockets, don't forget to check the access rights on the socket:: | ||||
| 
 | ||||
|   ls -la /usr/local/searxng-redis/run/redis.sock | ||||
|   srwxrwx--- 1 searxng-redis searxng-redis ... /usr/local/searxng-redis/run/redis.sock | ||||
| 
 | ||||
| In this example read/write access is given to the *searxng-redis* group.  To get | ||||
| access rights to redis instance (the socket), your SearXNG (or even your | ||||
| developer) account needs to be added to the *searxng-redis* group. | ||||
| 
 | ||||
| ``url`` | ||||
|   URL to connect redis database, see `Redis.from_url(url)`_ & :ref:`redis db`:: | ||||
| 
 | ||||
| @ -235,17 +246,21 @@ Global Settings | ||||
| 
 | ||||
| .. admonition:: Tip for developers | ||||
| 
 | ||||
|    To set up a redis instance simply use:: | ||||
|    To set up a local redis instance using sockets simply use:: | ||||
| 
 | ||||
|      $ ./manage redis.build | ||||
|      $ sudo -H ./manage redis.install | ||||
| 
 | ||||
|    To get access rights to this instance, your developer account needs to be | ||||
|    added to the *searxng-redis* group:: | ||||
| 
 | ||||
|      $ sudo -H ./manage redis.addgrp "${USER}" | ||||
|      # don't forget to logout & login to get member of group | ||||
| 
 | ||||
|    The YAML setting for such a redis instance is: | ||||
| 
 | ||||
|    .. code:: yaml | ||||
| 
 | ||||
|       redis: | ||||
|         url: unix:///usr/local/searxng-redis/run/redis.sock?db=0 | ||||
| 
 | ||||
| 
 | ||||
| .. _settings outgoing: | ||||
| 
 | ||||
| ``outgoing:`` | ||||
|  | ||||
| @ -5,17 +5,19 @@ | ||||
| How to protect an instance | ||||
| ========================== | ||||
| 
 | ||||
| .. tip:: | ||||
| 
 | ||||
|    To protect your instance a installation of filtron (as described here) is no | ||||
|    longer needed, alternatively activate the :ref:`limiter plugin` in your | ||||
|    ``settings.yml``. Note that the :ref:`limiter plugin` requires a :ref:`Redis | ||||
|    <settings redis>` database. | ||||
| 
 | ||||
| 
 | ||||
| .. sidebar:: further reading | ||||
| 
 | ||||
|    - :ref:`filtron.sh` | ||||
|    - :ref:`nginx searxng site` | ||||
| 
 | ||||
| 
 | ||||
| .. contents:: Contents | ||||
|    :depth: 2 | ||||
|    :local: | ||||
|    :backlinks: entry | ||||
| 
 | ||||
| .. _filtron: https://github.com/searxng/filtron | ||||
| 
 | ||||
| SearXNG depends on external search services.  To avoid the abuse of these services | ||||
|  | ||||
| @ -4,6 +4,10 @@ | ||||
| Limiter Plugin | ||||
| ============== | ||||
| 
 | ||||
| .. sidebar:: info | ||||
| 
 | ||||
|    The :ref:`limiter plugin` requires a :ref:`Redis <settings redis>` database. | ||||
| 
 | ||||
| .. automodule:: searx.plugins.limiter | ||||
|   :members: | ||||
| 
 | ||||
|  | ||||
| @ -3,6 +3,10 @@ | ||||
| # pyright: basic | ||||
| """Some bot protection / rate limitation | ||||
| 
 | ||||
| To monitore rate limits and protect privacy the IP addresses are getting stored | ||||
| with a hash so the limiter plugin knows who to block.  A redis database is | ||||
| needed to store the hash values. | ||||
| 
 | ||||
| Enable the plugin in ``settings.yml``: | ||||
| 
 | ||||
| - ``server.limiter: true`` | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user