210 Zeilen
8.4 KiB
Python
210 Zeilen
8.4 KiB
Python
"""
|
|
Platform-spezifische Konfiguration
|
|
"""
|
|
from typing import Dict, List, Any
|
|
|
|
|
|
PLATFORM_CONFIG: Dict[str, Dict[str, Any]] = {
|
|
'instagram': {
|
|
'mobile_probability': 0.7,
|
|
'min_age': 13,
|
|
'max_age': 99,
|
|
'supported_registration': ['email'],
|
|
'default_email_domain': 'z5m7q9dk3ah2v1plx6ju.com',
|
|
'requires_phone_verification': False,
|
|
'session_expiry_days': 30,
|
|
'rate_limits': {
|
|
'registrations_per_hour': 3,
|
|
'registrations_per_day': 10,
|
|
'cooldown_minutes': 15
|
|
},
|
|
'error_patterns': {
|
|
'already taken': 'Dieser Benutzername ist bereits vergeben',
|
|
'weak password': 'Das Passwort ist zu schwach',
|
|
'rate limit': 'Zu viele Versuche - bitte später erneut versuchen',
|
|
'network error': 'Netzwerkfehler - bitte Internetverbindung prüfen',
|
|
'captcha': 'Captcha-Verifizierung erforderlich',
|
|
'verification': 'Es gab ein Problem mit der Verifizierung des Accounts',
|
|
'proxy': 'Problem mit der Proxy-Verbindung',
|
|
'timeout': 'Zeitüberschreitung bei der Verbindung',
|
|
'username': 'Der gewählte Benutzername ist bereits vergeben oder nicht zulässig',
|
|
'password': 'Das Passwort erfüllt nicht die Anforderungen von Instagram',
|
|
'email': 'Die E-Mail-Adresse konnte nicht verwendet werden',
|
|
'phone': 'Die Telefonnummer konnte nicht für die Registrierung verwendet werden'
|
|
},
|
|
'ui_config': {
|
|
'primary_color': '#E4405F',
|
|
'secondary_color': '#C13584',
|
|
'icon': 'instagram.svg'
|
|
}
|
|
},
|
|
'tiktok': {
|
|
'mobile_probability': 0.9,
|
|
'min_age': 13,
|
|
'max_age': 99,
|
|
'supported_registration': ['email', 'phone'],
|
|
'default_email_domain': 'z5m7q9dk3ah2v1plx6ju.com',
|
|
'requires_phone_verification': True,
|
|
'session_expiry_days': 14,
|
|
'rate_limits': {
|
|
'registrations_per_hour': 2,
|
|
'registrations_per_day': 5,
|
|
'cooldown_minutes': 30
|
|
},
|
|
'error_patterns': {
|
|
'captcha': 'TikTok hat einen Captcha-Test angefordert',
|
|
'verification': 'Es gab ein Problem mit der Verifizierung des Accounts',
|
|
'proxy': 'Problem mit der Proxy-Verbindung',
|
|
'timeout': 'Zeitüberschreitung bei der Verbindung',
|
|
'username': 'Der gewählte Benutzername ist bereits vergeben oder nicht zulässig',
|
|
'password': 'Das Passwort erfüllt nicht die Anforderungen von TikTok',
|
|
'email': 'Die E-Mail-Adresse konnte nicht verwendet werden',
|
|
'phone': 'Die Telefonnummer konnte nicht für die Registrierung verwendet werden',
|
|
'phone number required': 'Telefonnummer erforderlich',
|
|
'invalid code': 'Ungültiger Verifizierungscode',
|
|
'age': 'Das eingegebene Alter erfüllt nicht die Anforderungen von TikTok',
|
|
'too_many_attempts': 'Zu viele Registrierungsversuche',
|
|
'rate limit': 'Zu viele Versuche - bitte später erneut versuchen',
|
|
'already taken': 'Der gewählte Benutzername ist bereits vergeben',
|
|
'weak password': 'Das Passwort ist zu schwach',
|
|
'network error': 'Netzwerkfehler - bitte Internetverbindung prüfen'
|
|
},
|
|
'ui_config': {
|
|
'primary_color': '#000000',
|
|
'secondary_color': '#FE2C55',
|
|
'icon': 'tiktok.svg'
|
|
}
|
|
},
|
|
'facebook': {
|
|
'mobile_probability': 0.5,
|
|
'min_age': 13,
|
|
'max_age': 99,
|
|
'supported_registration': ['email', 'phone'],
|
|
'default_email_domain': 'z5m7q9dk3ah2v1plx6ju.com',
|
|
'requires_phone_verification': False,
|
|
'session_expiry_days': 90,
|
|
'rate_limits': {
|
|
'registrations_per_hour': 2,
|
|
'registrations_per_day': 8,
|
|
'cooldown_minutes': 20
|
|
},
|
|
'error_patterns': {
|
|
# Facebook-spezifische Fehler hier hinzufügen
|
|
},
|
|
'ui_config': {
|
|
'primary_color': '#1877F2',
|
|
'secondary_color': '#42B883',
|
|
'icon': 'facebook.svg'
|
|
}
|
|
},
|
|
'ok': {
|
|
'mobile_probability': 0.3,
|
|
'min_age': 16,
|
|
'max_age': 99,
|
|
'supported_registration': ['email', 'phone'],
|
|
'default_email_domain': 'z5m7q9dk3ah2v1plx6ju.com',
|
|
'requires_phone_verification': True,
|
|
'session_expiry_days': 60,
|
|
'rate_limits': {
|
|
'registrations_per_hour': 2,
|
|
'registrations_per_day': 6,
|
|
'cooldown_minutes': 25
|
|
},
|
|
'error_patterns': {
|
|
'already taken': 'Dieser Benutzername ist bereits vergeben',
|
|
'weak password': 'Das Passwort ist zu schwach',
|
|
'rate limit': 'Zu viele Versuche - bitte später erneut versuchen',
|
|
'network error': 'Netzwerkfehler - bitte Internetverbindung prüfen',
|
|
'captcha': 'Captcha-Verifizierung erforderlich',
|
|
'verification': 'Es gab ein Problem mit der Verifizierung des Accounts',
|
|
'proxy': 'Problem mit der Proxy-Verbindung',
|
|
'timeout': 'Zeitüberschreitung bei der Verbindung',
|
|
'phone required': 'Telefonnummer erforderlich für OK.ru',
|
|
'invalid phone': 'Ungültige Telefonnummer',
|
|
'blocked region': 'Registrierung aus dieser Region nicht möglich'
|
|
},
|
|
'ui_config': {
|
|
'primary_color': '#FF6600',
|
|
'secondary_color': '#FF8533',
|
|
'icon': 'ok.svg'
|
|
}
|
|
},
|
|
'gmail': {
|
|
'mobile_probability': 0.4,
|
|
'min_age': 13,
|
|
'max_age': 99,
|
|
'supported_registration': ['phone'],
|
|
'default_email_domain': 'gmail.com',
|
|
'requires_phone_verification': True,
|
|
'session_expiry_days': 365,
|
|
'rate_limits': {
|
|
'registrations_per_hour': 1,
|
|
'registrations_per_day': 3,
|
|
'cooldown_minutes': 60
|
|
},
|
|
'error_patterns': {
|
|
'phone required': 'Telefonnummer erforderlich für Gmail',
|
|
'phone already used': 'Diese Telefonnummer wurde bereits verwendet',
|
|
'invalid phone': 'Ungültige Telefonnummer',
|
|
'verification failed': 'SMS-Verifizierung fehlgeschlagen',
|
|
'account suspended': 'Account-Erstellung gesperrt',
|
|
'rate limit': 'Zu viele Versuche - bitte später erneut versuchen',
|
|
'captcha': 'Captcha-Verifizierung erforderlich',
|
|
'username taken': 'Gewünschter Benutzername nicht verfügbar',
|
|
'weak password': 'Passwort erfüllt nicht die Sicherheitsanforderungen',
|
|
'network error': 'Netzwerkfehler - bitte Internetverbindung prüfen'
|
|
},
|
|
'ui_config': {
|
|
'primary_color': '#EA4335',
|
|
'secondary_color': '#4285F4',
|
|
'icon': 'gmail.svg'
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
def get_platform_config(platform: str) -> Dict[str, Any]:
|
|
"""Gibt die Konfiguration für eine Platform zurück"""
|
|
platform_lower = platform.lower()
|
|
if platform_lower not in PLATFORM_CONFIG:
|
|
# Fallback zu Standard-Konfiguration
|
|
return {
|
|
'mobile_probability': 0.5,
|
|
'min_age': 13,
|
|
'max_age': 99,
|
|
'supported_registration': ['email'],
|
|
'default_email_domain': 'z5m7q9dk3ah2v1plx6ju.com',
|
|
'requires_phone_verification': False,
|
|
'session_expiry_days': 30,
|
|
'rate_limits': {
|
|
'registrations_per_hour': 3,
|
|
'registrations_per_day': 10,
|
|
'cooldown_minutes': 15
|
|
},
|
|
'error_patterns': {},
|
|
'ui_config': {
|
|
'primary_color': '#000000',
|
|
'secondary_color': '#666666',
|
|
'icon': 'default.svg'
|
|
}
|
|
}
|
|
return PLATFORM_CONFIG[platform_lower]
|
|
|
|
|
|
def get_error_patterns(platform: str) -> Dict[str, str]:
|
|
"""Gibt die Error-Patterns für eine Platform zurück"""
|
|
config = get_platform_config(platform)
|
|
return config.get('error_patterns', {})
|
|
|
|
|
|
def get_rate_limits(platform: str) -> Dict[str, int]:
|
|
"""Gibt die Rate-Limits für eine Platform zurück"""
|
|
config = get_platform_config(platform)
|
|
return config.get('rate_limits', {})
|
|
|
|
|
|
def is_registration_method_supported(platform: str, method: str) -> bool:
|
|
"""Prüft ob eine Registrierungsmethode unterstützt wird"""
|
|
config = get_platform_config(platform)
|
|
supported = config.get('supported_registration', ['email'])
|
|
return method in supported |