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
1 changed files with 93 additions and 62 deletions

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": ["Param:q", "Path=^(/|/search)$"], "filters":[
"interval": <time-interval-in-sec>, "Param:q",
"limit": <max-request-number-in-interval>, "Path=^(/|/search)$"
],
"interval":"<time-interval-in-sec (int)>",
"limit":"<max-request-number-in-interval (int)>",
"subrules":[ "subrules":[
{ {
"name":"roboagent limit", "name":"roboagent limit",
"interval": <time-interval-in-sec>, "interval":"<time-interval-in-sec (int)>",
"limit": <max-request-number-in-interval>, "limit":"<max-request-number-in-interval (int)>",
"filters": ["Header:User-Agent=(curl|cURL|Wget|python-requests|Scrapy|FeedFetcher|Go-http-client)"], "filters":[
"Header:User-Agent=(curl|cURL|Wget|python-requests|Scrapy|FeedFetcher|Go-http-client)"
],
"actions":[ "actions":[
{"name": "block", {
"params": {"message": "Rate limit exceeded"}} "name":"block",
"params":{
"message":"Rate limit exceeded"
}
}
] ]
}, },
{ {
"name":"botlimit", "name":"botlimit",
"limit":0, "limit":0,
"stop":true, "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)"], "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":[ "actions":[
{"name": "block", {
"params": {"message": "Rate limit exceeded"}} "name":"block",
"params":{
"message":"Rate limit exceeded"
}
}
] ]
}, },
{ {
"name":"IP limit", "name":"IP limit",
"interval": <time-interval-in-sec>, "interval":"<time-interval-in-sec (int)>",
"limit": <max-request-number-in-interval>, "limit":"<max-request-number-in-interval (int)>",
"stop":true, "stop":true,
"aggregations": ["Header:X-Forwarded-For"], "aggregations":[
"Header:X-Forwarded-For"
],
"actions":[ "actions":[
{"name": "block", {
"params": {"message": "Rate limit exceeded"}} "name":"block",
"params":{
"message":"Rate limit exceeded"
}
}
] ]
}, },
{ {
"name":"rss/json limit", "name":"rss/json limit",
"interval": <time-interval-in-sec>, "interval":"<time-interval-in-sec (int)>",
"limit": <max-request-number-in-interval>, "limit":"<max-request-number-in-interval (int)>",
"stop":true, "stop":true,
"filters": ["Param:format=(csv|json|rss)"], "filters":[
"Param:format=(csv|json|rss)"
],
"actions":[ "actions":[
{"name": "block", {
"params": {"message": "Rate limit exceeded"}} "name":"block",
"params":{
"message":"Rate limit exceeded"
}
}
] ]
}, },
{ {
"name":"useragent limit", "name":"useragent limit",
"interval": <time-interval-in-sec>, "interval":"<time-interval-in-sec (int)>",
"limit": <max-request-number-in-interval>, "limit":"<max-request-number-in-interval (int)>",
"aggregations": ["Header:User-Agent"], "aggregations":[
"Header:User-Agent"
],
"actions":[ "actions":[
{"name": "block", {
"params": {"message": "Rate limit exceeded"}} "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;