#!/usr/bin/python from os import environ as env import urllib.request import base64 import json import sys def error(): print("Content-type: text/html") print() print("HELLO!") def proxy(url,ext,callback): req = urllib.request.urlopen(url) if callback != "": print("Content-type: text/plain") print() sys.stdout.flush() sys.stdout.buffer.write( bytes( callback + "(btoa(" + json.dumps( "".join(map(chr, base64.b64encode( req.read() )))) + "))" , 'utf-8')) else: print("Content-type: image/" + ext) print() sys.stdout.flush() sys.stdout.buffer.write( req.read() ) qs = env['QUERY_STRING'].split('&callback=') if len(qs) == 2: callback = qs[1] else: callback = '' path = qs[0] ext = path[-3:].lower() if path[0:4] == "http" and ext in ("gif","jpg","png","peg"): proxy(path,ext,callback) else: error()