From 81d1a662a28e64641b778ae3ca9a82bf48371eac Mon Sep 17 00:00:00 2001 From: Matthias Date: Wed, 20 Mar 2024 07:06:24 +0100 Subject: [PATCH] Add --show-sensitive CLI option --- freqtrade/commands/arguments.py | 2 +- freqtrade/commands/build_config_commands.py | 6 ++++-- freqtrade/commands/cli_options.py | 6 ++++++ freqtrade/configuration/config_secrets.py | 5 ++++- 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/freqtrade/commands/arguments.py b/freqtrade/commands/arguments.py index f93f596fd..55c3aa586 100755 --- a/freqtrade/commands/arguments.py +++ b/freqtrade/commands/arguments.py @@ -62,7 +62,7 @@ ARGS_TEST_PAIRLIST = ["user_data_dir", "verbosity", "config", "quote_currencies" ARGS_CREATE_USERDIR = ["user_data_dir", "reset"] ARGS_BUILD_CONFIG = ["config"] -ARGS_SHOW_CONFIG = ["user_data_dir", "config"] +ARGS_SHOW_CONFIG = ["user_data_dir", "config", "show_sensitive"] ARGS_BUILD_STRATEGY = ["user_data_dir", "strategy", "template"] diff --git a/freqtrade/commands/build_config_commands.py b/freqtrade/commands/build_config_commands.py index 8d3162e5c..63862c3bf 100644 --- a/freqtrade/commands/build_config_commands.py +++ b/freqtrade/commands/build_config_commands.py @@ -276,8 +276,10 @@ def start_show_config(args: Dict[str, Any]) -> None: # TODO: Sanitize from sensitive info before printing print("Your combined configuration is:") - - config_sanitized = sanitize_config(config['original_config']) + config_sanitized = sanitize_config( + config['original_config'], + show_sensitive=args.get('show_sensitive', False) + ) from rich import print_json print_json(data=config_sanitized) diff --git a/freqtrade/commands/cli_options.py b/freqtrade/commands/cli_options.py index 4d2dcb1fe..287ab2594 100755 --- a/freqtrade/commands/cli_options.py +++ b/freqtrade/commands/cli_options.py @@ -716,4 +716,10 @@ AVAILABLE_CLI_OPTIONS = { help='Specify startup candles to be checked (`199`, `499`, `999`, `1999`).', nargs='+', ), + "show_sensitive": Arg( + '--show-sensitive', + help='Show secrets in the output.', + action='store_true', + default=False, + ), } diff --git a/freqtrade/configuration/config_secrets.py b/freqtrade/configuration/config_secrets.py index b076bfc2c..5f4de53e7 100644 --- a/freqtrade/configuration/config_secrets.py +++ b/freqtrade/configuration/config_secrets.py @@ -3,12 +3,15 @@ from freqtrade.constants import Config -def sanitize_config(config: Config) -> Config: +def sanitize_config(config: Config, *, show_sensitive: bool = False) -> Config: """ Remove sensitive information from the config. :param config: Configuration + :param show_sensitive: Show sensitive information :return: Configuration """ + if show_sensitive: + return config keys_to_remove = [ "exchange.key", "exchange.secret",