summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Herkt <lachs0r@srsfckn.biz>2017-02-03 04:10:58 +0100
committerMartin Herkt <lachs0r@srsfckn.biz>2017-02-03 04:10:58 +0100
commit462555d5326073c4352eb35b2411ee568333e325 (patch)
tree2b273525e292ba8a807d7111a9cf8a099ac90c31
parent714de58180072a5563ae1f3d96b8697892f20506 (diff)
Add support for upload IP blacklists
The format is one address per line, with # used for comments.
-rwxr-xr-xfhost.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/fhost.py b/fhost.py
index 48a0c93..1842637 100755
--- a/fhost.py
+++ b/fhost.py
@@ -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()