Blackbox / start_server.py
Samfy001's picture
Upload 5 files
8754765 verified
#!/usr/bin/env python3
import os
import socket
import uvicorn
from blackbox_server import app
try:
from config import SERVER_CONFIG
except Exception:
SERVER_CONFIG = {"host": "0.0.0.0", "port": 8090}
def find_free_port(start_port: int, max_tries: int = 50) -> int:
"""Find an available TCP port starting from start_port."""
for port in range(start_port, start_port + max_tries):
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
try:
s.bind(("0.0.0.0", port))
return port
except OSError:
continue
return start_port
if __name__ == "__main__":
host = SERVER_CONFIG.get("host", "0.0.0.0")
base_port = int(os.getenv("PORT") or SERVER_CONFIG.get("port", 8090))
port = find_free_port(base_port)
if port != base_port:
print(f"⚠️ Port {base_port} in use. Switching to free port {port}.")
print(f"🚀 Starting Blackbox Reverse OpenAI API Server on {host}:{port} ...")
uvicorn.run(app, host=host, port=port, reload=False, log_level="info")