Spaces:
Sleeping
Sleeping
| #!/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) | |