From c5a74cca63dd7fc62b384e045f36f307464a0caf Mon Sep 17 00:00:00 2001 From: NJL <23+njl@noreply.git.churchofmalware.org> Date: Fri, 26 Jun 2026 16:11:23 +0000 Subject: [PATCH] add gzip --- main.py | 33 +++++++++++++++++++++++++++++---- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/main.py b/main.py index e4623f1..626ba00 100644 --- a/main.py +++ b/main.py @@ -1,12 +1,37 @@ -from flask import Flask, Response +from flask import Flask, Response, request app = Flask(__name__) +with open("bomb.png.br", "rb") as f: + BOMB_BR = f.read() + +with open("bomb.png.gz", "rb") as f: + BOMB_GZIP = f.read() + +print(f"[startup] br={len(BOMB_BR):,} bytes gzip={len(BOMB_GZIP):,} bytes") + + +def _pick_encoding(): + accept = request.headers.get("Accept-Encoding", "") + if "br" in accept: + return "br", BOMB_BR + if "gzip" in accept: + return "gzip", BOMB_GZIP + return "gzip", BOMB_GZIP + @app.route("/") def index(): - data = open("bomb.png.br", "rb").read() - return Response(data, mimetype="image/png", headers={"Content-Encoding": "br"}) + encoding, body = _pick_encoding() + return Response( + body, + mimetype="image/png", + headers={ + "Content-Encoding": encoding, + "Content-Length": str(len(body)), + "Vary": "Accept-Encoding", + }, + ) -app.run(host="0.0.0.0", port=8080) +app.run(host="0.0.0.0", port=8393, threaded=True)