mirror of
https://github.com/PurpleI2P/i2pd-tools
synced 2025-02-11 06:04:14 +00:00
Merge pull request #4 from majestrate/master
add flask app for serving router info blacklist
This commit is contained in:
commit
8d4f1ab998
@ -17,7 +17,7 @@ def main():
|
|||||||
|
|
||||||
args = ap.parse_args()
|
args = ap.parse_args()
|
||||||
s = settings.load(args.settings)
|
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)
|
f = filter.FloodfillFilter(fmax)
|
||||||
p = processor.BaddieProcessor([f])
|
p = processor.BaddieProcessor([f])
|
||||||
netdb.inspect(p.hook)
|
netdb.inspect(p.hook)
|
||||||
|
37
baddiefinder/baddiefinder/web.py
Normal file
37
baddiefinder/baddiefinder/web.py
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
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", "dir", fallback=None)
|
||||||
|
if path:
|
||||||
|
netdb.inspect(p.hook, path)
|
||||||
|
else:
|
||||||
|
netdb.inspect(p.hook)
|
||||||
|
body = io.StringIO()
|
||||||
|
p.write_blocklist(body)
|
||||||
|
v = body.getvalue()
|
||||||
|
body.close()
|
||||||
|
r = flask.Response(v)
|
||||||
|
r.headers["Content-Type"] = 'text/plain'
|
||||||
|
return r
|
||||||
|
|
||||||
|
@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)
|
||||||
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
app.run()
|
@ -1,2 +1,5 @@
|
|||||||
[thresholds]
|
[thresholds]
|
||||||
max_floodfills_per_ip = 3
|
max_floodfills_per_ip = 3
|
||||||
|
|
||||||
|
#[netdb]
|
||||||
|
#dir=/var/lib/i2p/netdb
|
@ -1,2 +1 @@
|
|||||||
python-geoip
|
flask
|
||||||
python-geoip-geolite2
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user