from dotenv import load_dotenv import os import sys import json import random from logger import logging # 预定义的配置列表 CONFIGS = [ # { # "DOMAIN": "nosqli.com", # "TEMP_MAIL": "awegko", # "TEMP_MAIL_EXT": "@mailto.plus", # "BROWSER_USER_AGENT": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.6723.92 Safari/537.36", # "MAIL_SERVER": "https://tempmail.plus", # "TEMP_MAIL_EPIN": "" # }, # { # "DOMAIN": "586vip.cn", # "TEMP_MAIL": "emufu", # "TEMP_MAIL_EXT": "@mailto.plus", # "BROWSER_USER_AGENT": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.6723.92 Safari/537.36", # "MAIL_SERVER": "https://tempmail.plus", # "TEMP_MAIL_EPIN": "" # }, # { # "DOMAIN": "wuen.site", # "TEMP_MAIL": "actoke", # "TEMP_MAIL_EXT": "@mailto.plus", # "BROWSER_USER_AGENT": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.6723.92 Safari/537.36", # "MAIL_SERVER": "https://tempmail.plus", # "TEMP_MAIL_EPIN": "" # }, # { # "DOMAIN": "jxyweb.site", # "TEMP_MAIL": "exvet", # "TEMP_MAIL_EXT": "@mailto.plus", # "BROWSER_USER_AGENT": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.6723.92 Safari/537.36", # "MAIL_SERVER": "https://tempmail.plus", # # "TEMP_MAIL_EPIN": "889944" # }, # { # "DOMAIN": "cursorpro.asia", # "TEMP_MAIL": "ybeudu", # "TEMP_MAIL_EXT": "@mailto.plus", # "BROWSER_USER_AGENT": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.6723.92 Safari/537.36", # "MAIL_SERVER": "https://tempmail.plus", # "TEMP_MAIL_EPIN": "" # }, # { # "DOMAIN": "cursorpro.xyz", # "TEMP_MAIL": "neyxwub", # "TEMP_MAIL_EXT": "@mailto.plus", # "BROWSER_USER_AGENT": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.6723.92 Safari/537.36", # "MAIL_SERVER": "https://tempmail.plus", # "TEMP_MAIL_EPIN": "" # }, # { # "DOMAIN": "cursorpro.xin", # "TEMP_MAIL": "qeznosa", # "TEMP_MAIL_EXT": "@mailto.plus", # "BROWSER_USER_AGENT": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.6723.92 Safari/537.36", # "MAIL_SERVER": "https://tempmail.plus", # "TEMP_MAIL_EPIN": "" # }, { "DOMAIN": "cursorpro.com.cn", "TEMP_MAIL": "oducbum", "TEMP_MAIL_EXT": "@mailto.plus", "BROWSER_USER_AGENT": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.6723.92 Safari/537.36", "MAIL_SERVER": "https://tempmail.plus", "TEMP_MAIL_EPIN": "" }, # { # "DOMAIN": "jpgoogle.online", # "TEMP_MAIL": "oahpuza", # "TEMP_MAIL_EXT": "@mailto.plus", # "BROWSER_USER_AGENT": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.6723.92 Safari/537.36", # "MAIL_SERVER": "https://tempmail.plus", # "TEMP_MAIL_EPIN": "" # }, # { # "DOMAIN": "jpgoogle.asia", # "TEMP_MAIL": "emufu", # "TEMP_MAIL_EXT": "@mailto.plus", # "BROWSER_USER_AGENT": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.6723.92 Safari/537.36", # "MAIL_SERVER": "https://tempmail.plus", # "TEMP_MAIL_EPIN": "" # }, { "DOMAIN": "jpgoogle.xyz", "TEMP_MAIL": "ybeudu", "TEMP_MAIL_EXT": "@mailto.plus", "BROWSER_USER_AGENT": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.6723.92 Safari/537.36", "MAIL_SERVER": "https://tempmail.plus", "TEMP_MAIL_EPIN": "" }, { "DOMAIN": "jpgoogle.xin", "TEMP_MAIL": "actoke", "TEMP_MAIL_EXT": "@mailto.plus", "BROWSER_USER_AGENT": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.6723.92 Safari/537.36", "MAIL_SERVER": "https://tempmail.plus", "TEMP_MAIL_EPIN": "" }, # { # "DOMAIN": "tengxu2024.xyz", # "TEMP_MAIL": "exvet", # "TEMP_MAIL_EXT": "@mailto.plus", # "BROWSER_USER_AGENT": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.6723.92 Safari/537.36", # "MAIL_SERVER": "https://tempmail.plus", # "TEMP_MAIL_EPIN": "889944" # }, ] class Config: def __init__(self, config_index=None): # 获取应用程序的根目录路径 if getattr(sys, "frozen", False): # 如果是打包后的可执行文件 application_path = os.path.dirname(sys.executable) else: # 如果是开发环境 application_path = os.path.dirname(os.path.abspath(__file__)) # 如果指定了索引,使用指定配置,否则随机选择 if config_index is not None and 0 <= config_index < len(CONFIGS): self.current_config = CONFIGS[config_index] else: self.current_config = random.choice(CONFIGS) # 设置当前配置 self.domain = self.current_config.get("DOMAIN", "") self.temp_mail = self.current_config.get("TEMP_MAIL", "").strip() self.temp_mail_ext = self.current_config.get("TEMP_MAIL_EXT", "").strip() self.temp_mail_epin = self.current_config.get("TEMP_MAIL_EPIN", "").strip() self.browser_user_agent = self.current_config.get("BROWSER_USER_AGENT", "") self.mail_server = self.current_config.get("MAIL_SERVER", "") # IMAP相关配置 self.imap = False if self.temp_mail == "null": self.imap = True self.imap_server = self.current_config.get("IMAP_SERVER", "") self.imap_port = self.current_config.get("IMAP_PORT", "") self.imap_user = self.current_config.get("IMAP_USER", "") self.imap_pass = self.current_config.get("IMAP_PASS", "") self.imap_dir = self.current_config.get("IMAP_DIR", "inbox") def get_config_count(self): """获取配置总数""" return len(CONFIGS) def get_temp_mail(self): return self.temp_mail def get_temp_mail_ext(self): return self.temp_mail_ext def get_temp_mail_epin(self): return self.temp_mail_epin def get_domain(self): return self.domain def get_browser_user_agent(self): return self.browser_user_agent def get_mail_server(self): return self.mail_server def get_imap(self): """获取IMAP配置""" if not self.imap: return False return { "imap_server": self.imap_server, "imap_port": self.imap_port, "imap_user": self.imap_user, "imap_pass": self.imap_pass, "imap_dir": self.imap_dir, } def print_config(self): """打印当前使用的配置""" logging.info("\n=== 当前使用的配置 ===") if self.imap: logging.info(f"IMAP服务器: {self.imap_server}") logging.info(f"IMAP端口: {self.imap_port}") logging.info(f"IMAP用户名: {self.imap_user}") logging.info(f"IMAP密码: {'*' * len(self.imap_pass)}") logging.info(f"IMAP收件箱目录: {self.imap_dir}") else: logging.info(f"域名: {self.domain}") logging.info(f"临时邮箱: {self.temp_mail}{self.temp_mail_ext}") logging.info(f"邮件服务器: {self.mail_server}") logging.info("=" * 20) # 使用示例 if __name__ == "__main__": try: config = Config() print("环境变量加载成功!") config.print_config() except ValueError as e: print(f"错误: {e}")