diff --git a/readme.md b/readme.md index 5165f10..d0e3d30 100644 --- a/readme.md +++ b/readme.md @@ -4,7 +4,6 @@ > > Использование в профессиональных средах не рекомендовано. - # OpenMAX Эмулятор сервера MAX и ТамТам diff --git a/src/common/config.py b/src/common/config.py index dc4c7ed..a4f7680 100644 --- a/src/common/config.py +++ b/src/common/config.py @@ -43,4 +43,7 @@ class ServerConfig: ### Telegram bot telegram_bot_token = os.getenv("telegram_bot_token") or "123456789:ABCDEFGHIJKLMNOPQRSTUVWXYZ" 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()] \ No newline at end of file + 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 \ No newline at end of file diff --git a/src/main.py b/src/main.py index e9214e1..ec65824 100644 --- a/src/main.py +++ b/src/main.py @@ -68,7 +68,8 @@ async def main(): "db": db, "ssl": ssl_context, "clients": clients, - "event": api_event + "event": api_event, + "origins": server_config.origins } controllers = { diff --git a/src/tamtam_ws/server.py b/src/tamtam_ws/server.py index 729982b..650b60c 100644 --- a/src/tamtam_ws/server.py +++ b/src/tamtam_ws/server.py @@ -6,12 +6,13 @@ from tamtam_ws.proto import Proto from tamtam_ws.processors import Processors 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.port = port self.proto = Proto() self.processors = Processors(db_pool=db_pool, clients=clients, send_event=send_event) self.logger = logging.getLogger(__name__) + self.origins = origins async def handle_client(self, websocket): deviceType = None @@ -57,5 +58,8 @@ class TTWSServer: async def start(self): 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() \ No newline at end of file