import os import socket import threading from http.server import HTTPServer, SimpleHTTPRequestHandler import ssl print("HI") def start_https(): https_port = int(os.getenv("HTTPS_PORT", "8443")) # create ssl context context = ssl.SSLContext(ssl.PROTOCOL_TLS_SERVER) context.load_cert_chain("cert.pem", "key.pem") httpd = HTTPServer(("0.0.0.0", https_port), SimpleHTTPRequestHandler) httpd.socket = context.wrap_socket(httpd.socket, server_side=True) print(f"https listening on 0.0.0.0:{https_port}") httpd.serve_forever() thread = threading.Thread(target=start_https, daemon=True) thread.start() repo_id = os.getenv("REPO_ID", "spaceslab/thost") user, space = repo_id.split("/") port = int(os.getenv("PORT", "5678")) host = f"{space}.{user}.hf.space" print(f"tcp://{host}:{port}") sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.bind(("0.0.0.0", port)) sock.listen() print(f"listening on 0.0.0.0:{port}") while True: conn, addr = sock.accept() print("connection from", addr) data = conn.recv(1024) if not data: conn.close() continue conn.sendall(data) conn.close()