diff options
author | Jean Lucas | 2018-07-02 19:06:55 -0400 |
---|---|---|
committer | Jean Lucas | 2018-07-09 23:10:17 -0400 |
commit | a531583c445aad00f92ae4f081b59f3653ddb466 (patch) | |
tree | 4b4ab006773f9838afd520e0db96c81583b40ed0 | |
parent | ed99bcb5f9f0002bc49337d7b6805c4b1141b9f5 (diff) | |
download | aur-a531583c445aad00f92ae4f081b59f3653ddb466.tar.gz |
Add provides, add rules.json
-rw-r--r-- | .SRCINFO | 11 | ||||
-rw-r--r-- | PKGBUILD | 18 | ||||
-rw-r--r-- | rules.json | 62 |
3 files changed, 80 insertions, 11 deletions
@@ -1,9 +1,9 @@ # Generated by mksrcinfo v8 -# Sat Jun 16 00:59:32 UTC 2018 +# Tue Jul 10 03:10:10 UTC 2018 pkgbase = filtron-git - pkgdesc = Filtering reverse HTTP proxy + pkgdesc = Filtering reverse-HTTP proxy pkgver = 0+51+93f8b22 - pkgrel = 1 + pkgrel = 2 url = https://github.com/asciimoo/filtron arch = any license = AGPL3 @@ -13,10 +13,13 @@ pkgbase = filtron-git optdepends = searx-git: A privacy-respecting, hackable metasearch engine (Git) optdepends = morty: Privacy-aware web content sanitizer proxy-as-a-service optdepends = morty-git: Privacy-aware web content sanitizer proxy-as-a-service (Git) + provides = filtron conflicts = filtron - source = git+https://github.com/asciimoo/filtron.git + source = git+https://github.com/asciimoo/filtron + source = rules.json source = filtron.service sha512sums = SKIP + sha512sums = 2668deb746ad361ebe32ea46b361f69c0eaf591b7faebb10dd2de11e114645c5fd726d45bb6aebec5b5bcef8dcad51d4b681a5e4b1ec83f918de4929aa237285 sha512sums = 0b7bbe55b3fd89d589e5662699f93d7aaf3c1d77d29be9cc568f8430e4a2491ba4920ca153f4d887a29da1f51670ec06346809cc5d1f373af540e252feccc799 pkgname = filtron-git @@ -2,35 +2,39 @@ pkgname=filtron-git pkgver=0+51+93f8b22 -pkgrel=1 -pkgdesc='Filtering reverse HTTP proxy' +pkgrel=2 +pkgdesc='Filtering reverse-HTTP proxy' arch=(any) -url='https://github.com/asciimoo/filtron' +url=https://github.com/asciimoo/filtron license=(AGPL3) +provides=(filtron) conflicts=(filtron) makedepends=(git go) optdepends=('searx: A privacy-respecting, hackable metasearch engine' 'searx-git: A privacy-respecting, hackable metasearch engine (Git)' 'morty: Privacy-aware web content sanitizer proxy-as-a-service' 'morty-git: Privacy-aware web content sanitizer proxy-as-a-service (Git)') -source=(git+https://github.com/asciimoo/filtron.git +source=(git+$url + rules.json filtron.service) sha512sums=(SKIP + 2668deb746ad361ebe32ea46b361f69c0eaf591b7faebb10dd2de11e114645c5fd726d45bb6aebec5b5bcef8dcad51d4b681a5e4b1ec83f918de4929aa237285 0b7bbe55b3fd89d589e5662699f93d7aaf3c1d77d29be9cc568f8430e4a2491ba4920ca153f4d887a29da1f51670ec06346809cc5d1f373af540e252feccc799) pkgver() { - cd $srcdir/filtron + cd filtron printf 0+%s+%s $(git rev-list --count HEAD) $(git rev-parse --short HEAD) } build() { - cd $srcdir/filtron + cd filtron GOPATH=$srcdir/filtron go get -v -x github.com/asciimoo/filtron } package() { - cd $srcdir/filtron + cd filtron install -D bin/filtron $pkgdir/usr/bin/filtron + install -Dm 644 ../rules.json $pkgdir/etc/filtron/rules.json install -Dm 644 ../filtron.service $pkgdir/usr/lib/systemd/system/filtron.service install -Dm 644 LICENSE $pkgdir/usr/share/licenses/filtron/LICENSE } diff --git a/rules.json b/rules.json new file mode 100644 index 000000000000..487b61c9ef48 --- /dev/null +++ b/rules.json @@ -0,0 +1,62 @@ +[ + { + "name": "Search request", + "filters": ["Param:q", "Path=^(/|/search)$"], + "interval": 5, + "limit": 1, + "subrules": [ + { + "name": "Robo-agent limit", + "interval": 5, + "limit": 1, + "filters": ["Header:User-Agent=(curl|cURL|Wget|python-requests|Scrapy|FeedFetcher|Go-http-client)"], + "actions": [ + { "name": "block", + "params": { "message": "Rate limit exceeded" } } + ] + }, + { + "name": "Bot limit", + "limit": 0, + "stop": true, + "filters": ["Header:User-Agent=(Googlebot|bingbot|Baiduspider|yacybot|YandexMobileBot|YandexBot|Yahoo! Slurp|MJ11bot|AhrefsBot|archive.org_bot|msnbot|MJ11bot|SeznamBot|linkdexbot|Netvibes|SMTBot|zgrab|James BOT)"], + "actions": [ + { "name": "block", + "params": { "message": "Rate limit exceeded" } } + ] + }, + { + "name": "IP limit", + "interval": 5, + "limit": 1, + "stop": true, + "aggregations": ["Header:X-Forwarded-For"], + "actions": [ + { "name": "block", + "params": { "message": "Rate limit exceeded" } } + ] + }, + { + "name": "RSS/JSON limit", + "interval": 5, + "limit": 1, + "stop": true, + "filters": ["Param:format=(csv|json|rss)"], + "actions": [ + { "name": "block", + "params": { "message": "Rate limit exceeded" } } + ] + }, + { + "name": "User-agent limit", + "interval": 5, + "limit": 1, + "aggregations": ["Header:User-Agent"], + "actions": [ + { "name": "block", + "params": { "message": "Rate limit exceeded" } } + ] + } + ] + } +] |