From a63e9f1699e4042d1372c0873b05f207e2a8a8d4 Mon Sep 17 00:00:00 2001 From: Gustavo Moreira Date: Wed, 2 Oct 2024 13:00:45 +1000 Subject: [PATCH 1/2] Add --remote-isf-url argument to be able mutually exclusive to --offline --- volatility3/cli/__init__.py | 11 ++++++++++- volatility3/cli/volshell/__init__.py | 11 ++++++++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/volatility3/cli/__init__.py b/volatility3/cli/__init__.py index 1209d7cdc..674fb4b4b 100644 --- a/volatility3/cli/__init__.py +++ b/volatility3/cli/__init__.py @@ -235,12 +235,19 @@ class CommandLine: default=constants.CACHE_PATH, type=str, ) - parser.add_argument( + isf_group = parser.add_mutually_exclusive_group() + isf_group.add_argument( "--offline", help="Do not search online for additional JSON files", default=False, action="store_true", ) + isf_group.add_argument( + "--remote-isf-url", + help="Search online for ISF json files", + default=constants.REMOTE_ISF_URL, + type=str, + ) parser.add_argument( "--filters", help="List of filters to apply to the output (in the form of [+-]columname,pattern[!])", @@ -313,6 +320,8 @@ class CommandLine: if partial_args.offline: constants.OFFLINE = partial_args.offline + elif partial_args.remote_isf_url: + constants.REMOTE_ISF_URL = partial_args.remote_isf_url # Do the initialization ctx = contexts.Context() # Construct a blank context diff --git a/volatility3/cli/volshell/__init__.py b/volatility3/cli/volshell/__init__.py index 2bf1958e2..fc2f87bc2 100644 --- a/volatility3/cli/volshell/__init__.py +++ b/volatility3/cli/volshell/__init__.py @@ -159,12 +159,19 @@ class VolShell(cli.CommandLine): default=constants.CACHE_PATH, type=str, ) - parser.add_argument( + isf_group = parser.add_mutually_exclusive_group() + isf_group.add_argument( "--offline", help="Do not search online for additional JSON files", default=False, action="store_true", ) + isf_group.add_argument( + "--remote-isf-url", + help="Search online for ISF json files", + default=constants.REMOTE_ISF_URL, + type=str, + ) # Volshell specific flags os_specific = parser.add_mutually_exclusive_group(required=False) @@ -236,6 +243,8 @@ class VolShell(cli.CommandLine): if partial_args.offline: constants.OFFLINE = partial_args.offline + elif partial_args.remote_isf_url: + constants.REMOTE_ISF_URL = partial_args.remote_isf_url # Do the initialization ctx = contexts.Context() # Construct a blank context From a64813be43594d5171748c901e1c10e2c2271ed0 Mon Sep 17 00:00:00 2001 From: Gustavo Moreira Date: Wed, 2 Oct 2024 13:08:05 +1000 Subject: [PATCH 2/2] Added metavar and single letter argument to the --remote-isf-url --- volatility3/cli/__init__.py | 2 ++ volatility3/cli/volshell/__init__.py | 2 ++ 2 files changed, 4 insertions(+) diff --git a/volatility3/cli/__init__.py b/volatility3/cli/__init__.py index 674fb4b4b..50b5579af 100644 --- a/volatility3/cli/__init__.py +++ b/volatility3/cli/__init__.py @@ -243,7 +243,9 @@ class CommandLine: action="store_true", ) isf_group.add_argument( + "-u", "--remote-isf-url", + metavar="URL", help="Search online for ISF json files", default=constants.REMOTE_ISF_URL, type=str, diff --git a/volatility3/cli/volshell/__init__.py b/volatility3/cli/volshell/__init__.py index fc2f87bc2..5172c5363 100644 --- a/volatility3/cli/volshell/__init__.py +++ b/volatility3/cli/volshell/__init__.py @@ -167,7 +167,9 @@ class VolShell(cli.CommandLine): action="store_true", ) isf_group.add_argument( + "-u", "--remote-isf-url", + metavar="URL", help="Search online for ISF json files", default=constants.REMOTE_ISF_URL, type=str,