doc: [fix] WARNING: Could not lex literal_block as "json"

docs/admin/filtron.rst:24: \
   WARNING: Could not lex literal_block as "json". Highlighting skipped.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
This commit is contained in:
Markus Heiser 2019-12-04 17:30:34 +01:00
parent af2cae6d1d
commit 0a7479f194

View file

@ -23,68 +23,99 @@ An example configuration can be find below. This configuration limits the access
.. code:: json .. code:: json
[ [{
{ "name":"search request",
"name": "search request", "filters":[
"filters": ["Param:q", "Path=^(/|/search)$"], "Param:q",
"interval": <time-interval-in-sec>, "Path=^(/|/search)$"
"limit": <max-request-number-in-interval>, ],
"subrules": [ "interval":"<time-interval-in-sec (int)>",
{ "limit":"<max-request-number-in-interval (int)>",
"name": "roboagent limit", "subrules":[
"interval": <time-interval-in-sec>, {
"limit": <max-request-number-in-interval>, "name":"roboagent limit",
"filters": ["Header:User-Agent=(curl|cURL|Wget|python-requests|Scrapy|FeedFetcher|Go-http-client)"], "interval":"<time-interval-in-sec (int)>",
"actions": [ "limit":"<max-request-number-in-interval (int)>",
{"name": "block", "filters":[
"params": {"message": "Rate limit exceeded"}} "Header:User-Agent=(curl|cURL|Wget|python-requests|Scrapy|FeedFetcher|Go-http-client)"
] ],
}, "actions":[
{ {
"name": "botlimit", "name":"block",
"limit": 0, "params":{
"stop": true, "message":"Rate limit exceeded"
"filters": ["Header:User-Agent=(Googlebot|bingbot|Baiduspider|yacybot|YandexMobileBot|YandexBot|Yahoo! Slurp|MJ12bot|AhrefsBot|archive.org_bot|msnbot|MJ12bot|SeznamBot|linkdexbot|Netvibes|SMTBot|zgrab|James BOT)"], }
"actions": [ }
{"name": "block",
"params": {"message": "Rate limit exceeded"}}
]
},
{
"name": "IP limit",
"interval": <time-interval-in-sec>,
"limit": <max-request-number-in-interval>,
"stop": true,
"aggregations": ["Header:X-Forwarded-For"],
"actions": [
{"name": "block",
"params": {"message": "Rate limit exceeded"}}
]
},
{
"name": "rss/json limit",
"interval": <time-interval-in-sec>,
"limit": <max-request-number-in-interval>,
"stop": true,
"filters": ["Param:format=(csv|json|rss)"],
"actions": [
{"name": "block",
"params": {"message": "Rate limit exceeded"}}
]
},
{
"name": "useragent limit",
"interval": <time-interval-in-sec>,
"limit": <max-request-number-in-interval>,
"aggregations": ["Header:User-Agent"],
"actions": [
{"name": "block",
"params": {"message": "Rate limit exceeded"}}
]
}
] ]
} },
] {
"name":"botlimit",
"limit":0,
"stop":true,
"filters":[
"Header:User-Agent=(Googlebot|bingbot|Baiduspider|yacybot|YandexMobileBot|YandexBot|Yahoo! Slurp|MJ12bot|AhrefsBot|archive.org_bot|msnbot|MJ12bot|SeznamBot|linkdexbot|Netvibes|SMTBot|zgrab|James BOT)"
],
"actions":[
{
"name":"block",
"params":{
"message":"Rate limit exceeded"
}
}
]
},
{
"name":"IP limit",
"interval":"<time-interval-in-sec (int)>",
"limit":"<max-request-number-in-interval (int)>",
"stop":true,
"aggregations":[
"Header:X-Forwarded-For"
],
"actions":[
{
"name":"block",
"params":{
"message":"Rate limit exceeded"
}
}
]
},
{
"name":"rss/json limit",
"interval":"<time-interval-in-sec (int)>",
"limit":"<max-request-number-in-interval (int)>",
"stop":true,
"filters":[
"Param:format=(csv|json|rss)"
],
"actions":[
{
"name":"block",
"params":{
"message":"Rate limit exceeded"
}
}
]
},
{
"name":"useragent limit",
"interval":"<time-interval-in-sec (int)>",
"limit":"<max-request-number-in-interval (int)>",
"aggregations":[
"Header:User-Agent"
],
"actions":[
{
"name":"block",
"params":{
"message":"Rate limit exceeded"
}
}
]
}
]
}]
@ -101,7 +132,7 @@ It listens on 127.0.0.1:4004 and forwards filtered requests to 127.0.0.1:8888 by
Use it along with ``nginx`` with the following example configuration. Use it along with ``nginx`` with the following example configuration.
.. code:: bash .. code:: nginx
location / { location / {
proxy_set_header Host $http_host; proxy_set_header Host $http_host;