From 04ae3e273bed9b0a4ef035c7372840ffada9d4f6 Mon Sep 17 00:00:00 2001 From: 6C656C65 <73671374+6C656C65@users.noreply.github.com> Date: Wed, 14 May 2025 11:40:26 +0200 Subject: [PATCH] fix boolean in config.ini --- pyproxy.py | 14 +++++++------- pyproxy/server.py | 3 ++- pyproxy/utils/args.py | 12 ++++++++++++ 3 files changed, 21 insertions(+), 8 deletions(-) diff --git a/pyproxy.py b/pyproxy.py index f32cdd1..0343d75 100644 --- a/pyproxy.py +++ b/pyproxy.py @@ -5,7 +5,7 @@ """ from pyproxy.server import ProxyServer -from pyproxy.utils.args import parse_args, load_config, get_config_value +from pyproxy.utils.args import parse_args, load_config, get_config_value, str_to_bool from pyproxy.utils.config import ProxyConfigLogger, ProxyConfigFilter, ProxyConfigSSL # pylint: disable=C0301,R0914 @@ -33,19 +33,19 @@ def main(): logger_config = ProxyConfigLogger( access_log=get_config_value(args, config, 'access_log', 'Logging', "logs/access.log"), block_log=get_config_value(args, config, 'block_log', 'Logging', "logs/block.log"), - no_logging_access=get_config_value(args, config, 'no_logging_access', 'Logging', False), - no_logging_block=get_config_value(args, config, 'no_logging_block', 'Logging', False) + no_logging_access=str_to_bool(get_config_value(args, config, 'no_logging_access', 'Logging', False)), + no_logging_block=str_to_bool(get_config_value(args, config, 'no_logging_block', 'Logging', False)) ) filter_config = ProxyConfigFilter( - no_filter=get_config_value(args, config, 'no_filter', 'Filtering', False), + no_filter=str_to_bool(get_config_value(args, config, 'no_filter', 'Filtering', False)), filter_mode=get_config_value(args, config, 'filter_mode', 'Filtering', "local"), blocked_sites=get_config_value(args, config, 'blocked_sites', 'Filtering', "config/blocked_sites.txt"), blocked_url=get_config_value(args, config, 'blocked_url', 'Filtering', "config/blocked_url.txt") ) ssl_config = ProxyConfigSSL( - ssl_inspect=get_config_value(args, config, 'ssl_inspect', 'Security', False), + ssl_inspect=str_to_bool(get_config_value(args, config, 'ssl_inspect', 'Security', False)), inspect_ca_cert=get_config_value(args, config, 'inspect_ca_cert', 'Security', "certs/ca/cert.pem"), inspect_ca_key=get_config_value(args, config, 'inspect_ca_key', 'Security', "certs/ca/key.pem"), inspect_certs_folder=get_config_value(args, config, 'inspect_certs_folder', 'Security', "certs/"), @@ -55,7 +55,7 @@ def main(): proxy = ProxyServer( host=host, port=port, - debug=debug, + debug=str_to_bool(debug), logger_config=logger_config, filter_config=filter_config, ssl_config=ssl_config, @@ -65,7 +65,7 @@ def main(): shortcuts=shortcuts, custom_header=custom_header, authorized_ips=authorized_ips, - proxy_enable=proxy_enable, + proxy_enable=str_to_bool(proxy_enable), proxy_host=proxy_host, proxy_port=proxy_port ) diff --git a/pyproxy/server.py b/pyproxy/server.py index e11b3e7..928906e 100644 --- a/pyproxy/server.py +++ b/pyproxy/server.py @@ -39,7 +39,8 @@ class ProxyServer: "shortcuts_proc", "shortcuts_queue", "shortcuts_result_queue", "cancel_inspect_proc", "cancel_inspect_queue", "cancel_inspect_result_queue", "custom_header_proc", "custom_header_queue", "custom_header_result_queue", - "console_logger", "access_logger", "block_logger", + "console_logger", "access_logger", "block_logger", "authorized_ips", + "active_connections" } def __init__(self, host, port, debug, logger_config, filter_config, diff --git a/pyproxy/utils/args.py b/pyproxy/utils/args.py index 1306d20..bc34759 100644 --- a/pyproxy/utils/args.py +++ b/pyproxy/utils/args.py @@ -94,3 +94,15 @@ def get_config_value(args: argparse.Namespace, config: configparser.ConfigParser return env_value return config.get(section, arg_name, fallback=fallback_value) + +def str_to_bool(value: str) -> bool: + """ + Converts a string representation of truth to a boolean value. + + Args: + value (str): The value to convert (e.g., "true", "1", "yes"). + + Returns: + bool: True if the string represents a true value, False otherwise. + """ + return str(value).lower() in ("yes", "true", "t", "1")