Spaces:
Running
Running
| #!/usr/bin/env python | |
| import http.server | |
| import socketserver | |
| import argparse | |
| parser = argparse.ArgumentParser() | |
| parser.add_argument("-l", "--listen", type=str, default="localhost", help="Listen address for ComfyBox server") | |
| parser.add_argument("-p", "--port", type=int, default=8000, help="Port for ComfyBox server") | |
| args = parser.parse_args() | |
| message = f"""Starting ComfyBox. | |
| Be sure you've started ComfyUI already using this command: | |
| python main.py --enable-cors-header | |
| Serving at http://{args.listen}:{args.port}... | |
| """ | |
| # python -m http.server will sometimes send incorrect MIME types. | |
| # But most people have a system python already installed so this method is most convenient. | |
| # So here is a list of MIME types for the server to send back per file extension. | |
| # Hopefully this will cover everything. | |
| class HttpRequestHandler(http.server.SimpleHTTPRequestHandler): | |
| extensions_map = { | |
| "": "application/octet-stream", | |
| ".manifest": "text/cache-manifest", | |
| ".html": "text/html", | |
| ".png": "image/png", | |
| ".jpg": "image/jpg", | |
| ".jpeg": "image/jpeg", | |
| ".gif": "image/gif", | |
| ".svg": "image/svg+xml", | |
| ".css": "text/css", | |
| ".js": "application/x-javascript", | |
| ".mjs": "application/x-javascript", | |
| ".cjs": "application/x-javascript", | |
| ".wasm": "application/wasm", | |
| ".json": "application/json", | |
| ".xml": "application/xml", | |
| ".xml": "application/xml", | |
| ".pdf": "application/pdf", | |
| ".webp": "image/webp", | |
| ".avif": "image/avif", | |
| ".heic": "image/heic", | |
| ".heif": "image/heif", | |
| ".mp3": "audio/mpeg", | |
| ".mp4": "video/mp4", | |
| ".m4v": "video/mp4", | |
| } | |
| httpd = socketserver.TCPServer((args.listen, args.port), HttpRequestHandler) | |
| try: | |
| print(message) | |
| httpd.serve_forever() | |
| except KeyboardInterrupt: | |
| pass | |