Spaces:
Sleeping
Sleeping
Upload 116 files
Browse files- Dockerfile +7 -1
- config.py +48 -31
- space.yaml +2 -0
Dockerfile
CHANGED
|
@@ -7,6 +7,12 @@ RUN pip install --no-cache-dir -r requirements.txt
|
|
| 7 |
|
| 8 |
COPY . .
|
| 9 |
|
| 10 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 11 |
|
| 12 |
CMD ["python", "main.py", "all"]
|
|
|
|
| 7 |
|
| 8 |
COPY . .
|
| 9 |
|
| 10 |
+
RUN mkdir -p /data
|
| 11 |
+
|
| 12 |
+
ENV OPENAI_COMPAT_PORT=7860 \
|
| 13 |
+
PORT=7860 \
|
| 14 |
+
DATA_DIR=/data
|
| 15 |
+
|
| 16 |
+
EXPOSE 7860
|
| 17 |
|
| 18 |
CMD ["python", "main.py", "all"]
|
config.py
CHANGED
|
@@ -1,52 +1,69 @@
|
|
| 1 |
#!/usr/bin/env python3
|
| 2 |
# -*- coding: utf-8 -*-
|
| 3 |
-
"""
|
| 4 |
-
统一配置管理
|
| 5 |
-
"""
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 10 |
|
| 11 |
# ==================== 代理配置 ====================
|
| 12 |
# HTTP代理,用于常规请求
|
| 13 |
-
# PROXY_URL = "http://127.0.0.1:7890"
|
| 14 |
-
PROXY_URL = ""
|
| 15 |
|
| 16 |
# ==================== 账号池维护 (pool_maintenance.py) ====================
|
| 17 |
-
MIN_POOL_SIZE = 5 # 最小账号池大小
|
| 18 |
-
MAX_POOL_SIZE = 50 # 最大账号池大小
|
| 19 |
-
TOKEN_REFRESH_HOURS = 1 # Token刷新间隔(小时)
|
| 20 |
-
MAINTENANCE_CHECK_INTERVAL = 60 # 维护检查间隔(秒)
|
| 21 |
|
| 22 |
# ==================== 数据库配置 ====================
|
| 23 |
-
|
| 24 |
-
|
|
|
|
|
|
|
|
|
|
| 25 |
|
| 26 |
# ==================== Firebase API 配置 ====================
|
| 27 |
-
FIREBASE_API_KEY = "AIzaSyBdy3O3S9hrdayLJxJ7mriBR4qgUaUygAs"
|
| 28 |
-
FIREBASE_API_KEYS = [
|
| 29 |
-
|
| 30 |
-
|
|
|
|
|
|
|
| 31 |
|
| 32 |
# ==================== 账号池服务 (pool_service.py) ====================
|
| 33 |
-
POOL_SERVICE_HOST = "0.0.0.0"
|
| 34 |
-
POOL_SERVICE_PORT = 8019
|
| 35 |
-
MAX_SESSION_DURATION = 30 * 60 # 会话最大持续时间(30分钟)
|
| 36 |
|
| 37 |
# ==================== 账号注册 (warp_register.py) ====================
|
| 38 |
-
TARGET_ACCOUNTS = 200 # 目标账号数
|
| 39 |
-
MAX_CONCURRENT_REGISTER = 2 # 最大并发注册数
|
| 40 |
-
MAX_PROXY_RETRIES = 5 # 代理重试次数
|
| 41 |
|
| 42 |
# ==================== OpenAI兼容服务 (openai_compat.py) ====================
|
| 43 |
-
OPENAI_COMPAT_HOST = "0.0.0.0"
|
| 44 |
-
OPENAI_COMPAT_PORT =
|
| 45 |
|
| 46 |
# ==================== Protobuf主服务 (server.py) ====================
|
| 47 |
-
SERVER_HOST = "0.0.0.0"
|
| 48 |
-
SERVER_PORT = 8000
|
| 49 |
|
| 50 |
# ==================== 日志配置 ====================
|
| 51 |
-
LOG_LEVEL = "INFO"
|
| 52 |
-
LOG_FORMAT = '%(asctime)s - %(levelname)s - [%(processName)s] - %(message)s'
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
#!/usr/bin/env python3
|
| 2 |
# -*- coding: utf-8 -*-
|
| 3 |
+
"""
|
| 4 |
+
统一配置管理
|
| 5 |
+
"""
|
| 6 |
+
|
| 7 |
+
import os
|
| 8 |
+
|
| 9 |
+
|
| 10 |
+
def _get_env_bool(name: str, default: bool = False) -> bool:
|
| 11 |
+
value = os.getenv(name)
|
| 12 |
+
if value is None:
|
| 13 |
+
return default
|
| 14 |
+
return value.strip().lower() in {"1", "true", "yes", "on"}
|
| 15 |
+
|
| 16 |
+
# ==================== 临时邮箱API配置 ====================
|
| 17 |
+
# 临时邮箱服务的基础URL
|
| 18 |
+
TEMP_MAIL_BASE_URL = os.getenv("TEMP_MAIL_BASE_URL", "https://mail.chatgpt.org.uk/api")
|
| 19 |
|
| 20 |
# ==================== 代理配置 ====================
|
| 21 |
# HTTP代理,用于常规请求
|
| 22 |
+
# PROXY_URL = "http://127.0.0.1:7890"
|
| 23 |
+
PROXY_URL = os.getenv("PROXY_URL", "")
|
| 24 |
|
| 25 |
# ==================== 账号池维护 (pool_maintenance.py) ====================
|
| 26 |
+
MIN_POOL_SIZE = int(os.getenv("MIN_POOL_SIZE", "5")) # 最小账号池大小
|
| 27 |
+
MAX_POOL_SIZE = int(os.getenv("MAX_POOL_SIZE", "50")) # 最大账号池大小
|
| 28 |
+
TOKEN_REFRESH_HOURS = float(os.getenv("TOKEN_REFRESH_HOURS", "1")) # Token刷新间隔(小时)
|
| 29 |
+
MAINTENANCE_CHECK_INTERVAL = int(os.getenv("MAINTENANCE_CHECK_INTERVAL", "60")) # 维护检查间隔(秒)
|
| 30 |
|
| 31 |
# ==================== 数据库配置 ====================
|
| 32 |
+
DEFAULT_DATABASE_PATH = os.getenv("DATA_DIR", "/data")
|
| 33 |
+
if not os.path.isdir(DEFAULT_DATABASE_PATH):
|
| 34 |
+
DEFAULT_DATABASE_PATH = os.getcwd()
|
| 35 |
+
DATABASE_PATH = os.getenv("DATABASE_PATH", os.path.join(DEFAULT_DATABASE_PATH, "warp_accounts.db"))
|
| 36 |
+
DB_TIMEOUT = float(os.getenv("DB_TIMEOUT", "10.0")) # 数据库操作超时时间(秒)
|
| 37 |
|
| 38 |
# ==================== Firebase API 配置 ====================
|
| 39 |
+
FIREBASE_API_KEY = os.getenv("FIREBASE_API_KEY", "AIzaSyBdy3O3S9hrdayLJxJ7mriBR4qgUaUygAs")
|
| 40 |
+
FIREBASE_API_KEYS = [
|
| 41 |
+
key.strip()
|
| 42 |
+
for key in os.getenv("FIREBASE_API_KEYS", FIREBASE_API_KEY).split(",")
|
| 43 |
+
if key.strip()
|
| 44 |
+
]
|
| 45 |
|
| 46 |
# ==================== 账号池服务 (pool_service.py) ====================
|
| 47 |
+
POOL_SERVICE_HOST = os.getenv("POOL_SERVICE_HOST", "0.0.0.0")
|
| 48 |
+
POOL_SERVICE_PORT = int(os.getenv("POOL_SERVICE_PORT", "8019"))
|
| 49 |
+
MAX_SESSION_DURATION = int(float(os.getenv("MAX_SESSION_DURATION", str(30 * 60)))) # 会话最大持续时间(30分钟)
|
| 50 |
|
| 51 |
# ==================== 账号注册 (warp_register.py) ====================
|
| 52 |
+
TARGET_ACCOUNTS = int(os.getenv("TARGET_ACCOUNTS", "200")) # 目标账号数
|
| 53 |
+
MAX_CONCURRENT_REGISTER = int(os.getenv("MAX_CONCURRENT_REGISTER", "2")) # 最大并发注册数
|
| 54 |
+
MAX_PROXY_RETRIES = int(os.getenv("MAX_PROXY_RETRIES", "5")) # 代理重试次数
|
| 55 |
|
| 56 |
# ==================== OpenAI兼容服务 (openai_compat.py) ====================
|
| 57 |
+
OPENAI_COMPAT_HOST = os.getenv("OPENAI_COMPAT_HOST", "0.0.0.0")
|
| 58 |
+
OPENAI_COMPAT_PORT = int(os.getenv("OPENAI_COMPAT_PORT", "7860"))
|
| 59 |
|
| 60 |
# ==================== Protobuf主服务 (server.py) ====================
|
| 61 |
+
SERVER_HOST = os.getenv("SERVER_HOST", "0.0.0.0")
|
| 62 |
+
SERVER_PORT = int(os.getenv("SERVER_PORT", "8000"))
|
| 63 |
|
| 64 |
# ==================== 日志配置 ====================
|
| 65 |
+
LOG_LEVEL = os.getenv("LOG_LEVEL", "INFO")
|
| 66 |
+
LOG_FORMAT = os.getenv('LOG_FORMAT', '%(asctime)s - %(levelname)s - [%(processName)s] - %(message)s')
|
| 67 |
+
|
| 68 |
+
# ==================== 其他配置 ====================
|
| 69 |
+
ENABLE_AUTO_REGISTER = _get_env_bool("ENABLE_AUTO_REGISTER", True)
|
space.yaml
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
|
|
|
| 1 |
+
sdk: docker
|
| 2 |
+
app_port: 7860
|