import os
import ssl
import threading
from http.server import SimpleHTTPRequestHandler, ThreadingHTTPServer

ROOT = '/opt/apple-amitecc-pages'
class Handler(SimpleHTTPRequestHandler):
    def _apple_host(self):
        return self.headers.get('Host', '').split(':', 1)[0].lower() == 'apple.amitecc.xyz'
    def _route(self):
        if not self._apple_host():
            self.send_response(301)
            self.send_header('Location', 'http://www.google.com/')
            self.end_headers()
            return False
        return True
    def do_GET(self):
        if self._route(): super().do_GET()
    def do_HEAD(self):
        if self._route(): super().do_HEAD()
    def log_message(self, format, *args): pass

http = ThreadingHTTPServer(('0.0.0.0', 80), lambda *args, **kwargs: Handler(*args, directory=ROOT, **kwargs))
https = ThreadingHTTPServer(('127.0.0.1', 8444), lambda *args, **kwargs: Handler(*args, directory=ROOT, **kwargs))
context = ssl.SSLContext(ssl.PROTOCOL_TLS_SERVER)
context.load_cert_chain('/etc/letsencrypt/live/apple.amitecc.xyz/fullchain.pem', '/etc/letsencrypt/live/apple.amitecc.xyz/privkey.pem')
https.socket = context.wrap_socket(https.socket, server_side=True)
os.setgroups([])
os.setgid(33)
os.setuid(33)
threading.Thread(target=http.serve_forever, daemon=True).start()
https.serve_forever()
