diff --git a/proxy/tg_ws_proxy.py b/proxy/tg_ws_proxy.py index e8b94fc..e77acbb 100644 --- a/proxy/tg_ws_proxy.py +++ b/proxy/tg_ws_proxy.py @@ -731,6 +731,7 @@ def main(): console = logging.StreamHandler() console.setFormatter(log_fmt) + console.addFilter(DomainCensorFilter()) root.addHandler(console) if args.log_file: @@ -741,6 +742,7 @@ def main(): backups=args.log_backups, ) fh.setFormatter(log_fmt) + fh.addFilter(DomainCensorFilter()) root.addHandler(fh) logging.getLogger('asyncio').setLevel(logging.WARNING) diff --git a/proxy/utils.py b/proxy/utils.py index 251f6ab..18d3a1d 100644 --- a/proxy/utils.py +++ b/proxy/utils.py @@ -2,6 +2,8 @@ import socket as _socket import urllib.request import http.client import ssl +import logging +import re import certifi @@ -85,6 +87,32 @@ def get_link_host(host: str) -> Optional[str]: return host +class DomainCensorFilter(logging.Filter): + domain_pattern = re.compile( + r'(? None: fh = build_log_handler(str(LOG_FILE), log_max_mb=log_max_mb, backups=1) fh.setLevel(logging.DEBUG) fh.setFormatter(logging.Formatter(_LOG_FMT_FILE, datefmt="%Y-%m-%d %H:%M:%S")) + fh.addFilter(DomainCensorFilter()) root.addHandler(fh) if not IS_FROZEN: ch = logging.StreamHandler(sys.stdout) ch.setLevel(level) ch.setFormatter(logging.Formatter(_LOG_FMT_CONSOLE, datefmt="%H:%M:%S")) + ch.addFilter(DomainCensorFilter()) root.addHandler(ch)