summaryrefslogtreecommitdiff
path: root/embed_old.cgi
diff options
context:
space:
mode:
Diffstat (limited to 'embed_old.cgi')
-rwxr-xr-xembed_old.cgi104
1 files changed, 104 insertions, 0 deletions
diff --git a/embed_old.cgi b/embed_old.cgi
new file mode 100755
index 0000000..f574036
--- /dev/null
+++ b/embed_old.cgi
@@ -0,0 +1,104 @@
+#!/usr/bin/env python3
+
+from georgedata import george
+order = list(george.keys()) # dicts guarantee key order as of 3.7
+
+from urllib.parse import urlparse
+import sys
+
+from os import getenv
+if __name__ == "__main__":
+ print("Content-Type: text/html")
+ qs = getenv("QUERY_STRING")
+ qs = qs.replace("%20"," ")
+ try:
+ ind = order.index(qs)
+ except ValueError:
+ print()
+ print('<h1 style="color: red">no</h1>')
+ else:
+ correct_hn = urlparse(george[qs]).hostname
+
+ rf = getenv("HTTP_REFERER",None)
+ if rf is not None:
+ our_hn = urlparse(rf).hostname
+ if our_hn != correct_hn:
+ print()
+ print('<h1 style="color: red">no</h1>')
+ sys.exit(0)
+
+ l = len(order)
+ ni = (ind + 1)%l
+ pi = (ind - 1)%l
+ n = george[order[ni]]
+ p = george[order[pi]]
+ ref = getenv("HTTP_REFERER","the")
+
+ print(f"Content-Security-Policy: frame-ancestors {correct_hn} http://{correct_hn};")
+ print()
+ print(
+f"""<!DOCTYPE html>
+<html>
+ <head>
+ <base target="_parent">
+ </head>
+ <body>
+ <style>
+ body,html {{
+ overflow: hidden;
+ font-family: sans-serif;
+ padding:0;
+ margin:0;
+ }}
+ main {{
+ margin:0;
+ padding-left: 5px;
+ padding-right: 5px;
+ height: 45px;
+ border: 1px solid black;
+ box-shadow: 5px 5px black;
+ /*background-color: pink;*/
+ display: flex;
+ flex-wrap: nowrap;
+ justify-content: space-between;
+ }}
+ #george {{
+ color: cyan;
+ text-decoration: underline;
+ text-decoration-color: blue;
+ text-decoration-thickness: 2px;
+ font-style: oblique;
+ animation: 2s infinite alternate george;
+ }}
+ @media (prefers-reduced-motion) {{
+ #george {{ animation: none; }}
+ }}
+ #noble {{
+ font-size: min(3vw, 12pt);
+ }}
+ p {{
+ white-space: nowrap;
+ align-self: center;
+ }}
+ @keyframes george {{
+ from {{
+ letter-spacing: 1px;
+ }}
+ to {{
+ letter-spacing: 6px;
+ }}
+ }}
+ a {{
+ color: blue;
+ }}
+ </style>
+ <main>
+ <p><a href="{p}">&lt; PREV</a></p>
+ <p id="noble">
+ The <a href="https://george.gh0.pw" id="george">GEORGE</a> is a noble animal.
+ </p>
+ <p><a href="{n}">NEXT &gt;</a></p>
+ </main>
+ </body>
+</html>""")
+