#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ 统一配置管理 """ import os def _get_env_bool(name: str, default: bool = False) -> bool: value = os.getenv(name) if value is None: return default return value.strip().lower() in {"1", "true", "yes", "on"} # ==================== 临时邮箱API配置 ==================== # 临时邮箱服务的基础URL TEMP_MAIL_BASE_URL = os.getenv("TEMP_MAIL_BASE_URL", "https://mail.chatgpt.org.uk/api") # ==================== 代理配置 ==================== # HTTP代理,用于常规请求 # PROXY_URL = "http://127.0.0.1:7890" PROXY_URL = os.getenv("PROXY_URL", "") # ==================== 账号池维护 (pool_maintenance.py) ==================== MIN_POOL_SIZE = int(os.getenv("MIN_POOL_SIZE", "5")) # 最小账号池大小 MAX_POOL_SIZE = int(os.getenv("MAX_POOL_SIZE", "50")) # 最大账号池大小 TOKEN_REFRESH_HOURS = float(os.getenv("TOKEN_REFRESH_HOURS", "1")) # Token刷新间隔(小时) MAINTENANCE_CHECK_INTERVAL = int(os.getenv("MAINTENANCE_CHECK_INTERVAL", "60")) # 维护检查间隔(秒) # ==================== 数据库配置 ==================== DEFAULT_DATABASE_PATH = os.getenv("DATA_DIR", "/data") if not os.path.isdir(DEFAULT_DATABASE_PATH): DEFAULT_DATABASE_PATH = os.getcwd() DATABASE_PATH = os.getenv("DATABASE_PATH", os.path.join(DEFAULT_DATABASE_PATH, "warp_accounts.db")) DB_TIMEOUT = float(os.getenv("DB_TIMEOUT", "10.0")) # 数据库操作超时时间(秒) # ==================== Firebase API 配置 ==================== FIREBASE_API_KEY = os.getenv("FIREBASE_API_KEY", "AIzaSyBdy3O3S9hrdayLJxJ7mriBR4qgUaUygAs") FIREBASE_API_KEYS = [ key.strip() for key in os.getenv("FIREBASE_API_KEYS", FIREBASE_API_KEY).split(",") if key.strip() ] # ==================== 账号池服务 (pool_service.py) ==================== POOL_SERVICE_HOST = os.getenv("POOL_SERVICE_HOST", "0.0.0.0") POOL_SERVICE_PORT = int(os.getenv("POOL_SERVICE_PORT", "8019")) MAX_SESSION_DURATION = int(float(os.getenv("MAX_SESSION_DURATION", str(30 * 60)))) # 会话最大持续时间(30分钟) # ==================== 账号注册 (warp_register.py) ==================== TARGET_ACCOUNTS = int(os.getenv("TARGET_ACCOUNTS", "200")) # 目标账号数 MAX_CONCURRENT_REGISTER = int(os.getenv("MAX_CONCURRENT_REGISTER", "2")) # 最大并发注册数 MAX_PROXY_RETRIES = int(os.getenv("MAX_PROXY_RETRIES", "5")) # 代理重试次数 # ==================== OpenAI兼容服务 (openai_compat.py) ==================== OPENAI_COMPAT_HOST = os.getenv("OPENAI_COMPAT_HOST", "0.0.0.0") OPENAI_COMPAT_PORT = int(os.getenv("OPENAI_COMPAT_PORT", "7860")) # ==================== Protobuf主服务 (server.py) ==================== SERVER_HOST = os.getenv("SERVER_HOST", "0.0.0.0") SERVER_PORT = int(os.getenv("SERVER_PORT", "8000")) # ==================== 日志配置 ==================== LOG_LEVEL = os.getenv("LOG_LEVEL", "INFO") LOG_FORMAT = os.getenv('LOG_FORMAT', '%(asctime)s - %(levelname)s - [%(processName)s] - %(message)s') # ==================== 其他配置 ==================== ENABLE_AUTO_REGISTER = _get_env_bool("ENABLE_AUTO_REGISTER", True)