From 4c5c4c953caeeb1cf35535b5b078f77a297a1f5a Mon Sep 17 00:00:00 2001 From: Jeff Becker Date: Thu, 24 Nov 2016 09:24:19 -0500 Subject: [PATCH] more --- baddiefinder/baddiefinder/__main__.py | 2 +- baddiefinder/baddiefinder/web.py | 29 +++++++++++++++++++++++++++ baddiefinder/requirements.txt | 3 +-- 3 files changed, 31 insertions(+), 3 deletions(-) create mode 100644 baddiefinder/baddiefinder/web.py diff --git a/baddiefinder/baddiefinder/__main__.py b/baddiefinder/baddiefinder/__main__.py index fa92c2f..830d207 100644 --- a/baddiefinder/baddiefinder/__main__.py +++ b/baddiefinder/baddiefinder/__main__.py @@ -17,7 +17,7 @@ def main(): args = ap.parse_args() s = settings.load(args.settings) - fmax = s.get("thresholds", "max_floodfills_per_ip", fallback=5) + fmax = s.get("thresholds", "max_floodfills_per_ip", fallback=3) f = filter.FloodfillFilter(fmax) p = processor.BaddieProcessor([f]) netdb.inspect(p.hook) diff --git a/baddiefinder/baddiefinder/web.py b/baddiefinder/baddiefinder/web.py new file mode 100644 index 0000000..eaa5fe0 --- /dev/null +++ b/baddiefinder/baddiefinder/web.py @@ -0,0 +1,29 @@ +import flask +import io +import netdb + +from . import settings +from . import filter +from . import processor + +app = flask.Flask(__name__) + +@app.route("/baddies.txt") +def baddies(): + s = settings.load('baddies.ini') + fmax = s.get("thresholds", "max_floodfills_per_ip", fallback=3) + f = filter.FloodfillFilter(fmax) + p = processor.BaddieProcessor([f]) + path = s.get("netdb", "directory", fallback=None) + if path: + netdb.inspect(p.hook, path) + else: + netdb.inspect(p.hook) + body = io.BytesIO() + p.write_blocklist(body) + return body + +@app.route("/") +def index(): + return """this server serves a router info blocklist of ip addresses with unreasonably high desnity of i2p routers (right now just floodfills) +""" diff --git a/baddiefinder/requirements.txt b/baddiefinder/requirements.txt index 8273fd3..7e10602 100644 --- a/baddiefinder/requirements.txt +++ b/baddiefinder/requirements.txt @@ -1,2 +1 @@ -python-geoip -python-geoip-geolite2 +flask