212 lines
8.0 KiB
Python
212 lines
8.0 KiB
Python
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}") |