From e79fe819f672d3454532181182732080e056592a Mon Sep 17 00:00:00 2001 From: ubq323 Date: Sat, 11 Dec 2021 20:28:36 +0000 Subject: add existing content --- embed.cgi | 123 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100755 embed.cgi (limited to 'embed.cgi') diff --git a/embed.cgi b/embed.cgi new file mode 100755 index 0000000..99aa636 --- /dev/null +++ b/embed.cgi @@ -0,0 +1,123 @@ +#!/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": '#3d3db8', + "links": 'blue' + } + + print("Content-Type: text/html") + qs = getenv("QUERY_STRING") + member,real_qs = (qs.split('&', 1) + [''])[:2] + + member=member.replace('%20',' ') + + query = parse_qs(real_qs) + + try: + ind = order.index(member) + except ValueError: + print() + print(f'

no

unknown member {member}

') + 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('

no

bad referer hostname

') + 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""" + + + + + + +
+

< PREV

+

+ The GEORGE is a noble animal. +

+

NEXT >

+
+ +""") + -- cgit v1.2.3