KManager / spoofers /base.py
StarrySkyWorld's picture
Initial commit
494c89b
"""
Базовый класс для всех спуф-модулей
"""
from abc import ABC, abstractmethod
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from .profile import SpoofProfile
class BaseSpoofModule(ABC):
"""
Базовый класс спуф-модуля.
Каждый модуль:
- Принимает SpoofProfile
- Возвращает JS-код через get_js()
- Имеет name и description для логирования
"""
name: str = "base"
description: str = "Base spoof module"
def __init__(self, profile: "SpoofProfile"):
self.profile = profile
@abstractmethod
def get_js(self) -> str:
"""
Возвращает JS-код для инжекта.
JS должен быть обёрнут в IIFE: (function() { ... })();
Использовать self.profile для доступа к параметрам.
"""
pass
def __repr__(self):
return f"<{self.__class__.__name__}: {self.description}>"