Class: Arachni::UI::CLI::Rest::Server::OptionParser

Inherits:
OptionParser show all
Defined in:
ui/cli/rest/server/option_parser.rb

Overview

Author:

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from OptionParser

#after_parse, #banner, #on, #options, #parse, #parser, #separator, #validate

Methods included from Utilities

#list_checks, #list_platforms, #list_plugins, #list_reporters, #load_profile, #print_banner, #print_issues, #save_profile

Methods included from Support::Mixins::Terminal

#clear_screen, #empty_screen, #flush, #move_to_home, #reprint, #reputs, #restr

Methods included from Arachni::Utilities

#available_port, available_port_mutex, #bytes_to_kilobytes, #bytes_to_megabytes, #caller_name, #caller_path, #cookie_decode, #cookie_encode, #cookies_from_file, #cookies_from_parser, #cookies_from_response, #exception_jail, #exclude_path?, #follow_protocol?, #form_decode, #form_encode, #forms_from_parser, #forms_from_response, #full_and_absolute_url?, #generate_token, #get_path, #hms_to_seconds, #html_decode, #html_encode, #include_path?, #links_from_parser, #links_from_response, #normalize_url, #page_from_response, #page_from_url, #parse_set_cookie, #path_in_domain?, #path_too_deep?, #port_available?, #rand_port, #random_seed, #redundant_path?, #regexp_array_match, #remove_constants, #request_parse_body, #seconds_to_hms, #skip_page?, #skip_path?, #skip_resource?, #skip_response?, #to_absolute, #uri_decode, #uri_encode, #uri_parse, #uri_parse_query, #uri_parser, #uri_rewrite

Methods included from Output

#caller_location, #debug?, #debug_level, #debug_level_1?, #debug_level_2?, #debug_level_3?, #debug_level_4?, #debug_off, #debug_on, #disable_only_positives, #error_buffer, #error_log_fd, #error_logfile, #has_error_log?, #included, #log_error, #mute, #muted?, #only_positives, #only_positives?, #print_bad, #print_debug, #print_debug_backtrace, #print_debug_exception, #print_debug_level_1, #print_debug_level_2, #print_debug_level_3, #print_debug_level_4, #print_error, #print_error_backtrace, #print_exception, #print_info, #print_line, #print_ok, #print_status, #print_verbose, #reroute_to_file, #reroute_to_file?, reset_output_options, #set_error_logfile, #unmute, #verbose?, #verbose_off, #verbose_on

Constructor Details

#initializeOptionParser

Returns a new instance of OptionParser.



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
# File 'ui/cli/rest/server/option_parser.rb', line 24

def initialize
    super

    separator 'Server'

    on( '--address ADDRESS', 'Hostname or IP address to bind to.',
        "(Default: #{options.rpc.server_address})"
    ) do |address|
        options.rpc.server_address = address
    end

    on( '--port NUMBER', 'Port to listen to.', Integer,
        "(Default: #{options.rpc.server_port})"
    ) do |port|
        options.rpc.server_port = port
    end

    separator ''
    separator 'Output'

    on( '--reroute-to-logfile',
        "Reroute scan output to log-files under: #{options.paths.logs}"
    ) do
        options.output.reroute_to_logfile = true
    end

    on( '--verbose', 'Show verbose output.',
        "(Only applicable when '--reroute-to-logfile' is enabled.)"
    ) do
        verbose_on
    end

    on( '--debug [LEVEL 1-3]', Integer, 'Show debugging information.',
        "(Only applicable when '--reroute-to-logfile' is enabled.)"
    ) do |level|
        debug_on( level || 1 )
    end

    on( '--only-positives', 'Only output positive results.',
        "(Only applicable when '--reroute-to-logfile' is enabled.)"
    ) do
        only_positives
    end

    separator ''
    separator 'Authentication'

    on( '--authentication-username USERNAME',
        'Username to use for HTTP authentication.'
    ) do |username|
        @username = username
    end

    on( '--authentication-password PASSWORD',
        'Password to use for HTTP authentication.'
    ) do |password|
        @password = password
    end

    # Puma SSL doesn't seem to be working on MS Windows.
    if !Arachni.windows?
        separator ''
        separator 'SSL'

        on( '--ssl-ca FILE',
            'Location of the CA certificate (.pem).',
            'If provided, peer verification will be enabled, otherwise no' +
                ' verification will take place.'
        ) do |file|
            options.rpc.ssl_ca = file
        end

        on( '--ssl-private-key FILE',
            'Location of the SSL private key (.pem).'
        ) do |file|
            options.rpc.server_ssl_private_key = file
        end

        on( '--ssl-certificate FILE',
            'Location of the SSL certificate (.pem).'
        ) do |file|
            options.rpc.server_ssl_certificate = file
        end
    end
end

Instance Attribute Details

#cliObject (readonly)

Returns the value of attribute cli.



20
21
22
# File 'ui/cli/rest/server/option_parser.rb', line 20

def cli
  @cli
end

#passwordObject (readonly)

Returns the value of attribute password.



22
23
24
# File 'ui/cli/rest/server/option_parser.rb', line 22

def password
  @password
end

#usernameObject (readonly)

Returns the value of attribute username.



21
22
23
# File 'ui/cli/rest/server/option_parser.rb', line 21

def username
  @username
end