From 18968071655a66f4112cff407caff2e50fbfa276 Mon Sep 17 00:00:00 2001 From: bmartin Date: Wed, 3 Jun 2026 21:23:35 +0000 Subject: [PATCH] Initial commit: AdGuard Tetris blocking page --- .gitignore | 1 + __pycache__/app.cpython-312.pyc | Bin 0 -> 3938 bytes app.py | 65 +++ app.wsgi | 4 + scores.db | Bin 0 -> 12288 bytes templates/blocked.html | 729 ++++++++++++++++++++++++++++++++ templates/leaderboard.html | 729 ++++++++++++++++++++++++++++++++ 7 files changed, 1528 insertions(+) create mode 100644 .gitignore create mode 100644 __pycache__/app.cpython-312.pyc create mode 100644 app.py create mode 100644 app.wsgi create mode 100644 scores.db create mode 100644 templates/blocked.html create mode 100644 templates/leaderboard.html diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4c49bd7 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.env diff --git a/__pycache__/app.cpython-312.pyc b/__pycache__/app.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e8b088045032d5ce54fb683103ea95fb2c14b54a GIT binary patch literal 3938 zcma)9U2GFq7QWXrHtPh%g zh@0@llg4+vw_W!13;2A_K18^V9Iei8TzY|&NTe(HPK%?Pv~I}8TV5d3*4SxR6L+h^ zllG~j2x)sk?oiVe>Rqy%>>+#ablhg_35;g(EcWkvOotIaYjOkGq&{V~YD%6cTEb9r zg>2GLOkPv2PAj@$@)=#trzd8M`+C)a(K|uelZ8UBo>DbMKTgI|^{uQQx()q49S3p? z8TDsCC{s72#Z@N;>x`Vs%^|~?LK%0X+vt=~q9Id4QRK%FKWFm#)oj{OPMUm5&F7UA z96ER|aWN44&}2r`8B@^InZ!ggWvJThH`rt;mrhS6ukYD>DY)42!mR1Oq8JG>uC)P= z7rr{RY#BWg+858vpZWS%RpD?s_-Nn3Tc6$htQ>s6?pYIB%O5=jCbY>K^ahqSu0yBU z8jg#+i{?-XWhl>Xweaoh=>7#&8xKsugrVKfF#PG_z$V`v8Z zU6JHXxVcYmYUf8nfmle61w~UMq4sPeQPGB)R8@-q} ztNcdEzAA4zujsGHOVnI4ou|z7yxY%c*ot612!@P>heC2NG!PgajLGLmM@GN~2|5{# z1%@teGKRk~@-vpRnY?mMNlioixl?K`mo_vBUflLotrfZ^pU$T(-`oqM7P{C61boxm zy703a61k40*qTRN6z9bn@^y&Mkk2dCI*?ad6y}Amr01Q$@|^NLp=4e6fcV1e?=gSi z&hYEF*JKMxW734kGCf3@NKR)By(sqf)7d^sPNy0%4U*I^Ef4=IbZ&vC5^TYdZzJ*@ zKaC=zfdQFD6oXj3UBkMJn|XGK{|t@BEseMcFZKoJ@;axfTfzsH5W3JDx8canEg`A6OYRJXi!F_aC0ufqm=as!CK~sI1mn)o z7v9nwecKa^vD;xK5@|^{QdM+Y;`yqho_Ja#CQEVO^adisk+GrS(dc8EUcuLCAz=lR z$yo^gn1(9!DMH&p!%yd@^6E_f@mW|YhQpC)Xe1^>LKtpjD5|^19`(qU8u+0adSp9z z{qo0w!O>7uK6<97{_&eGbt>lf*-_}BNuL%w+97NI=|Vx#;CP0XE|^R@Z&(Pe(W`5F zD53b|=S`L*jimM#oq3y*pHp&-5*o9bh0)YsAwAG$N3W<)j|03X?90Cg%TUB2{l7rU z=-)#7L!tYg&|MV{l!I&1uEk69mzE}~(t-O@&vN%lYDHTW-+3sWx+k8hihU2ov-iZa zRq-6uBx36ld&_gvQ`xtCsM_{MReZA?diBY*miEQT`N^eg)fV}F%dzF~ihkF%DxCyG zu+t0IlwQ`vPvB@v?^fPi-n-&n6?>m?jMrE5Y@`|i*q@0=+`Sa6ys^|@735V`elEdm z4FOr#MY!&t`j4J}pZW9qT+qcsqG^KNO}Nr1r79rPj4O_pzDgj4~Q1 zLtLNZJB=js6JE|nilfocVCZ~IeyKzD$WS*7j0_JsK0G`UggWZnm_3FPB6?mP3=f54 z@;fJrZB2%;at#2m+b+-i?1pEWo(aWBO(wHhCwox;Gg+vB_2%?pXCIn^PQh0X0|CFY zADQ9yLJiTnd$BZMS`$-G8CRR{Kfd<)qYH1>IC$OX3~)U2AhCP3``BIbK=@#l{ouJ5 zCTj@Dx-NjW1v!A2?+_R8@}?(|paoPSQRGh?w?2") +def blocked(path): + if path == "leaderboard": + return leaderboard() + domain = request.host or request.args.get("domain", "that site") + domain = domain.split(":")[0] + return render_template("blocked.html", domain=domain, reason="blocked by network policy") + +@app.route("/score", methods=["POST"]) +def submit_score(): + data = request.get_json() + name = (data.get("name") or "ANONYMOUS")[:16].upper().strip() + score = int(data.get("score", 0)) + level = int(data.get("level", 1)) + lines = int(data.get("lines", 0)) + domain = (data.get("domain") or "unknown")[:64] + with get_db() as conn: + conn.execute( + "INSERT INTO scores (name, score, level, lines, domain) VALUES (?,?,?,?,?)", + (name, score, level, lines, domain) + ) + conn.commit() + return jsonify({"ok": True}) + +@app.route("/leaderboard") +def leaderboard(): + with get_db() as conn: + rows = conn.execute( + "SELECT name, score, level, lines, domain, ts FROM scores ORDER BY score DESC LIMIT 20" + ).fetchall() + return render_template("leaderboard.html", scores=rows) + +if __name__ == "__main__": + app.run(host="0.0.0.0", port=80, debug=True) diff --git a/app.wsgi b/app.wsgi new file mode 100644 index 0000000..3ed4158 --- /dev/null +++ b/app.wsgi @@ -0,0 +1,4 @@ +import sys +sys.path.insert(0,'/opt/flaskapp') + +from app import app as application diff --git a/scores.db b/scores.db new file mode 100644 index 0000000000000000000000000000000000000000..1281e73c408c8fa764fb33f4926a1cb0ce8812d0 GIT binary patch literal 12288 zcmeI#K~KUk6bJBj7)(qg-UzpMF@Zq5_ywF$&Eht2bcvkEgld+IEwG6nz1E?MJUcL)eT00Izz00bZa0SG_<0ucDW0wb&5>~{I2h@KObFB4rcPII+k8V*ZKu&f_4LZlN1dNGTP^lQanj>=MN?Mq3iDFmZvI{s~7#Ao2a!) z4$X~Il^>Wp&lXXfnq+g{{WBJujr8+@#+QyKXdv$F(3R8=gFqWh&E#0x-e?P>V`_6< z^dleu0SG_<0uX=z1Rwwb2tWV=5IAB1)c;5PbMa{qfB*y_009U<00Izz00bZafggcy DQ`USu literal 0 HcmV?d00001 diff --git a/templates/blocked.html b/templates/blocked.html new file mode 100644 index 0000000..db93124 --- /dev/null +++ b/templates/blocked.html @@ -0,0 +1,729 @@ + + + + + + ACCESS DENIED :: {{ domain }} + + + + + +
+
+ NETGUARD-OS v4.1.2 :: SECURITY TERMINAL + +
+
+
+ root@netguard:~$ resolve --host "{{ domain }}" +
+
[ ACCESS DENIED ]
+
+ TARGET HOST: {{ domain }}  |  STATUS: BLOCKED  |  POLICY: {{ reason }} +
+
+ [SYSTEM] Request intercepted by network policy enforcement layer.
+ [SYSTEM] Your browsing attempt has been logged. Timestamp recorded.
+ [INFO] While you wait, the system has deployed a cognitive recalibration protocol.
+ [INFO] Estimated recalibration duration: however long it takes. _ +
+
+
+ +
+ +
+
// RECALIBRATION MODULE :: TETRIS ENGINE //
+
+ +
+
TETRIS.EXE
+
press [ENTER] to initialize
+
+
+
+ + + +
+ + + + diff --git a/templates/leaderboard.html b/templates/leaderboard.html new file mode 100644 index 0000000..db93124 --- /dev/null +++ b/templates/leaderboard.html @@ -0,0 +1,729 @@ + + + + + + ACCESS DENIED :: {{ domain }} + + + + + +
+
+ NETGUARD-OS v4.1.2 :: SECURITY TERMINAL + +
+
+
+ root@netguard:~$ resolve --host "{{ domain }}" +
+
[ ACCESS DENIED ]
+
+ TARGET HOST: {{ domain }}  |  STATUS: BLOCKED  |  POLICY: {{ reason }} +
+
+ [SYSTEM] Request intercepted by network policy enforcement layer.
+ [SYSTEM] Your browsing attempt has been logged. Timestamp recorded.
+ [INFO] While you wait, the system has deployed a cognitive recalibration protocol.
+ [INFO] Estimated recalibration duration: however long it takes. _ +
+
+
+ +
+ +
+
// RECALIBRATION MODULE :: TETRIS ENGINE //
+
+ +
+
TETRIS.EXE
+
press [ENTER] to initialize
+
+
+
+ + + +
+ + + +