Initial commit
Dieser Commit ist enthalten in:
1
config/.hardware_id
Normale Datei
1
config/.hardware_id
Normale Datei
@ -0,0 +1 @@
|
||||
c4e65c9dfbe7593949576a1742d6c347a48307267ff2b73294b8c48409404639
|
||||
1
config/.machine_id
Normale Datei
1
config/.machine_id
Normale Datei
@ -0,0 +1 @@
|
||||
ae30d891-0b45-408e-8f47-75fada7cb094
|
||||
1
config/.session_data
Normale Datei
1
config/.session_data
Normale Datei
@ -0,0 +1 @@
|
||||
{"session_token": "b2f9c1be-e3d6-4eba-91c3-d4aa49bcbdb3", "license_key": "AF-F-202506-WY2J-ZZB9-7LZD", "activation_id": null, "timestamp": "2025-07-02T21:46:20.739060"}
|
||||
0
config/__init__.py
Normale Datei
0
config/__init__.py
Normale Datei
7
config/app_version.json
Normale Datei
7
config/app_version.json
Normale Datei
@ -0,0 +1,7 @@
|
||||
{
|
||||
"current_version": "1.0.0",
|
||||
"last_check": "2025-07-19T01:32:14.527285",
|
||||
"channel": "stable",
|
||||
"auto_check": true,
|
||||
"auto_download": false
|
||||
}
|
||||
0
config/browser_config.json
Normale Datei
0
config/browser_config.json
Normale Datei
6
config/email_config.json
Normale Datei
6
config/email_config.json
Normale Datei
@ -0,0 +1,6 @@
|
||||
{
|
||||
"imap_server": "imap.ionos.de",
|
||||
"imap_port": 993,
|
||||
"imap_user": "info@z5m7q9dk3ah2v1plx6ju.com",
|
||||
"imap_pass": "cz&ie.O9$!:!tYY@"
|
||||
}
|
||||
0
config/facebook_config.json
Normale Datei
0
config/facebook_config.json
Normale Datei
35
config/implementation_switch.py
Normale Datei
35
config/implementation_switch.py
Normale Datei
@ -0,0 +1,35 @@
|
||||
"""
|
||||
Einfacher Switch zwischen alter und neuer Implementation für schnelles Rollback
|
||||
"""
|
||||
|
||||
|
||||
class ImplementationSwitch:
|
||||
"""Einfacher Switch zwischen alter und neuer Implementation"""
|
||||
|
||||
# Direkt aktivieren im Testbetrieb
|
||||
USE_REFACTORED_CODE = True
|
||||
|
||||
@classmethod
|
||||
def rollback_to_legacy(cls):
|
||||
"""Schneller Rollback wenn nötig"""
|
||||
cls.USE_REFACTORED_CODE = False
|
||||
print("WARNUNG: Rollback zu Legacy-Implementation aktiviert!")
|
||||
|
||||
@classmethod
|
||||
def use_refactored_code(cls):
|
||||
"""Aktiviert die refaktorierte Implementation"""
|
||||
cls.USE_REFACTORED_CODE = True
|
||||
print("INFO: Refaktorierte Implementation aktiviert")
|
||||
|
||||
@classmethod
|
||||
def is_refactored_active(cls) -> bool:
|
||||
"""Prüft ob refaktorierte Implementation aktiv ist"""
|
||||
return cls.USE_REFACTORED_CODE
|
||||
|
||||
@classmethod
|
||||
def get_status(cls) -> str:
|
||||
"""Gibt den aktuellen Status zurück"""
|
||||
if cls.USE_REFACTORED_CODE:
|
||||
return "Refaktorierte Implementation (NEU)"
|
||||
else:
|
||||
return "Legacy Implementation (ALT)"
|
||||
0
config/instagram_config.json
Normale Datei
0
config/instagram_config.json
Normale Datei
16
config/license.json
Normale Datei
16
config/license.json
Normale Datei
@ -0,0 +1,16 @@
|
||||
{
|
||||
"key": "AF-F-202506-WY2J-ZZB9-7LZD",
|
||||
"activation_date": "2025-07-01T23:44:57.221243",
|
||||
"expiry_date": "",
|
||||
"status": "active",
|
||||
"status_text": "Lizenz erfolgreich aktiviert",
|
||||
"features": [
|
||||
"account_creation",
|
||||
"basic_export"
|
||||
],
|
||||
"last_online_check": "2025-07-01T23:44:57.221243",
|
||||
"signature": "",
|
||||
"activation_id": null,
|
||||
"max_activations": 0,
|
||||
"max_users": 0
|
||||
}
|
||||
11
config/license_config.json
Normale Datei
11
config/license_config.json
Normale Datei
@ -0,0 +1,11 @@
|
||||
{
|
||||
"key": "",
|
||||
"status": "inactive",
|
||||
"hardware_id": "",
|
||||
"activation_date": null,
|
||||
"expiry_date": null,
|
||||
"features": [],
|
||||
"last_check": null,
|
||||
"session_ip_mode": "auto",
|
||||
"ip_fallback": "0.0.0.0"
|
||||
}
|
||||
296
config/method_rotation_config.json
Normale Datei
296
config/method_rotation_config.json
Normale Datei
@ -0,0 +1,296 @@
|
||||
{
|
||||
"platforms": {
|
||||
"instagram": {
|
||||
"methods": {
|
||||
"stealth_basic": {
|
||||
"priority": 8,
|
||||
"max_daily_attempts": 20,
|
||||
"cooldown_period": 300,
|
||||
"risk_level": "LOW",
|
||||
"configuration": {
|
||||
"enhanced_stealth": false,
|
||||
"user_agent_rotation": false,
|
||||
"fingerprint_complexity": "basic",
|
||||
"canvas_noise": false,
|
||||
"webrtc_protection": "basic"
|
||||
},
|
||||
"tags": ["basic", "fast", "low_detection"],
|
||||
"success_threshold": 0.7
|
||||
},
|
||||
"stealth_enhanced": {
|
||||
"priority": 7,
|
||||
"max_daily_attempts": 15,
|
||||
"cooldown_period": 400,
|
||||
"risk_level": "MEDIUM",
|
||||
"configuration": {
|
||||
"enhanced_stealth": true,
|
||||
"user_agent_rotation": true,
|
||||
"fingerprint_complexity": "enhanced",
|
||||
"canvas_noise": true,
|
||||
"webrtc_protection": "enhanced",
|
||||
"viewport_randomization": true,
|
||||
"screen_resolution_spoof": true
|
||||
},
|
||||
"tags": ["enhanced", "reliable", "medium_stealth"],
|
||||
"success_threshold": 0.6
|
||||
},
|
||||
"stealth_maximum": {
|
||||
"priority": 6,
|
||||
"max_daily_attempts": 10,
|
||||
"cooldown_period": 600,
|
||||
"risk_level": "HIGH",
|
||||
"configuration": {
|
||||
"enhanced_stealth": true,
|
||||
"user_agent_rotation": true,
|
||||
"fingerprint_complexity": "maximum",
|
||||
"canvas_noise": true,
|
||||
"webrtc_protection": "maximum",
|
||||
"viewport_randomization": true,
|
||||
"navigator_spoof": true,
|
||||
"timing_randomization": true,
|
||||
"memory_spoof": true,
|
||||
"hardware_spoof": true
|
||||
},
|
||||
"tags": ["maximum", "complex", "high_stealth"],
|
||||
"success_threshold": 0.5
|
||||
}
|
||||
},
|
||||
"rotation_policy": {
|
||||
"max_failures_before_rotation": 1,
|
||||
"rotation_cooldown": 30,
|
||||
"prefer_high_success_rate": true,
|
||||
"avoid_recently_failed": true,
|
||||
"smart_fallback": true,
|
||||
"emergency_mode_trigger_failures": 8,
|
||||
"instant_rotation_errors": ["browser_level_error", "css", "javascript", "parsing"]
|
||||
},
|
||||
"emergency_methods": ["email"],
|
||||
"daily_reset_hour": 0
|
||||
},
|
||||
"tiktok": {
|
||||
"methods": {
|
||||
"email": {
|
||||
"priority": 8,
|
||||
"max_daily_attempts": 25,
|
||||
"cooldown_period": 240,
|
||||
"risk_level": "LOW",
|
||||
"configuration": {
|
||||
"email_domain": "z5m7q9dk3ah2v1plx6ju.com",
|
||||
"require_phone_verification": false,
|
||||
"auto_verify_email": true,
|
||||
"email_verification_timeout": 180
|
||||
},
|
||||
"tags": ["primary", "reliable", "tiktok"],
|
||||
"success_threshold": 0.8
|
||||
},
|
||||
"phone": {
|
||||
"priority": 7,
|
||||
"max_daily_attempts": 15,
|
||||
"cooldown_period": 480,
|
||||
"risk_level": "MEDIUM",
|
||||
"configuration": {
|
||||
"require_email_backup": false,
|
||||
"phone_verification_timeout": 180,
|
||||
"country_codes": ["+1", "+44"],
|
||||
"fast_verification": true
|
||||
},
|
||||
"tags": ["secondary", "fast", "mobile"],
|
||||
"success_threshold": 0.6
|
||||
}
|
||||
},
|
||||
"rotation_policy": {
|
||||
"max_failures_before_rotation": 2,
|
||||
"rotation_cooldown": 45,
|
||||
"prefer_high_success_rate": true,
|
||||
"avoid_recently_failed": true,
|
||||
"smart_fallback": true,
|
||||
"emergency_mode_trigger_failures": 15
|
||||
},
|
||||
"emergency_methods": ["email"],
|
||||
"daily_reset_hour": 0
|
||||
},
|
||||
"x": {
|
||||
"methods": {
|
||||
"email": {
|
||||
"priority": 8,
|
||||
"max_daily_attempts": 15,
|
||||
"cooldown_period": 360,
|
||||
"risk_level": "LOW",
|
||||
"configuration": {
|
||||
"email_domain": "z5m7q9dk3ah2v1plx6ju.com",
|
||||
"require_phone_verification": true,
|
||||
"auto_verify_email": true,
|
||||
"email_verification_timeout": 300
|
||||
},
|
||||
"tags": ["primary", "stable", "twitter"],
|
||||
"success_threshold": 0.6
|
||||
},
|
||||
"phone": {
|
||||
"priority": 6,
|
||||
"max_daily_attempts": 8,
|
||||
"cooldown_period": 720,
|
||||
"risk_level": "MEDIUM",
|
||||
"configuration": {
|
||||
"require_email_backup": true,
|
||||
"phone_verification_timeout": 300,
|
||||
"country_codes": ["+1", "+44", "+49"],
|
||||
"strict_verification": true
|
||||
},
|
||||
"tags": ["secondary", "verification", "strict"],
|
||||
"success_threshold": 0.4
|
||||
}
|
||||
},
|
||||
"rotation_policy": {
|
||||
"max_failures_before_rotation": 1,
|
||||
"rotation_cooldown": 90,
|
||||
"prefer_high_success_rate": true,
|
||||
"avoid_recently_failed": true,
|
||||
"smart_fallback": true,
|
||||
"emergency_mode_trigger_failures": 8
|
||||
},
|
||||
"emergency_methods": ["email"],
|
||||
"daily_reset_hour": 0
|
||||
},
|
||||
"gmail": {
|
||||
"methods": {
|
||||
"standard_registration": {
|
||||
"priority": 9,
|
||||
"max_daily_attempts": 30,
|
||||
"cooldown_period": 180,
|
||||
"risk_level": "LOW",
|
||||
"configuration": {
|
||||
"recovery_email": false,
|
||||
"recovery_phone": false,
|
||||
"skip_phone_verification": true,
|
||||
"use_simple_captcha": true
|
||||
},
|
||||
"tags": ["primary", "google", "standard"],
|
||||
"success_threshold": 0.9
|
||||
},
|
||||
"recovery_registration": {
|
||||
"priority": 7,
|
||||
"max_daily_attempts": 10,
|
||||
"cooldown_period": 600,
|
||||
"risk_level": "MEDIUM",
|
||||
"configuration": {
|
||||
"recovery_email": true,
|
||||
"recovery_phone": false,
|
||||
"backup_recovery_method": true,
|
||||
"enhanced_security": true
|
||||
},
|
||||
"tags": ["secondary", "secure", "recovery"],
|
||||
"success_threshold": 0.7
|
||||
}
|
||||
},
|
||||
"rotation_policy": {
|
||||
"max_failures_before_rotation": 3,
|
||||
"rotation_cooldown": 30,
|
||||
"prefer_high_success_rate": true,
|
||||
"avoid_recently_failed": false,
|
||||
"smart_fallback": true,
|
||||
"emergency_mode_trigger_failures": 20
|
||||
},
|
||||
"emergency_methods": ["standard_registration"],
|
||||
"daily_reset_hour": 0
|
||||
}
|
||||
},
|
||||
"global_settings": {
|
||||
"rotation_strategies": {
|
||||
"adaptive": {
|
||||
"description": "Learn from success patterns and adapt method selection",
|
||||
"weight_success_rate": 0.4,
|
||||
"weight_priority": 0.3,
|
||||
"weight_recent_performance": 0.3
|
||||
},
|
||||
"sequential": {
|
||||
"description": "Try methods in order of priority",
|
||||
"strict_order": true,
|
||||
"skip_on_cooldown": true
|
||||
},
|
||||
"random": {
|
||||
"description": "Random method selection from available options",
|
||||
"weighted_by_priority": true,
|
||||
"exclude_high_risk": false
|
||||
},
|
||||
"smart": {
|
||||
"description": "AI-driven method selection with machine learning",
|
||||
"use_ml_predictions": true,
|
||||
"consider_time_patterns": true,
|
||||
"adapt_to_platform_changes": true
|
||||
}
|
||||
},
|
||||
"performance_tracking": {
|
||||
"success_rate_window_hours": 24,
|
||||
"min_attempts_for_reliability": 5,
|
||||
"performance_decay_days": 7,
|
||||
"auto_adjust_priorities": true
|
||||
},
|
||||
"emergency_mode": {
|
||||
"auto_enable_threshold": 0.2,
|
||||
"auto_disable_threshold": 0.6,
|
||||
"max_duration_hours": 24,
|
||||
"notification_enabled": true
|
||||
},
|
||||
"analytics": {
|
||||
"track_execution_time": true,
|
||||
"track_error_patterns": true,
|
||||
"generate_daily_reports": true,
|
||||
"retention_days": 90
|
||||
},
|
||||
"fallback_behavior": {
|
||||
"on_rotation_failure": "use_original_method",
|
||||
"on_all_methods_exhausted": "enable_emergency_mode",
|
||||
"max_rotation_attempts_per_session": 3,
|
||||
"fallback_to_legacy_on_error": true
|
||||
}
|
||||
},
|
||||
"method_definitions": {
|
||||
"stealth_basic": {
|
||||
"description": "Basic stealth mode with minimal anti-detection",
|
||||
"required_services": [],
|
||||
"typical_success_rate": 0.7,
|
||||
"average_completion_time": 120
|
||||
},
|
||||
"stealth_enhanced": {
|
||||
"description": "Enhanced stealth with fingerprint obfuscation",
|
||||
"required_services": ["fingerprint_service"],
|
||||
"typical_success_rate": 0.6,
|
||||
"average_completion_time": 150
|
||||
},
|
||||
"stealth_maximum": {
|
||||
"description": "Maximum stealth with full anti-detection suite",
|
||||
"required_services": ["fingerprint_service"],
|
||||
"typical_success_rate": 0.5,
|
||||
"average_completion_time": 180
|
||||
},
|
||||
"standard_registration": {
|
||||
"description": "Standard Google account registration",
|
||||
"required_services": [],
|
||||
"typical_success_rate": 0.9,
|
||||
"average_completion_time": 150
|
||||
},
|
||||
"recovery_registration": {
|
||||
"description": "Google account registration with recovery options",
|
||||
"required_services": ["recovery_service"],
|
||||
"typical_success_rate": 0.7,
|
||||
"average_completion_time": 200
|
||||
}
|
||||
},
|
||||
"risk_levels": {
|
||||
"LOW": {
|
||||
"description": "Stable methods with high success rates",
|
||||
"max_concurrent_attempts": 10,
|
||||
"recommended_cooldown": 300
|
||||
},
|
||||
"MEDIUM": {
|
||||
"description": "Moderately reliable methods",
|
||||
"max_concurrent_attempts": 5,
|
||||
"recommended_cooldown": 600
|
||||
},
|
||||
"HIGH": {
|
||||
"description": "Experimental or unreliable methods",
|
||||
"max_concurrent_attempts": 2,
|
||||
"recommended_cooldown": 1800
|
||||
}
|
||||
}
|
||||
}
|
||||
70
config/paths.py
Normale Datei
70
config/paths.py
Normale Datei
@ -0,0 +1,70 @@
|
||||
"""
|
||||
Path Configuration - Zentrale Pfadverwaltung für Clean Architecture
|
||||
"""
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
|
||||
class PathConfig:
|
||||
"""Zentrale Klasse für alle Pfadkonfigurationen"""
|
||||
|
||||
# Basis-Verzeichnis des Projekts
|
||||
if hasattr(sys, '_MEIPASS'):
|
||||
# PyInstaller Bundle
|
||||
BASE_DIR = sys._MEIPASS
|
||||
else:
|
||||
# Normal Python execution
|
||||
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||||
|
||||
# Hauptverzeichnisse
|
||||
DATABASE_DIR = os.path.join(BASE_DIR, "database")
|
||||
CONFIG_DIR = os.path.join(BASE_DIR, "config")
|
||||
RESOURCES_DIR = os.path.join(BASE_DIR, "resources")
|
||||
LOGS_DIR = os.path.join(BASE_DIR, "logs")
|
||||
|
||||
# Datenbank-Dateien
|
||||
MAIN_DB = os.path.join(DATABASE_DIR, "accounts.db")
|
||||
SCHEMA_V1 = os.path.join(DATABASE_DIR, "schema.sql")
|
||||
SCHEMA_V2 = os.path.join(DATABASE_DIR, "schema_v2.sql")
|
||||
|
||||
# Resource-Verzeichnisse
|
||||
ICONS_DIR = os.path.join(RESOURCES_DIR, "icons")
|
||||
THEMES_DIR = os.path.join(RESOURCES_DIR, "themes")
|
||||
|
||||
# Log-Verzeichnisse
|
||||
SCREENSHOTS_DIR = os.path.join(LOGS_DIR, "screenshots")
|
||||
|
||||
@classmethod
|
||||
def ensure_directories(cls):
|
||||
"""Stellt sicher, dass alle notwendigen Verzeichnisse existieren"""
|
||||
directories = [
|
||||
cls.DATABASE_DIR,
|
||||
cls.CONFIG_DIR,
|
||||
cls.RESOURCES_DIR,
|
||||
cls.LOGS_DIR,
|
||||
cls.ICONS_DIR,
|
||||
cls.THEMES_DIR,
|
||||
cls.SCREENSHOTS_DIR
|
||||
]
|
||||
|
||||
for directory in directories:
|
||||
os.makedirs(directory, exist_ok=True)
|
||||
|
||||
@classmethod
|
||||
def get_icon_path(cls, icon_name: str) -> str:
|
||||
"""
|
||||
Gibt den vollständigen Pfad zu einem Icon zurück
|
||||
|
||||
Args:
|
||||
icon_name: Name des Icons (ohne .svg)
|
||||
|
||||
Returns:
|
||||
Vollständiger Pfad zum Icon
|
||||
"""
|
||||
return os.path.join(cls.ICONS_DIR, f"{icon_name}.svg")
|
||||
|
||||
@classmethod
|
||||
def file_exists(cls, path: str) -> bool:
|
||||
"""Prüft ob eine Datei existiert"""
|
||||
return os.path.exists(path) and os.path.isfile(path)
|
||||
210
config/platform_config.py
Normale Datei
210
config/platform_config.py
Normale Datei
@ -0,0 +1,210 @@
|
||||
"""
|
||||
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
|
||||
15
config/proxy_config.json
Normale Datei
15
config/proxy_config.json
Normale Datei
@ -0,0 +1,15 @@
|
||||
{
|
||||
"ipv4": [
|
||||
"85.254.81.222:44444:14a38ed2efe94:04ed25fb1b"
|
||||
],
|
||||
"ipv6": [
|
||||
"92.119.89.251:30015:14a4622431481:a488401704"
|
||||
],
|
||||
"mobile": [
|
||||
"de1.4g.iproyal.com:7296:1rtSh0G:XswBCIqi1joy5dX"
|
||||
],
|
||||
"mobile_api": {
|
||||
"marsproxies": "9zKXWpMEA1",
|
||||
"iproyal": ""
|
||||
}
|
||||
}
|
||||
26
config/stealth_config.json
Normale Datei
26
config/stealth_config.json
Normale Datei
@ -0,0 +1,26 @@
|
||||
{
|
||||
"user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36",
|
||||
"platform": "Win32",
|
||||
"vendor": "Google Inc.",
|
||||
"accept_language": "de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7",
|
||||
"timezone_id": "Europe/Berlin",
|
||||
"device_scale_factor": 1.0,
|
||||
"color_depth": 24,
|
||||
"hardware_concurrency": 8,
|
||||
"device_memory": 8,
|
||||
"webdriver": false,
|
||||
"fingerprint_noise": true,
|
||||
"device_type": "desktop",
|
||||
"browser_protection": {
|
||||
"enabled": true,
|
||||
"level": "medium",
|
||||
"show_border": true,
|
||||
"show_badge": true,
|
||||
"blur_effect": false,
|
||||
"opacity": 0.1,
|
||||
"badge_text": "🔒 Account wird erstellt - Bitte nicht eingreifen",
|
||||
"badge_position": "top-right",
|
||||
"border_color": "rgba(255, 0, 0, 0.5)",
|
||||
"dialog_always_on_top": true
|
||||
}
|
||||
}
|
||||
46
config/theme.json
Normale Datei
46
config/theme.json
Normale Datei
@ -0,0 +1,46 @@
|
||||
# Path: config/theme.json
|
||||
|
||||
{
|
||||
"dark": {
|
||||
"name": "Dark",
|
||||
"palette": {
|
||||
"Window": "#1E1E1E",
|
||||
"WindowText": "#FFFFFF",
|
||||
"Base": "#2D2D30",
|
||||
"AlternateBase": "#252526",
|
||||
"ToolTipBase": "#2D2D30",
|
||||
"ToolTipText": "#FFFFFF",
|
||||
"Text": "#FFFFFF",
|
||||
"Button": "#0E639C",
|
||||
"ButtonText": "#FFFFFF",
|
||||
"BrightText": "#FF0000",
|
||||
"Link": "#3794FF",
|
||||
"Highlight": "#264F78",
|
||||
"HighlightedText": "#FFFFFF"
|
||||
},
|
||||
"icons": {
|
||||
"path_suffix": "dark"
|
||||
}
|
||||
},
|
||||
"light": {
|
||||
"name": "Light",
|
||||
"palette": {
|
||||
"Window": "#FFFFFF",
|
||||
"WindowText": "#1E1E1E",
|
||||
"Base": "#F5F7FF",
|
||||
"AlternateBase": "#E8EBFF",
|
||||
"ToolTipBase": "#232D53",
|
||||
"ToolTipText": "#FFFFFF",
|
||||
"Text": "#1E1E1E",
|
||||
"Button": "#0099CC",
|
||||
"ButtonText": "#FFFFFF",
|
||||
"BrightText": "#F44336",
|
||||
"Link": "#0099CC",
|
||||
"Highlight": "#E8EBFF",
|
||||
"HighlightedText": "#232D53"
|
||||
},
|
||||
"icons": {
|
||||
"path_suffix": "light"
|
||||
}
|
||||
}
|
||||
}
|
||||
62
config/tiktok_config.json
Normale Datei
62
config/tiktok_config.json
Normale Datei
@ -0,0 +1,62 @@
|
||||
{
|
||||
"automation": {
|
||||
"delays": {
|
||||
"page_load": 3.0,
|
||||
"typing_delay": 0.1,
|
||||
"click_delay": 0.5,
|
||||
"form_submission": 2.0
|
||||
},
|
||||
"retries": {
|
||||
"max_attempts": 3,
|
||||
"delay_between_attempts": 2.0
|
||||
},
|
||||
"timeouts": {
|
||||
"element_wait": 10.0,
|
||||
"page_load": 30.0,
|
||||
"verification_wait": 300.0
|
||||
}
|
||||
},
|
||||
"urls": {
|
||||
"base_url": "https://www.tiktok.com",
|
||||
"signup_url": "https://www.tiktok.com/signup",
|
||||
"login_url": "https://www.tiktok.com/login",
|
||||
"email_signup": "https://www.tiktok.com/signup/phone-or-email/email"
|
||||
},
|
||||
"selectors": {
|
||||
"priority_order": [
|
||||
"data-e2e",
|
||||
"placeholder",
|
||||
"type",
|
||||
"class",
|
||||
"id"
|
||||
]
|
||||
},
|
||||
"registration": {
|
||||
"required_fields": [
|
||||
"email",
|
||||
"password",
|
||||
"birthday_month",
|
||||
"birthday_day",
|
||||
"birthday_year"
|
||||
],
|
||||
"optional_fields": [
|
||||
"username",
|
||||
"newsletter_subscription"
|
||||
],
|
||||
"verification": {
|
||||
"code_length": 6,
|
||||
"max_attempts": 3,
|
||||
"resend_delay": 60
|
||||
}
|
||||
},
|
||||
"error_handling": {
|
||||
"max_retries": 3,
|
||||
"retry_delay": 5.0,
|
||||
"screenshot_on_error": true
|
||||
},
|
||||
"logging": {
|
||||
"level": "INFO",
|
||||
"capture_screenshots": true,
|
||||
"detailed_errors": true
|
||||
}
|
||||
}
|
||||
0
config/twitter_config.json
Normale Datei
0
config/twitter_config.json
Normale Datei
9
config/update_config.json
Normale Datei
9
config/update_config.json
Normale Datei
@ -0,0 +1,9 @@
|
||||
{
|
||||
"last_check": "2025-04-01 12:00:00",
|
||||
"check_interval": 86400,
|
||||
"auto_check": true,
|
||||
"auto_download": false,
|
||||
"update_channel": "stable",
|
||||
"download_path": "updates",
|
||||
"downloaded_updates": []
|
||||
}
|
||||
31
config/user_agents.json
Normale Datei
31
config/user_agents.json
Normale Datei
@ -0,0 +1,31 @@
|
||||
{
|
||||
"desktop": [
|
||||
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36",
|
||||
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36",
|
||||
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36",
|
||||
"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:124.0) Gecko/20100101 Firefox/124.0",
|
||||
"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:123.0) Gecko/20100101 Firefox/123.0",
|
||||
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36",
|
||||
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36",
|
||||
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Safari/605.1.15",
|
||||
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:124.0) Gecko/20100101 Firefox/124.0",
|
||||
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36",
|
||||
"Mozilla/5.0 (X11; Linux x86_64; rv:124.0) Gecko/20100101 Firefox/124.0",
|
||||
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36 Edg/135.0.0.0",
|
||||
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36 Edg/134.0.0.0"
|
||||
],
|
||||
"mobile": [
|
||||
"Mozilla/5.0 (iPhone; CPU iPhone OS 18_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1",
|
||||
"Mozilla/5.0 (iPhone; CPU iPhone OS 17_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1",
|
||||
"Mozilla/5.0 (iPhone; CPU iPhone OS 17_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1",
|
||||
"Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/135.0.0.0 Mobile/15E148 Safari/604.1",
|
||||
"Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/134.0.0.0 Mobile/15E148 Safari/604.1",
|
||||
"Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) FxiOS/123.0 Mobile/15E148 Safari/605.1.15",
|
||||
"Mozilla/5.0 (Linux; Android 14; SM-S9180) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Mobile Safari/537.36",
|
||||
"Mozilla/5.0 (Linux; Android 14; SM-G991B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Mobile Safari/537.36",
|
||||
"Mozilla/5.0 (Linux; Android 14; Pixel 8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Mobile Safari/537.36",
|
||||
"Mozilla/5.0 (Linux; Android 14; Pixel 7 Pro) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Mobile Safari/537.36",
|
||||
"Mozilla/5.0 (Linux; Android 13; SAMSUNG SM-A536B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/24.0 Chrome/133.0.0.0 Mobile Safari/537.36",
|
||||
"Mozilla/5.0 (Linux; Android 13; SAMSUNG SM-A546B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/24.0 Chrome/133.0.0.0 Mobile Safari/537.36"
|
||||
]
|
||||
}
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren