From 1252e1942d899f3de5db905cecd77129ebeb2ae5 Mon Sep 17 00:00:00 2001 From: John Smith Date: Sat, 22 Aug 2020 18:38:52 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0tornado=20xheaders=E9=85=8D?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/chat.py | 2 +- config.py | 10 ++++++++-- data/config.ini | 6 ++++++ main.py | 7 ++++++- 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/api/chat.py b/api/chat.py index befab3b2..9ea1ad77 100644 --- a/api/chat.py +++ b/api/chat.py @@ -436,7 +436,7 @@ async def on_join_room(self): int(time.time()), 'blivechat', 2, - 'Translation is not allowed in this room, please download to use translation', + 'Translation is not allowed in this room. Please download to use translation', 0, False, 60, diff --git a/config.py b/config.py index 3c540f3d..2e0f60a0 100644 --- a/config.py +++ b/config.py @@ -38,20 +38,26 @@ def __init__(self): self.database_url = 'sqlite:///data/database.db' self.enable_translate = True self.allow_translate_rooms = {} + self.tornado_xheaders = False def load(self, path): - config = configparser.ConfigParser() - config.read(path) try: + config = configparser.ConfigParser() + config.read(path) + app_section = config['app'] self.database_url = app_section['database_url'] self.enable_translate = app_section.getboolean('enable_translate') + allow_translate_rooms = app_section['allow_translate_rooms'].strip() if allow_translate_rooms == '': self.allow_translate_rooms = {} else: allow_translate_rooms = allow_translate_rooms.split(',') self.allow_translate_rooms = set(map(lambda id_: int(id_.strip()), allow_translate_rooms)) + + self.tornado_xheaders = app_section.getboolean('tornado_xheaders') + except (KeyError, ValueError): logger.exception('Failed to load config:') return False diff --git a/data/config.ini b/data/config.ini index 3091bcac..0a4c7040 100644 --- a/data/config.ini +++ b/data/config.ini @@ -1,15 +1,21 @@ [app] # See https://docs.sqlalchemy.org/en/13/core/engines.html#database-urls database_url = sqlite:///data/database.db + # Enable auto translate to Japanese enable_translate = true + # Comma separated room IDs in which translation are not allowed. If empty, all are allowed # Example: allow_translate_rooms = 4895312,22347054,21693691 allow_translate_rooms = +# Set to true if you are using a reverse proxy server such as nginx +tornado_xheaders = false + # DON'T modify this section [DEFAULT] database_url = sqlite:///data/database.db enable_translate = true allow_translate_rooms = +tornado_xheaders = false diff --git a/main.py b/main.py index 190544a2..6bb7dad5 100644 --- a/main.py +++ b/main.py @@ -70,8 +70,13 @@ def run_server(host, port, debug): debug=debug, autoreload=False ) + cfg = config.get_config() try: - app.listen(port, host) + app.listen( + port, + host, + xheaders=cfg.tornado_xheaders + ) except OSError: logger.warning('Address is used %s:%d', host, port) return