warp2api / config.py
baohuixiao's picture
Upload 116 files
df560cb verified
#!/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)