AIstudioProxyAPI / launcher /internal.py
peijun1's picture
Deploy AI Studio Proxy API to Hugging Face Spaces
a5784e9
Raw
History Blame Contribute Delete
3.65 kB
import os
import sys
import traceback
from launcher.config import determine_proxy_configuration
def run_internal_camoufox(args, launch_server, DefaultAddons):
if not launch_server or not DefaultAddons:
print(
"Fatal Error (--internal-launch-mode): camoufox.server.launch_server or camoufox.DefaultAddons not available.",
file=sys.stderr,
)
sys.exit(1)
internal_mode_arg = args.internal_launch_mode
auth_file = args.internal_auth_file
camoufox_port_internal = args.internal_camoufox_port
proxy_config = determine_proxy_configuration(args.internal_camoufox_proxy)
actual_proxy_to_use = proxy_config["camoufox_proxy"]
print(f"--- [Internal Camoufox Start] Proxy Config: {proxy_config['source']} ---", flush=True)
camoufox_proxy_internal = actual_proxy_to_use
camoufox_os_internal = args.internal_camoufox_os
print(
f"--- [Internal Camoufox Start] Mode: {internal_mode_arg}, Auth: {os.path.basename(auth_file) if auth_file else 'None'}, "
f"Port: {camoufox_port_internal}, Proxy: {camoufox_proxy_internal or 'None'}, OS: {camoufox_os_internal} ---",
flush=True,
)
try:
launch_args_for_internal_camoufox = {
"port": camoufox_port_internal,
"addons": [],
"exclude_addons": [DefaultAddons.UBO],
"window": (1440, 900),
}
if camoufox_proxy_internal:
launch_args_for_internal_camoufox["proxy"] = {
"server": camoufox_proxy_internal
}
if auth_file:
launch_args_for_internal_camoufox["storage_state"] = auth_file
if "," in camoufox_os_internal:
camoufox_os_list_internal = [
s.strip().lower() for s in camoufox_os_internal.split(",")
]
valid_os_values = ["windows", "macos", "linux"]
if not all(val in valid_os_values for val in camoufox_os_list_internal):
print(
f"Internal Camoufox Error: Invalid OS values: {camoufox_os_list_internal}",
file=sys.stderr,
)
sys.exit(1)
launch_args_for_internal_camoufox["os"] = camoufox_os_list_internal
elif camoufox_os_internal.lower() in ["windows", "macos", "linux"]:
launch_args_for_internal_camoufox["os"] = camoufox_os_internal.lower()
elif camoufox_os_internal.lower() != "random":
print(
f"Internal Camoufox Error: Invalid OS value: '{camoufox_os_internal}'",
file=sys.stderr,
)
sys.exit(1)
print(
f"Parameters passed to launch_server: {launch_args_for_internal_camoufox}",
flush=True,
)
if internal_mode_arg == "headless":
launch_server(headless=True, **launch_args_for_internal_camoufox)
elif internal_mode_arg == "virtual_headless":
launch_server(headless="virtual", **launch_args_for_internal_camoufox)
elif internal_mode_arg == "debug":
launch_server(headless=False, **launch_args_for_internal_camoufox)
print(
f"--- [Internal Camoufox Start] launch_server ({internal_mode_arg} mode) call completed/blocked. ---",
flush=True,
)
except Exception as e_internal_launch_final:
print(
f"Error (--internal-launch-mode): Exception in launch_server: {e_internal_launch_final}",
file=sys.stderr,
flush=True,
)
traceback.print_exc(file=sys.stderr)
sys.exit(1)
sys.exit(0)