Class: Mihari::Analyzers::Fofa
- Inherits:
-
Base
- Object
- Mihari::Actor
- Base
- Mihari::Analyzers::Fofa
- Defined in:
- lib/mihari/analyzers/fofa.rb
Overview
Fofa analyzer
Constant Summary
Constants included from Concerns::Retriable
Concerns::Retriable::DEFAULT_CONDITION, Concerns::Retriable::RETRIABLE_ERRORS
Instance Attribute Summary collapse
- #api_key ⇒ String? readonly
- #email ⇒ String? readonly
Attributes inherited from Base
Attributes inherited from Mihari::Actor
Instance Method Summary collapse
- #artifacts ⇒ Object
- #configured? ⇒ Boolean
-
#initialize(query, options: nil, api_key: nil, email: nil) ⇒ Fofa
constructor
A new instance of Fofa.
Methods inherited from Base
#call, from_params, #ignore_error?, inherited, #normalized_artifacts, #pagination_interval, #pagination_limit, #parallel?, #result, #truncated_query
Methods inherited from Mihari::Actor
#call, configuration_keys, key, key_aliases, keys, #result, #retry_exponential_backoff, #retry_interval, #retry_times, #timeout, type, #validate_configuration!
Methods included from Concerns::Retriable
Methods included from Concerns::Configurable
Constructor Details
#initialize(query, options: nil, api_key: nil, email: nil) ⇒ Fofa
Returns a new instance of Fofa.
21 22 23 24 25 26 |
# File 'lib/mihari/analyzers/fofa.rb', line 21 def initialize(query, options: nil, api_key: nil, email: nil) super(query, options:) @api_key = api_key || Mihari.config.fofa_api_key @email = email || Mihari.config.fofa_email end |
Instance Attribute Details
#api_key ⇒ String? (readonly)
10 11 12 |
# File 'lib/mihari/analyzers/fofa.rb', line 10 def api_key @api_key end |
#email ⇒ String? (readonly)
13 14 15 |
# File 'lib/mihari/analyzers/fofa.rb', line 13 def email @email end |
Instance Method Details
#artifacts ⇒ Object
28 29 30 31 32 |
# File 'lib/mihari/analyzers/fofa.rb', line 28 def artifacts client.search_with_pagination(query, pagination_limit:).map do |res| (res.results || []).map { |result| result[1] } end.flatten.compact end |
#configured? ⇒ Boolean
34 35 36 |
# File 'lib/mihari/analyzers/fofa.rb', line 34 def configured? api_key? && email? end |