2025-05-11 23:06:57 +08:00

113 lines
4.1 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import os
from dotenv import load_dotenv
# 加载.env文件中的环境变量
load_dotenv()
# ===== 日志配置 =====
# 日志级别DEBUG, INFO, WARNING, ERROR, CRITICAL
LOG_LEVEL = os.getenv("LOG_LEVEL", "INFO")
# 日志格式:时间戳 - 日志级别 - 消息内容
LOG_FORMAT = "%(asctime)s - %(levelname)s - %(message)s"
# 日志日期格式:年-月-日 时:分:秒
LOG_DATE_FORMAT = "%Y-%m-%d %H:%M:%S"
# ===== API服务配置 =====
# API服务监听主机地址
API_HOST = os.getenv("API_HOST", "127.0.0.1")
# API服务端口号
API_PORT = int(os.getenv("API_PORT", 8000))
# 是否启用调试模式
API_DEBUG = os.getenv("API_DEBUG", "false").lower() == "true"
# API服务工作进程数量Windows下建议使用1
API_WORKERS = int(os.getenv("API_WORKERS", 1))
# ===== 账号管理配置 =====
# 系统最大已激活的账号数量
MAX_ACCOUNTS = int(os.getenv("MAX_ACCOUNTS", 10))
# 每次注册间隔时间(秒)
REGISTRATION_INTERVAL = int(os.getenv("REGISTRATION_INTERVAL", 60))
# 注册失败时的最大重试次数
REGISTRATION_MAX_RETRIES = int(os.getenv("REGISTRATION_MAX_RETRIES", 3))
# 注册重试间隔时间(秒)
REGISTRATION_RETRY_INTERVAL = int(os.getenv("REGISTRATION_RETRY_INTERVAL", 5))
# ===== 浏览器配置 =====
# 是否以无头模式运行浏览器(不显示界面)
BROWSER_HEADLESS = os.getenv("BROWSER_HEADLESS", "true").lower() == "true"
# 浏览器可执行文件路径(为空则使用默认路径)
BROWSER_PATH = os.getenv("BROWSER_PATH", None)
# 浏览器下载文件保存路径
BROWSER_DOWNLOAD_PATH = os.getenv("BROWSER_DOWNLOAD_PATH", None)
# 是否使用动态ua池
DYNAMIC_USERAGENT = os.getenv("DYNAMIC_USERAGENT", "false").lower() == "true"
# 浏览器User-Agent
BROWSER_USER_AGENT = os.getenv("BROWSER_USER_AGENT", None)
# ===== Cursor URL配置 =====
# Cursor登录页面URL
LOGIN_URL = "https://authenticator.cursor.sh"
# Cursor注册页面URL
SIGN_UP_URL = "https://authenticator.cursor.sh/sign-up"
# Cursor设置页面URL
SETTINGS_URL = "https://www.cursor.com/settings"
# ===== 邮箱配置 =====
# 邮箱验证码获取方式
EMAIL_CODE_TYPE = os.getenv("EMAIL_CODE_TYPE", "AUTO")
# 邮箱类型
EMAIL_TYPE = os.getenv("EMAIL_TYPE", "tempemail")
# 临时邮箱用户名
EMAIL_USERNAME = os.getenv("EMAIL_USERNAME", "xxx")
# 临时邮箱域名
EMAIL_DOMAIN = os.getenv("EMAIL_DOMAIN", "mailto.plus")
# 临时邮箱PIN码如果需要
EMAIL_PIN = os.getenv("EMAIL_PIN", "")
# 可用于注册的邮箱域名列表(逗号分隔)
EMAIL_DOMAINS = [
domain.strip() for domain in os.getenv("EMAIL_DOMAINS", "xxx.xx").split(",")
]
# ZMail API地址
EMAIL_API = os.getenv("EMAIL_API", "")
# 是否启用邮箱API代理
EMAIL_PROXY_ENABLED = os.getenv("EMAIL_PROXY_ENABLED", "false").lower() == "true"
# 邮箱API代理地址
EMAIL_PROXY_ADDRESS = os.getenv("EMAIL_PROXY_ADDRESS", "")
# 邮件验证码获取最大重试次数
EMAIL_VERIFICATION_RETRIES = int(os.getenv("EMAIL_VERIFICATION_RETRIES", 5))
# 邮件验证码获取重试间隔(秒)
EMAIL_VERIFICATION_WAIT = int(os.getenv("EMAIL_VERIFICATION_WAIT", 5))
# ===== 数据库配置 =====
# 数据库文件名
DB_NAME = "accounts.db"
# 根据操作系统生成适当的数据库文件路径
if os.name == "nt": # Windows
DB_PATH = os.path.join(os.getcwd(), DB_NAME)
DATABASE_URL = f"sqlite+aiosqlite:///{DB_PATH}"
else: # Linux/Unix
DB_PATH = os.path.join("/app", DB_NAME)
DATABASE_URL = f"sqlite+aiosqlite:{DB_PATH}"
# 允许通过环境变量覆盖默认的数据库URL
DATABASE_URL = os.getenv("DATABASE_URL", DATABASE_URL)
# ===== Cursor main.js 配置 =====
# Cursor 主文件路径
CURSOR_PATH = os.getenv("CURSOR_PATH", None)
# ===== 代理配置 =====
# 是否启用代理
USE_PROXY = os.getenv("USE_PROXY", "False").lower() == "true"
# 代理类型
PROXY_TYPE = os.getenv("PROXY_TYPE", "http")
# 代理服务器地址
PROXY_HOST = os.getenv("PROXY_HOST", "")
# 代理服务器端口
PROXY_PORT = os.getenv("PROXY_PORT", "")
# 代理服务器用户名
PROXY_USERNAME = os.getenv("PROXY_USERNAME", "")
# 代理服务器密码
PROXY_PASSWORD = os.getenv("PROXY_PASSWORD", "")
# 代理服务器超时时间
PROXY_TIMEOUT = int(os.getenv("PROXY_TIMEOUT", "10"))