diff options
author | Martin Herkt <lachs0r@srsfckn.biz> | 2017-02-03 04:10:58 +0100 |
---|---|---|
committer | Martin Herkt <lachs0r@srsfckn.biz> | 2017-02-03 04:10:58 +0100 |
commit | 462555d5326073c4352eb35b2411ee568333e325 (patch) | |
tree | 2b273525e292ba8a807d7111a9cf8a099ac90c31 | |
parent | 714de58180072a5563ae1f3d96b8697892f20506 (diff) |
Add support for upload IP blacklists
The format is one address per line, with # used for comments.
-rwxr-xr-x | fhost.py | 16 |
1 files changed, 16 insertions, 0 deletions
@@ -42,6 +42,8 @@ app.config["FHOST_MIME_BLACKLIST"] = [ "application/java-vm" ] +app.config["FHOST_UPLOAD_BLACKLIST"] = "tornodes.txt" + try: mimedetect = Magic(mime=True, mime_encoding=False) except: @@ -121,7 +123,21 @@ def shorten(url): return geturl(u.getname()) +def in_upload_bl(addr): + if os.path.isfile(app.config["FHOST_UPLOAD_BLACKLIST"]): + with open(app.config["FHOST_UPLOAD_BLACKLIST"], "r") as bl: + check = addr.lstrip("::ffff:") + for l in bl.readlines(): + if not l.startswith("#"): + if check == l.rstrip(): + return True + + return False + def store_file(f, addr): + if in_upload_bl(addr): + return "Your host is blocked from uploading files.\n", 451 + data = f.stream.read() digest = sha256(data).hexdigest() existing = File.query.filter_by(sha256=digest).first() |