Теперь проверяется orign у вебсокета тамтама

This commit is contained in:
Alexey Polyakov 2026-03-10 19:49:59 +03:00
parent ab7eec976c
commit 5eb9370a5a
4 changed files with 12 additions and 5 deletions

View File

@ -4,7 +4,6 @@
> >
> Использование в профессиональных средах не рекомендовано. > Использование в профессиональных средах не рекомендовано.
# OpenMAX # OpenMAX
Эмулятор сервера MAX и ТамТам Эмулятор сервера MAX и ТамТам

View File

@ -44,3 +44,6 @@ class ServerConfig:
telegram_bot_token = os.getenv("telegram_bot_token") or "123456789:ABCDEFGHIJKLMNOPQRSTUVWXYZ" telegram_bot_token = os.getenv("telegram_bot_token") or "123456789:ABCDEFGHIJKLMNOPQRSTUVWXYZ"
telegram_bot_enabled = bool(os.getenv("telegram_bot_enabled")) or True telegram_bot_enabled = bool(os.getenv("telegram_bot_enabled")) or True
telegram_whitelist_ids = [x.strip() for x in os.getenv("telegram_whitelist_ids", "").split(",") if x.strip()] telegram_whitelist_ids = [x.strip() for x in os.getenv("telegram_whitelist_ids", "").split(",") if x.strip()]
### origins
origins = [x.strip() for x in os.getenv("origins", "").split(",") if x.strip()] if os.getenv("origins") else None

View File

@ -68,7 +68,8 @@ async def main():
"db": db, "db": db,
"ssl": ssl_context, "ssl": ssl_context,
"clients": clients, "clients": clients,
"event": api_event "event": api_event,
"origins": server_config.origins
} }
controllers = { controllers = {

View File

@ -6,12 +6,13 @@ from tamtam_ws.proto import Proto
from tamtam_ws.processors import Processors from tamtam_ws.processors import Processors
class TTWSServer: class TTWSServer:
def __init__(self, host, port, db_pool=None, clients={}, send_event=None): def __init__(self, host, port, db_pool=None, clients={}, send_event=None, origins=None):
self.host = host self.host = host
self.port = port self.port = port
self.proto = Proto() self.proto = Proto()
self.processors = Processors(db_pool=db_pool, clients=clients, send_event=send_event) self.processors = Processors(db_pool=db_pool, clients=clients, send_event=send_event)
self.logger = logging.getLogger(__name__) self.logger = logging.getLogger(__name__)
self.origins = origins
async def handle_client(self, websocket): async def handle_client(self, websocket):
deviceType = None deviceType = None
@ -57,5 +58,8 @@ class TTWSServer:
async def start(self): async def start(self):
self.logger.info(f"Вебсокет запущен на порту {self.port}") self.logger.info(f"Вебсокет запущен на порту {self.port}")
async with serve(self.handle_client, self.host, self.port): async with serve(handler=self.handle_client,
host=self.host,
port=self.port,
origins=self.origins):
await asyncio.Future() await asyncio.Future()