summaryrefslogtreecommitdiff
path: root/embed.cgi.txt
diff options
context:
space:
mode:
Diffstat (limited to 'embed.cgi.txt')
-rwxr-xr-xembed.cgi.txt121
1 files changed, 0 insertions, 121 deletions
diff --git a/embed.cgi.txt b/embed.cgi.txt
deleted file mode 100755
index 72863a6..0000000
--- a/embed.cgi.txt
+++ /dev/null
@@ -1,121 +0,0 @@
-#!/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, parse_qs
-import sys
-
-from os import getenv
-if __name__ == "__main__":
- colors = {
- "bg": 'white',
- "fg": 'black',
- "george": 'blue',
- "links": 'blue'
- }
-
- print("Content-Type: text/html")
- qs = getenv("QUERY_STRING")
- member,real_qs = (qs.split('&', 1) + [''])[:2]
-
- query = parse_qs(real_qs)
-
- try:
- ind = order.index(member)
- except ValueError:
- print()
- print('<h1 style="color: red">no</h1>')
- else:
- correct_hn = urlparse(george[member]).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)
-
- for q in query.keys():
- if q.startswith('c_'):
- color = query[q][0]
- if color.isalnum() or (color[0] == '#' and color[1:].isalnum()):
- colors[q[2:]] = color
-
- 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: {colors["bg"]};
- color: {colors["fg"]};
- display: flex;
- flex-wrap: nowrap;
- justify-content: space-between;
- }}
- #george {{
- color: {colors["george"]};
- 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: {colors["links"]};
- }}
- </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>""")
-