import os
import ssl
import http.server
from functools import partial

PORT = 443
DIRECTORY = os.getcwd()

CERT_FILE = "/etc/letsencrypt/live/31.59.102.253/fullchain.pem"
KEY_FILE = "/etc/letsencrypt/live/31.59.102.253/privkey.pem"

handler = partial(
    http.server.SimpleHTTPRequestHandler,
    directory=DIRECTORY
)

server = http.server.ThreadingHTTPServer(
    ("0.0.0.0", PORT),
    handler
)

context = ssl.SSLContext(ssl.PROTOCOL_TLS_SERVER)
context.load_cert_chain(
    certfile=CERT_FILE,
    keyfile=KEY_FILE
)

server.socket = context.wrap_socket(
    server.socket,
    server_side=True
)

print(f"Serving directory: {DIRECTORY}")
print("HTTPS server: https://31.59.102.253/")
server.serve_forever()
